Commit 15e944dd authored by vaclav's avatar vaclav
Browse files

issue 299 - fix Band-width switching issues in ISM format; under FIX_299_ISM_BWS

parent 5500e3f9
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -156,6 +156,8 @@
#define FIX_293_EXT_RENDERER_CLI                        /* FhG: Fix bugs in external renderer CLI */
#define FIX_268                                         /* Issue 268: Add low cost dry-run of memory analysis */
#define LOW_RATE_TRANS_FIX                              /* Eri: Fix for critical item during transitions */
#define FIX_299_ISM_BWS                                 /* VA: issue 299 - fix Band-width switching issues in ISM format */


/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+5 −1
Original line number Diff line number Diff line
@@ -1039,7 +1039,11 @@ void bandwidth_switching_detect(
    {
        st->bws_cnt1 = 0;
    }
    else if ( st->total_brate > ACELP_9k60 && st->last_core_brate < ACELP_9k60 && st->bwidth == SWB && st->last_bwidth == WB )
    else if ( st->total_brate > ACELP_9k60 && st->last_core_brate < ACELP_9k60 && st->bwidth == SWB && st->last_bwidth == WB
#ifdef FIX_299_ISM_BWS
              && st->last_low_rate_mode == 0
#endif
    )
    {
        st->bws_cnt1++;
    }
+3 −0
Original line number Diff line number Diff line
@@ -107,6 +107,9 @@ ivas_error init_decoder(
    st->last_good = UNVOICED_CLAS;
    st->clas_dec = UNVOICED_CLAS;
    st->low_rate_mode = 0;
#ifdef FIX_299_ISM_BWS
    st->last_low_rate_mode = 0;
#endif

    st->lp_gainp = 0.0f;
    st->lp_gainc = 0.0f;
+3 −0
Original line number Diff line number Diff line
@@ -934,6 +934,9 @@ typedef struct Decoder_State
    int16_t ini_frame;               /* initialization frames counter */
    int16_t prev_coder_type;         /* coding type of last frame */
    int16_t low_rate_mode;           /* low-rate mode flag */
#ifdef FIX_299_ISM_BWS
    int16_t last_low_rate_mode; /* previous frame low-rate mode flag */
#endif

    /*----------------------------------------------------------------------------------*
     * ACELP core parameters
+2 −0
Original line number Diff line number Diff line
@@ -647,6 +647,8 @@ void updt_dec_common(
        st->last_bits_frame_nominal = st->bits_frame_nominal;
    }

    st->last_low_rate_mode = st->low_rate_mode;

    /*-----------------------------------------------------------------*
     * Increase the counter of initialization frames
     * Limit the max number of init. frames