Commit c0e2846c authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into basop-2284-Add_asserts_log_functions

parents 78bfb348 34d54e85
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2731,7 +2731,11 @@ extern const Word16 Idx2Freq_Tbl[];
/* 'x' is converted to Q6, 'Freq_Tbl'/1000 in Q9 */
/* only works for 'fs' = [8000,12800,16000,25600,32000,48000] (unpredictable otherwise) */
/* 15625 is 1000000.0f/Q6 but we use the calculated value to avoid float point code */
#ifdef FIX_2286_GCC_WARNING_Idx2Freq_Tbl
#define NS2SA_FX2(fs,x)                         (chk_fs(fs) mult(Idx2Freq_Tbl[L_and(L_shr(fs,8),7)-2], (Word16)((x)/15625)))
#else
#define NS2SA_FX2(fs,x)                         (chk_fs(fs) mult((&Idx2Freq_Tbl[-2])[L_and(L_shr(fs,8),7)], (Word16)((x)/15625)))
#endif

#define L_FRAME_12k8                            256     /* Frame size at 12k8Hz: 20ms = 256 samples  */
#define L_FRAME_16k                             320     /* Frame size at 16kHz:  20ms = 320 samples  */
+9 −0
Original line number Diff line number Diff line
@@ -90,6 +90,15 @@
#define FIX_2248_EVS_ASSERT                             /* VA: Include _sat in an EVS related part of the code */
#define FIX_2254_IMPROV_COMPLEXITY_BE                   /* VA: BE small complexity reduction  */
#define FIX_2284_ADD_ASSERT_LOG                         /* FhG: add asserts to Log2_norm_lc() and log10_fx() */
#define FIX_2286_GCC_WARNING_Idx2Freq_Tbl               /* FhG: Fix compiler warning for OOB access of Idx2Freq_Tbl[] */
#define FIX_CLANG18_MSAN_IN_DEC_INIT_BY_MOVING_COMMON_INITS_TOGETHER /* FhG: fix CLANG18 MSAN error in decoder init */
#define FIX_1481_CLANG18_MSAN_INIT_LAST_ELEM_BRATE      /* FhG: initialize last_element_brate to avoid CLANG18 MSAN complaint */
#define FIX_1484_CLANG18_MSAN_INIT_ST_ELEM_BRATE        /* FhG: initialize st->element_brate per default */
#define FIX_1464_UBSAN_RC_CONTEXT_MAP                   /* FhG: BE UBSAN fix for float issue 1464 in the TCX range coder */
#define FIX_2272_OOB_INDEXING_IN_LTP_PIT_SEARCH         /* FhG: fix OOB index USAN error in TCX LTP pitch search */
#define FIX_2274_OOB_INDEXING_IN_CORRMATRIX             /* FhG: fix OOB indexing complaint */
#define FIX_2278_OOB_INDEXING_IN_CLOSED_LOOP_PIT_SEARCH /* FhG: fix oob indexing USAN complaint */
#define FIX_2287_MCT_MDCT_STEREO_DATA_MALLOC_SIZE       /* FhG: correct allocation size for STEREO_MDCT_DEC_DATA struct */

/* #################### End BE switches ################################## */

+7 −0
Original line number Diff line number Diff line
@@ -614,6 +614,7 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
        move16();
        s = 0;
        move16();

        /* Main Loop through the 2-tuples */
        FOR( k = 0; k < lastnz; k += 2 )
        {
@@ -701,9 +702,15 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
                c = add( 12, esc_nb );
            }

#ifdef FIX_1464_UBSAN_RC_CONTEXT_MAP
            s = shl( s_and( s, 0x0F ), 4 ); /*Shift old 4 bits*/
            s = add( s, c );                /*replace last 4 bits*/
            t = s_and( s, 0xFF );
#else
            s = (UWord16) L_shl( s, 4 ); /*Shift old 4 bits*/
            s = (UWord16) L_add( s, c ); /*replace last 4 bits*/
            t = (UWord16) L_and( s, 0xFF );
#endif
        }

        /* Decode signs */
+4 −0
Original line number Diff line number Diff line
@@ -699,7 +699,11 @@ ivas_error mct_dec_reconfigure_fx(
                move16();

                /* MDCT stereo initialization */
#ifdef FIX_2287_MCT_MDCT_STEREO_DATA_MALLOC_SIZE
                IF( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL )
#else
                IF( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL )
#endif
                {
                    return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) );
                }
+8 −0
Original line number Diff line number Diff line
@@ -385,6 +385,10 @@ ivas_error create_sce_dec(
    move16();
    hSCE->element_brate = element_brate; /*Q0*/
    move32();
#ifdef FIX_1481_CLANG18_MSAN_INIT_LAST_ELEM_BRATE
    hSCE->last_element_brate = hSCE->element_brate;
    move32();
#endif

    set32_fx( hSCE->prev_hb_synth_fx, 0, NS2SA_FX2( st_ivas->hDecoderConfig->output_Fs, IVAS_DEC_DELAY_NS - DELAY_BWE_TOTAL_NS ) );

@@ -402,6 +406,10 @@ ivas_error create_sce_dec(

    st->total_brate = hSCE->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */
    move32();
#ifdef FIX_1484_CLANG18_MSAN_INIT_ST_ELEM_BRATE
    st->element_brate = -1;
    move32();
#endif
    st->mct_chan_mode = MCT_CHAN_MODE_REGULAR;
    move16();
    st->is_ism_format = 0;
Loading