Commit 94987666 authored by multrus's avatar multrus
Browse files

Merge branch 'deprecate_BASOP_Util_Divide3232_Scale_cadence' into 'main'

[non-BE][rend-non-BE][split-non-BE][allow-regression] Disable BASOP_Util_Divide3232_Scale_cadence()

See merge request !1444
parents 27aa6a12 23b88486
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -987,6 +987,7 @@ Word32 div_w( Word32 L_num, Word32 L_den )
    }
}

#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s )
{
    Word32 z;
@@ -1038,6 +1039,7 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s )

    return z;
}
#endif

Word32 div_w_newton( Word32 num, Word32 den );
/*
+2 −0
Original line number Diff line number Diff line
@@ -328,9 +328,11 @@ Word16 BASOP_Util_Divide3232_Scale( Word32 x, /*!< i : Numerator*/
                                    Word32 y,    /*!< i  : Denominator*/
                                    Word16 *s ); /*!< o  : Additional scalefactor difference*/

#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x,    /*!< i  : Numerator*/
                                            Word32 y,    /*!< i  : Denominator*/
                                            Word16 *s ); /*!< o  : Additional scalefactor difference*/
#endif


Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x,    /*!< i  : Numerator*/
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@
#endif

/* ################### Start FIXES switches ########################### */
#define REMOVE_BASOP_Util_Divide3232_Scale_cadence           /* remove this division variant */
#define FIX_1990_SANITIZER_IN_REVERB_LOAD                    /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */
#define FIX_1999_TEMPORARY_DISABLE_DIST_ATT_CHECK            /* Eri: Issue 1999: Range check on float values of distance attenuation, while the float values are not propagated to this function. The test is not correct, but configurable distance attenuation is not used in Characterization.*/
#define TEMP_FIX_2088_MSAN_INIT_ERROR                        /* Eri: Temporary fix for Issue 2088 - MSAN error. Will come with later port of JBM+Split rendering update */
+16 −0
Original line number Diff line number Diff line
@@ -3034,7 +3034,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural(
        // target_md_bits = isar_get_split_rend_md_target_brate( SplitRendBitRate, pcm_out_flag ) * L_FRAME48k / 48000;
        target_md_bits = W_extract_l( W_mult0_32_32( isar_get_split_rend_md_target_brate( SplitRendBitRate, pcm_out_flag ), L_FRAME48k ) );
        tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
        tmp_32 = BASOP_Util_Divide3232_Scale_cadence( target_md_bits, 48000, &tmp_e );
#else
        tmp_32 = BASOP_Util_Divide3232_Scale_newton( target_md_bits, 48000, &tmp_e );
#endif
        target_md_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0

        /*scaling to max Q*/
@@ -3090,7 +3094,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural(
            // available_bits = ( SplitRendBitRate * hSplitBin->hSplitBinLCLDEnc->iNumBlocks * hSplitBin->hSplitBinLCLDEnc->iNumIterations ) / ( 16 * FRAMES_PER_SEC );
            available_bits = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) );
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#endif
            available_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
            available_bits = L_sub( available_bits, pBits->bits_written );
            pBits->codec_frame_size_ms = codec_frame_size_ms;
@@ -3149,7 +3157,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural(

            bit_len = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) );
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#endif
            bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
        }
        ELSE
@@ -3160,7 +3172,11 @@ ivas_error isar_renderMultiTDBinToSplitBinaural(
                                                                   // bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000;
                                                                   // bit_len = SplitRendBitRate * bit_len / 1000;
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e );
#endif
            bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
        }
    }
+12 −0
Original line number Diff line number Diff line
@@ -381,7 +381,11 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural(
            // available_bits = ( SplitRendBitRate * hSplitBin->hSplitBinLCLDEnc->iNumBlocks * hSplitBin->hSplitBinLCLDEnc->iNumIterations ) / ( 16 * FRAMES_PER_SEC );
            available_bits = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) );
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#endif
            available_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
            available_bits = L_sub( available_bits, pBits->bits_written );
            pBits->codec_frame_size_ms = codec_frame_size_ms;
@@ -566,7 +570,11 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural(

            bit_len = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) );
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e );
#endif
            bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
        }
        ELSE
@@ -577,7 +585,11 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural(
                                                                   // bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000;
                                                                   // bit_len = SplitRendBitRate * bit_len / 1000;
            tmp_e = 0;
#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
            tmp_32 = BASOP_Util_Divide3232_Scale_cadence( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e );
#else
            tmp_32 = BASOP_Util_Divide3232_Scale_newton( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e );
#endif
            bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0
        }
    }
Loading