diff --git a/apps/decoder.c b/apps/decoder.c index ac73553e7f0816edd6bd0dd0b7086f8f723b6aac..5221ec6281b31839bdffbab23f4de4387487157c 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1468,6 +1468,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; } @@ -1504,7 +1516,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 fprintf( stdout, "-fr L : render frame size in ms L=(5,10,20), default is 20)\n" ); fprintf( stdout, "-fec_cfg_file : Optimal channel aware configuration computed by the JBM \n" ); diff --git a/lib_com/options.h b/lib_com/options.h index 181fc48743af514ff52538e6d989500fe2918770..c164c192e44d66bd3ad3a4872a83bb760a482b1a 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -64,6 +64,7 @@ #endif /*#define DISABLE_LIMITER*/ +/*#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_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c index d68e7312f5a167e50d8cd6adb6fcad36ce562b56..bf853c7c5ae8c4348dc98bb2bad401a94718a257 100644 --- a/lib_dec/jbm_pcmdsp_apa_fx.c +++ b/lib_dec/jbm_pcmdsp_apa_fx.c @@ -882,6 +882,17 @@ UWord8 apa_exec_fx( move32(); } +#ifdef DEBUG_APA_SILENCE_NON_SCALED + IF( l_in == *l_out ) + { + set_s( a_out, 0, *l_out ); + } + ELSE + { + set_s( a_out, INT16_MAX, *l_out ); + } +#endif + return 0; } diff --git a/readme.txt b/readme.txt index a953fe91d2bd255de45c45d64c7ec58371ad1d1d..391e0a35fdf97a3b3c1c9304e0d9a0b9a12aa88d 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