diff --git a/lib_com/options.h b/lib_com/options.h index 42a41806b2b0252798aaffbb5b635199f7a136b0..bad3f056ec75c3763bdfdc9557d9b66e16675e15 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -165,6 +165,7 @@ #define FIX_2344_ALIGN_PREPROC /* VA: basop issue 2344: Align pre_proc_ivas() between FLP and BASOP */ #define FIX_FLOAT_1501_UNIT_VALUE_IN_OMASA /* Nokia: Fix float issue 1501, uninitialized value in ivas_masa_combine_directions for OMASA */ #define FIX_2331_CLANG18_MSAN_UNINIT_VARIABLE /* FhG: Fix issue 2331: Uninitialized variable */ +#define FIX_2235_TD_RENDERER_WORD16 /* Eri: For float: small synch with BASOP, removing unnecessary abs. BASOP: Use Word16 in TD renderer without converting to Word32 */ /* #################### End BE switches ################################## */ diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 637318fd0557a5bec893023cb3ab478c8c58dd19..7cfbbc5ed51b8667dd0bdf73311b42f3e3ceea23 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -461,7 +461,12 @@ static void getStandardBSplineSampVec( { d = 2 * ( BsLen[shape_idx] - 1 ) - d; } +#ifdef FIX_2235_TD_RENDERER_WORD16 + assert( d >= 0 && d < BsLen[shape_idx] ); + BfVec[i] = BsShape[BsStart[shape_idx] + d]; +#else BfVec[i] = BsShape[BsStart[shape_idx] + (int16_t) abs( d )]; /*TT, verify if abs is needed */ +#endif NzIdx[i] = nI + i; }