Commit baa47b2b authored by vaclav's avatar vaclav
Browse files

issue 529: fix Bandwidth Detector not working reliably for Music and Generic...

issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio; under FIX_529_BWD_ISSUE
parent 830ab066
Loading
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -211,6 +211,9 @@ ivas_error pre_proc_front_ivas(
    const int16_t front_vad_flag,                               /* i  : front-VAD flag to overwrite VAD decision   */
    const int16_t force_front_vad,                              /* i  : flag to force VAD decision                 */
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
#ifdef FIX_529_BWD_ISSUE
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                                */
#endif
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                         */
);

+1 −0
Original line number Diff line number Diff line
@@ -237,6 +237,7 @@
#define ENHANCED_STEREO_DMX                             /* Orange : Contribution 48 - Enhanced stereo downmix. */

#define BINAURAL_AUDIO_CMDLINE
#define FIX_529_BWD_ISSUE                               /* VA: issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+5 −3
Original line number Diff line number Diff line
@@ -3877,8 +3877,10 @@ void bw_detect(
    Encoder_State *st,       /* i/o: Encoder State                               */
    const float signal_in[], /* i  : input signal                                */
    float *spectrum,         /* i  : MDCT spectrum                               */
    const float *enerBuffer  /* i  : energy buffer                               */
    ,
    const float *enerBuffer, /* i  : energy buffer                               */
#ifdef FIX_529_BWD_ISSUE
    const IVAS_FORMAT ivas_format, /* i  : IVAS format                                 */
#endif
    const int16_t mct_on /* i  : flag MCT mode                               */
);

+5 −2
Original line number Diff line number Diff line
@@ -342,8 +342,11 @@ void amr_wb_enc(
     * WB, SWB and FB bandwidth detector
     *----------------------------------------------------------------*/

    bw_detect( st, st->input, NULL, NULL,
               0 );
#ifdef FIX_529_BWD_ISSUE
    bw_detect( st, st->input, NULL, NULL, MONO_FORMAT, 0 );
#else
    bw_detect( st, st->input, NULL, NULL, 0 );
#endif

    /* in AMR_WB IO, limit the maximum band-width to WB */
    if ( st->bwidth > WB )
+10 −3
Original line number Diff line number Diff line
@@ -71,8 +71,10 @@ void bw_detect(
    Encoder_State *st,       /* i/o: Encoder State       */
    const float signal_in[], /* i  : input signal        */
    float *spectrum,         /* i  : MDCT spectrum       */
    const float *enerBuffer  /* i  : energy buffer       */
    ,
    const float *enerBuffer, /* i  : energy buffer       */
#ifdef FIX_529_BWD_ISSUE
    const IVAS_FORMAT ivas_format, /* i  : IVAS format         */
#endif
    const int16_t mct_on /* i  : flag MCT mode       */
)
{
@@ -86,7 +88,12 @@ void bw_detect(
    int16_t bwd_count_wider_bw, l_frame;

    bwd_count_wider_bw = BWD_COUNT_WIDER_BW;
#ifdef FIX_529_BWD_ISSUE
    if ( ( st->element_mode == IVAS_CPE_MDCT && ( st->element_brate >= IVAS_64k || mct_on ) ) ||
         ( ivas_format == ISM_FORMAT && st->element_brate >= IVAS_48k ) )
#else
    if ( st->element_mode == IVAS_CPE_MDCT && ( st->element_brate > IVAS_64k || mct_on ) )
#endif
    {
        bwd_count_wider_bw = BWD_COUNT_WIDER_BW_MDCT;
    }
Loading