From 03b8d839360c93e555b611ea9d720353b9c2b801 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 1 Jun 2023 12:10:19 +0200 Subject: [PATCH 1/6] address todo comments in fd_cng_enc --- lib_com/options.h | 2 ++ lib_enc/fd_cng_enc.c | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 42d6a6a471..636ec0192a 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -228,6 +228,8 @@ #define FIX_510 /* FhG: fix issue 510, misleading error message for invalid input format */ #define FIX_509 /* FhG: fix issue 509, too low number of bitsream indices in SBA */ +#define FIX_TODO_FD_CNG_SBA_CLEANUP + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index 3ac5b8d690..8d89d3fa5b 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -1275,12 +1275,19 @@ void FdCngEncodeDiracMDCTStereoSID( lr_out_ptr[ch] = &sts[ch]->hFdCngEnc->hFdCngCom->sidNoiseEst[0]; } set_f( weights, 1.f, NPART ); +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + assert ( N[0] == N[1] ); +#endif /* apply log and save energy of original left and right channels */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { E[ch] = 0.0f; - for ( p = 0; p < NPART; p++ ) /* TBD Note: NPART should likely be N[ch] if N[ch] may change */ +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + for ( p = 0; p < N[ch]; p++ ) +#else + for ( p = 0; p < NPART; p++ ) +#endif { ms_ptr[ch][p] = 10.f * log10f( lr_in_ptr[ch][p] + EPSILON ); E[ch] += ms_ptr[ch][p]; @@ -1288,10 +1295,15 @@ void FdCngEncodeDiracMDCTStereoSID( } /* M/S transform on log envelopes */ - convertToMS( NPART, ms_ptr[0], ms_ptr[1], 0.5f ); /* TBD Note: NPART should likely be N[0] if N[0] may change */ +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + convertToMS( N[0], ms_ptr[0], ms_ptr[1], 0.5f ); - E[0] = sum_f( ms_ptr[0], NPART ); /* TBD Note: NPART should likely be N[0] if N[0] may change */ + E[0] = sum_f( ms_ptr[0], N[0] ); +#else + convertToMS( NPART, ms_ptr[0], ms_ptr[1], 0.5f ); + E[0] = sum_f( ms_ptr[0], NPART ); +#endif /* Quantize M noise shape */ /* Normalize MSVQ input */ @@ -1326,7 +1338,11 @@ void FdCngEncodeDiracMDCTStereoSID( set_zero( ms_ptr[1], NPART ); /* compute M gain */ - gain[0] = sum_f( ms_ptr[0], NPART ); /* TBD Note: NPART should likely be N[0] if N[0] may change */ +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + gain[0] = sum_f( ms_ptr[0], N[0] ); +#else + gain[0] = sum_f( ms_ptr[0], NPART ); +#endif gain[0] = ( E[0] - gain[0] ) / (float) N[0]; apply_scale( &gain[0], sts[0]->hFdCngEnc->hFdCngCom->CngBandwidth, sts[0]->hDtxEnc->last_active_brate, scaleTableStereo, SIZE_SCALE_TABLE_STEREO ); @@ -1338,7 +1354,11 @@ void FdCngEncodeDiracMDCTStereoSID( gain[1] = gain[0]; /* undo M/S */ - convertToMS( NPART, ms_ptr[0], ms_ptr[1], 1.0f ); /* TBD Note: NPART should likely be N[0] if N[0] may change */ +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + convertToMS( NPART, ms_ptr[0], ms_ptr[1], 1.0f ); +#else + convertToMS( N[0], ms_ptr[0], ms_ptr[1], 1.0f ); +#endif /* restore channel noise envelopes */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) @@ -1346,7 +1366,11 @@ void FdCngEncodeDiracMDCTStereoSID( HANDLE_FD_CNG_ENC hFdCngEnc = sts[ch]->hFdCngEnc; HANDLE_FD_CNG_COM hFdCngCom = hFdCngEnc->hFdCngCom; - for ( p = 0; p < NPART; p++ ) /* TBD Note: NPART should likely be N[0] if N[0] may change */ +#ifdef FIX_TODO_FD_CNG_SBA_CLEANUP + for ( p = 0; p < N[0]; p++ ) +#else + for ( p = 0; p < NPART; p++ ) +#endif { lr_out_ptr[ch][p] = powf( 10.f, ( ms_ptr[ch][p] + gain[ch] ) / 10.f ); } -- GitLab From b533ea3d5d7be23a7a17dc71735f853f630d0e3f Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 1 Jun 2023 12:37:35 +0200 Subject: [PATCH 2/6] fix merge artifact caused by git mistake --- lib_enc/fd_cng_enc.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index db90e65b20..8d89d3fa5b 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -1283,15 +1283,11 @@ void FdCngEncodeDiracMDCTStereoSID( for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { E[ch] = 0.0f; -<<<<<<< HEAD #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP for ( p = 0; p < N[ch]; p++ ) #else for ( p = 0; p < NPART; p++ ) #endif -======= - for ( p = 0; p < NPART; p++ ) /* TODO Note: NPART should likely be N[ch] if N[ch] may change */ ->>>>>>> main { ms_ptr[ch][p] = 10.f * log10f( lr_in_ptr[ch][p] + EPSILON ); E[ch] += ms_ptr[ch][p]; @@ -1299,18 +1295,12 @@ void FdCngEncodeDiracMDCTStereoSID( } /* M/S transform on log envelopes */ -<<<<<<< HEAD #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP convertToMS( N[0], ms_ptr[0], ms_ptr[1], 0.5f ); E[0] = sum_f( ms_ptr[0], N[0] ); #else convertToMS( NPART, ms_ptr[0], ms_ptr[1], 0.5f ); -======= - convertToMS( NPART, ms_ptr[0], ms_ptr[1], 0.5f ); /* TODO Note: NPART should likely be N[0] if N[0] may change */ - - E[0] = sum_f( ms_ptr[0], NPART ); /* TODO Note: NPART should likely be N[0] if N[0] may change */ ->>>>>>> main E[0] = sum_f( ms_ptr[0], NPART ); #endif @@ -1348,15 +1338,11 @@ void FdCngEncodeDiracMDCTStereoSID( set_zero( ms_ptr[1], NPART ); /* compute M gain */ -<<<<<<< HEAD #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP gain[0] = sum_f( ms_ptr[0], N[0] ); #else gain[0] = sum_f( ms_ptr[0], NPART ); #endif -======= - gain[0] = sum_f( ms_ptr[0], NPART ); /* TODO Note: NPART should likely be N[0] if N[0] may change */ ->>>>>>> main gain[0] = ( E[0] - gain[0] ) / (float) N[0]; apply_scale( &gain[0], sts[0]->hFdCngEnc->hFdCngCom->CngBandwidth, sts[0]->hDtxEnc->last_active_brate, scaleTableStereo, SIZE_SCALE_TABLE_STEREO ); @@ -1368,15 +1354,11 @@ void FdCngEncodeDiracMDCTStereoSID( gain[1] = gain[0]; /* undo M/S */ -<<<<<<< HEAD #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP convertToMS( NPART, ms_ptr[0], ms_ptr[1], 1.0f ); #else convertToMS( N[0], ms_ptr[0], ms_ptr[1], 1.0f ); #endif -======= - convertToMS( NPART, ms_ptr[0], ms_ptr[1], 1.0f ); /* TODO Note: NPART should likely be N[0] if N[0] may change */ ->>>>>>> main /* restore channel noise envelopes */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) @@ -1384,15 +1366,11 @@ void FdCngEncodeDiracMDCTStereoSID( HANDLE_FD_CNG_ENC hFdCngEnc = sts[ch]->hFdCngEnc; HANDLE_FD_CNG_COM hFdCngCom = hFdCngEnc->hFdCngCom; -<<<<<<< HEAD #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP for ( p = 0; p < N[0]; p++ ) #else for ( p = 0; p < NPART; p++ ) #endif -======= - for ( p = 0; p < NPART; p++ ) /* TODO Note: NPART should likely be N[0] if N[0] may change */ ->>>>>>> main { lr_out_ptr[ch][p] = powf( 10.f, ( ms_ptr[ch][p] + gain[ch] ) / 10.f ); } -- GitLab From e4bcc03e839684e709a4bb278261c1144c99e854 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 1 Jun 2023 12:42:37 +0200 Subject: [PATCH 3/6] wrap asserts in DEBUGGING --- lib_enc/fd_cng_enc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index 8d89d3fa5b..5adab25943 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -1034,7 +1034,9 @@ void FdCngEncodeMDCTStereoSID( ms_ptr[ch] = &logNoiseEst[ch][0]; lr_out_ptr[ch] = &sts[ch]->hFdCngEnc->hFdCngCom->sidNoiseEst[0]; } +#ifdef DEBUGGING assert( sts[0]->hFdCngEnc->npartDec == sts[1]->hFdCngEnc->npartDec ); +#endif N = sts[0]->hFdCngEnc->npartDec; set_f( weights, 1.f, NPART ); @@ -1276,7 +1278,9 @@ void FdCngEncodeDiracMDCTStereoSID( } set_f( weights, 1.f, NPART ); #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP +#ifdef DEBUGGING assert ( N[0] == N[1] ); +#endif #endif /* apply log and save energy of original left and right channels */ -- GitLab From 2f37c2290f697c0aaebd26d87198302c190f5a80 Mon Sep 17 00:00:00 2001 From: kiene Date: Thu, 1 Jun 2023 16:23:20 +0200 Subject: [PATCH 4/6] use correct files in config for sidstart test --- scripts/config/ci_linux_sidstart_test.json | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/scripts/config/ci_linux_sidstart_test.json b/scripts/config/ci_linux_sidstart_test.json index 3436d9eaea..be3915efd8 100644 --- a/scripts/config/ci_linux_sidstart_test.json +++ b/scripts/config/ci_linux_sidstart_test.json @@ -2,24 +2,24 @@ "afspPath": "not_needed", "utilPath": "/tools", "inpaths": { - "MONO": "/usr/local/testv/test_mono.wav", - "STEREO": "/usr/local/testv/test_stereo.wav", + "MONO": "/usr/local/testv/stv48n.wav", + "STEREO": "/usr/local/testv/stvST48n.wav", "FOA": "/usr/local/ltv/ltv48_FOA.wav", "HOA2": "/usr/local/ltv/ltv48_HOA2.wav", "HOA3": "/usr/local/ltv/ltv48_HOA3.wav", "SBA": "/usr/local/ltv/ltv48_HOA3.wav", - "MASA1TC1DIR": "/usr/local/testv/test_MASA_1dir1TC.wav", - "MASA1TC2DIR": "/usr/local/testv/test_MASA_2dir1TC.wav", - "MASA2TC1DIR": "/usr/local/testv/test_MASA_1dir2TC.wav", - "MASA2TC2DIR": "/usr/local/testv/test_MASA_2dir2TC.wav", - "5_1": "/usr/local/testv/test_MC51.wav", - "5_1_2": "/usr/local/testv/test_MC51p2.wav", - "5_1_4": "/usr/local/testv/test_MC51p4.wav", - "7_1": "/usr/local/testv/test_MC71.wav", - "7_1_4": "/usr/local/testv/test_MC71p4.wav", - "ISM1": "/usr/local/testv/test_mono.wav", - "ISM2": "/usr/local/testv/test_ISM_2obj.wav", - "ISM3": "/usr/local/testv/test_ISM_3obj.wav", - "ISM4": "/usr/local/testv/test_ISM_4obj.wav" + "MASA1TC1DIR": "/usr/local/testv/stv1MASA1TC48n.wav", + "MASA1TC2DIR": "/usr/local/testv/stv2MASA1TC48c.wav", + "MASA2TC1DIR": "/usr/local/testv/stv1MASA2TC48n.wav", + "MASA2TC2DIR": "/usr/local/testv/stv2MASA2TC48c.wav", + "5_1": "/usr/local/testv/stv51MC48c.wav", + "5_1_2": "/usr/local/testv/stv512MC48c.wav", + "5_1_4": "/usr/local/testv/stv514MC48c.wav", + "7_1": "/usr/local/testv/stv71MC48c.wav", + "7_1_4": "/usr/local/testv/stv714MC48c.wav", + "ISM1": "/usr/local/testv/stv1ISM48s.wav", + "ISM2": "/usr/local/testv/stv2ISM48s.wav", + "ISM3": "/usr/local/testv/stv3ISM48s.wav", + "ISM4": "/usr/local/testv/stv4ISM48s.wav" } } -- GitLab From c508d9a83dfbf21ccd6350ad9e82404ced03a093 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 2 Jun 2023 17:41:39 +0200 Subject: [PATCH 5/6] Revert "use correct files in config for sidstart test" should come in with respective branch This reverts commit 2f37c2290f697c0aaebd26d87198302c190f5a80. --- scripts/config/ci_linux_sidstart_test.json | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/scripts/config/ci_linux_sidstart_test.json b/scripts/config/ci_linux_sidstart_test.json index be3915efd8..3436d9eaea 100644 --- a/scripts/config/ci_linux_sidstart_test.json +++ b/scripts/config/ci_linux_sidstart_test.json @@ -2,24 +2,24 @@ "afspPath": "not_needed", "utilPath": "/tools", "inpaths": { - "MONO": "/usr/local/testv/stv48n.wav", - "STEREO": "/usr/local/testv/stvST48n.wav", + "MONO": "/usr/local/testv/test_mono.wav", + "STEREO": "/usr/local/testv/test_stereo.wav", "FOA": "/usr/local/ltv/ltv48_FOA.wav", "HOA2": "/usr/local/ltv/ltv48_HOA2.wav", "HOA3": "/usr/local/ltv/ltv48_HOA3.wav", "SBA": "/usr/local/ltv/ltv48_HOA3.wav", - "MASA1TC1DIR": "/usr/local/testv/stv1MASA1TC48n.wav", - "MASA1TC2DIR": "/usr/local/testv/stv2MASA1TC48c.wav", - "MASA2TC1DIR": "/usr/local/testv/stv1MASA2TC48n.wav", - "MASA2TC2DIR": "/usr/local/testv/stv2MASA2TC48c.wav", - "5_1": "/usr/local/testv/stv51MC48c.wav", - "5_1_2": "/usr/local/testv/stv512MC48c.wav", - "5_1_4": "/usr/local/testv/stv514MC48c.wav", - "7_1": "/usr/local/testv/stv71MC48c.wav", - "7_1_4": "/usr/local/testv/stv714MC48c.wav", - "ISM1": "/usr/local/testv/stv1ISM48s.wav", - "ISM2": "/usr/local/testv/stv2ISM48s.wav", - "ISM3": "/usr/local/testv/stv3ISM48s.wav", - "ISM4": "/usr/local/testv/stv4ISM48s.wav" + "MASA1TC1DIR": "/usr/local/testv/test_MASA_1dir1TC.wav", + "MASA1TC2DIR": "/usr/local/testv/test_MASA_2dir1TC.wav", + "MASA2TC1DIR": "/usr/local/testv/test_MASA_1dir2TC.wav", + "MASA2TC2DIR": "/usr/local/testv/test_MASA_2dir2TC.wav", + "5_1": "/usr/local/testv/test_MC51.wav", + "5_1_2": "/usr/local/testv/test_MC51p2.wav", + "5_1_4": "/usr/local/testv/test_MC51p4.wav", + "7_1": "/usr/local/testv/test_MC71.wav", + "7_1_4": "/usr/local/testv/test_MC71p4.wav", + "ISM1": "/usr/local/testv/test_mono.wav", + "ISM2": "/usr/local/testv/test_ISM_2obj.wav", + "ISM3": "/usr/local/testv/test_ISM_3obj.wav", + "ISM4": "/usr/local/testv/test_ISM_4obj.wav" } } -- GitLab From 3d2fdefe3076a867194a8de5b1bc35fdd884fb21 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 2 Jun 2023 17:54:18 +0200 Subject: [PATCH 6/6] run clang-format --- lib_enc/fd_cng_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index 5adab25943..647370ddfe 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -1279,7 +1279,7 @@ void FdCngEncodeDiracMDCTStereoSID( set_f( weights, 1.f, NPART ); #ifdef FIX_TODO_FD_CNG_SBA_CLEANUP #ifdef DEBUGGING - assert ( N[0] == N[1] ); + assert( N[0] == N[1] ); #endif #endif -- GitLab