Commit b8248b67 authored by vaclav's avatar vaclav
Browse files

merge OMASA_BRATE_FIX and OMASA_BRATE_FIX_ALT into OMASA_BRATE

parent 433c2e2f
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
@@ -743,17 +743,14 @@ int32_t ivas_interformat_brate(

    return element_brate_out;
}
#endif


#ifdef OMASA_BRATE_FIX
/*---------------------------------------------------------------
 * ivas_combined_format_brate_sanity()
 *
 * Sanity check in combined format coding
 * ---------------------------------------------------------------*/

#ifdef OMASA_BRATE_FIX_ALT
void ivas_combined_format_brate_sanity(
    const int32_t element_brate, /* i  : element bitrate                */
    const int16_t core,          /* i  : core                           */
@@ -789,43 +786,5 @@ void ivas_combined_format_brate_sanity(
    return;
}

#else

void ivas_combined_format_brate_sanity(
    const int32_t element_brate, /* i  : element bitrate               */
    const int32_t brate_surplus, /* i  : surplus bitrate               */
    int16_t nb_bits_metadata[],  /* i/o: number of metadata bits       */
    const int16_t nchan_ism,     /* i  : number of objects             */
    int16_t *diff_nBits          /* o  : number of differential bits   */
)
{
    /* sanity check: at lowest IVAS bit-rates and one ISM channel coded by
    low-rate core-coder mode, it can happen that the CPE (MASA) bit-budget
    for core-coding @12.8 kHz is too high => increase the ISM low-rate mode bit-rate */

    int16_t nBits_CPE;
    nBits_CPE = (int16_t) ( element_brate / FRAMES_PER_SEC );
    nBits_CPE -= nb_bits_metadata[0];
    nBits_CPE += (int16_t) ( brate_surplus / FRAMES_PER_SEC );
    nBits_CPE -= ( WB_TBE_0k35 / FRAMES_PER_SEC );
    nBits_CPE -= nb_bits_metadata[1];
    nBits_CPE -= ( IVAS_FORMAT_SIGNALING_NBITS_SBA + 1 );
    nBits_CPE -= 10;

    *diff_nBits = 0;
    if ( nchan_ism == 1 && element_brate < ACELP_12k8_HIGH_LIMIT )
    {
        int16_t limit_high = ACELP_12k8_HIGH_LIMIT / FRAMES_PER_SEC;

        *diff_nBits = nBits_CPE - limit_high;
        if ( *diff_nBits > 0 )
        {
            nb_bits_metadata[0] += *diff_nBits;
        }
    }

    return;
}
#endif
#endif
#endif
+0 −13
Original line number Diff line number Diff line
@@ -5181,24 +5181,12 @@ int32_t ivas_interformat_brate(
    const int16_t ism_imp                                       /* i  : ISM importance flag                     */
);

#ifdef OMASA_BRATE_FIX
#ifdef OMASA_BRATE_FIX_ALT
void ivas_combined_format_brate_sanity(
    const int32_t element_brate,                                /* i  : element bitrate                         */
    const int16_t core,                                         /* i  : core                                    */
    int32_t *core_brate,                                        /* i/o: core bitrate                            */
    int16_t *diff_nBits                                         /* o  : number of differential bits             */
);
#else
void ivas_combined_format_brate_sanity(
    const int32_t element_brate,                                /* i  : element bitrate                         */
    const int32_t brate_surplus,                                /* i  : surplus bitrate                         */
    int16_t nb_bits_metadata[],                                 /* i/o: number of metadata bits                 */
    const int16_t nchan_ism,                                    /* i  : number of objects                       */
    int16_t *diff_nBits                                         /* o  : number of differential bits             */
);
#endif
#endif
#endif

ISM_MODE ivas_omasa_ism_mode_select(
@@ -5218,7 +5206,6 @@ void ivas_masa_ism_data_open(
    Decoder_Struct* st_ivas                                     /* i/o: IVAS decoder handle                     */
);


void preProcessStereoTransportsForMovedObjects(
    Decoder_Struct* st_ivas,
    float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
+2 −2
Original line number Diff line number Diff line
@@ -2786,13 +2786,13 @@ int32_t sep_object_brate[][MAX_NUM_OBJECTS] =
    {0, 0, 0, 0},                                  /* 13k2 */
    {0, 0, 0, 0},                                  /* 16k4 */
    {9600, 0, 0, 0},                               /* 24k4 */
#ifdef OMASA_BRATE_FIX
#ifdef OMASA_BRATE
    {11000, 0, 0, 0},                              /* 32k  */
#else
    {9600, 0, 0, 0},                               /* 32k  */
#endif
    {IVAS_13k2, 0, 0, 0},                          /* 48k  */
#ifdef OMASA_BRATE_FIX
#ifdef OMASA_BRATE
    {16000,     12000, 0, 0},                      /* 64k  */
#else
    {16000,     IVAS_13k2, 0, 0},                  /* 64k  */
+1 −3
Original line number Diff line number Diff line
@@ -163,9 +163,7 @@

#define MASA_AND_OBJECTS_VE // VA: improve codec print-outs
#define OMASA_BRATE /* VA: combined format bit-budget distribution */
#define OMASA_BRATE_FIX // fix at lowest bitrates and 1 inactive ISM - more verification/tuning needed
#define OMASA_BRATE_FIX_ALT
#define OMASA_BRATE_TD // support of bitrate adaptation in TD stereo - work in progress
#define OMASA_BRATE_TD // support of bitrate adaptation in TD stereo
#define DEBUG_VA // output 'res/brate_ism' and 'res_brate_masa' bit-rates debugging files

#endif
+1 −1
Original line number Diff line number Diff line
@@ -1040,7 +1040,7 @@ 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
#ifdef OMASA_BRATE // VE: !!!!! this breaks BE in pure ISM
#ifdef OMASA_BRATE // VE: !!!!! this breaks BE in pure ISM unless FIX_299_ISM_BWS is activated
              && st->last_core_brate != 2450
#endif
    )
Loading