diff --git a/apps/decoder.c b/apps/decoder.c index 628f61917afd6a1128c81aa70675a5c52a32013f..a812a2a133cfa5b8bafb170fb1291c8926b14274 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1681,6 +1681,18 @@ static bool parseCmdlIVAS_dec( return false; } +#ifdef SUPPORT_JBM_TRACEFILE + /* Validate options that depend on other options */ + if ( arg->jbmTraceFilename != NULL && arg->delayCompensationEnabled + /* This decMode check should be removed once timestamp sync issues between JBM trace and audio are fixed in EVS */ + && arg->decMode != IVAS_DEC_MODE_EVS ) + { + fprintf( stderr, "Error: Writing to a JBM trace file requires delay compensation to be disabled with -no_delay_cmp\n\n" ); + usage_dec(); + return false; + } +#endif + return true; } @@ -1717,7 +1729,8 @@ static void usage_dec( void ) fprintf( stdout, " EVS RTP Payload Format. The SDP parameter hf_only is required.\n" ); fprintf( stdout, " Reading RFC4867 AMR/AMR-WB RTP payload format is not supported.\n" ); #ifdef SUPPORT_JBM_TRACEFILE - fprintf( stdout, "-Tracefile TF : VoIP mode: Generate trace file named TF\n" ); + fprintf( stdout, "-Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to\n" ); + fprintf( stdout, " be enabled so that trace contents remain in sync with audio output.\n" ); #endif #ifdef DEBUGGING #ifdef VARIABLE_SPEED_DECODING diff --git a/lib_com/options.h b/lib_com/options.h index d0cd5d1599bd560b5edda0826f4145df8ad26f19..e8a517733546321ba59ce88ec4a75d5b0e4d3008 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -146,6 +146,7 @@ #endif /* DEBUGGING */ /*#define DISABLE_LIMITER*/ /* disable the limiter - needed for testing Bitexactness between different renderer framings */ +/*#define DEBUG_APA_SILENCE_NON_SCALED*/ /* Switch APA into mode that replaces contents of non-scaled frames with silence. Useful for identifying scaled regions in the audio output of the decoder */ /* #################### End DEBUGGING switches ############################ */ diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 3305a1e48d6601bb5489d3f38a23c27e0ba00f66..e2555a234e176437c7e5e675c7381408e4686f92 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -725,6 +725,17 @@ uint8_t apa_exec( ps->nFramesSinceSetScale >>= statsResetShift; } +#ifdef DEBUG_APA_SILENCE_NON_SCALED + if ( l_in == *l_out ) + { + set_zero( a_out, *l_out ); + } + else + { + set_f( a_out, (float) INT16_MAX, *l_out ); + } +#endif + return 0; } diff --git a/readme.txt b/readme.txt index f54b6b86355ac4e32f8ea8aef3de6e8f91c2a080..04d6c5a49736893cafc5a56fecc9fe3f22fada7d 100644 --- a/readme.txt +++ b/readme.txt @@ -279,7 +279,8 @@ Options: The decoder may read rtpdump files containing TS26.445 Annex A.2.2 EVS RTP Payload Format. The SDP parameter hf_only is required. Reading RFC4867 AMR/AMR-WB RTP payload format is not supported. --Tracefile TF : VoIP mode: Generate trace file named TF +-Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to + be enabled so that trace contents remain in sync with audio output. -fec_cfg_file : Optimal channel aware configuration computed by the JBM as described in Section 6.3.1 of TS26.448. The output is written into a .txt file. Each line contains the FER indicator