Commit fb7853c5 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Port float MR 1822 to ivas-float-update.

parent 5c5915ae
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@
#define FIX_1388_MSAN_ivas_init_decoder                 /* VA: issue 1388: fix use-of-uninitialized value in ivas_init_decoder() */
#define FIX_1288_SPLIT_REND_XSAN                        /* Dlb: Fix asan, msan and usan issues in split rendering mode*/
#define LIB_DEC_REVISION                                /* VA: cleaning and simplification of lib_dec.c */
#define NONBE_FIX_1197_OMASA_META_BUFFER                /* Nokia: OMASA ISM_MASA_MODE_PARAM_ONE_OBJ history zero in rateswitching - port 251 */

// object-editing feature porting
#define OBJ_EDITING_API                                 /* object editing changes related to the API */
+18 −0
Original line number Diff line number Diff line
@@ -417,6 +417,24 @@ ivas_error ivas_omasa_dec_config(
            ivas_omasa_separate_object_renderer_close( st_ivas );
        }

#ifdef NONBE_FIX_1197_OMASA_META_BUFFER
        if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && st_ivas->hMasaIsmData != NULL ) /* this structure is in use only in ISM_MASA_MODE_PARAM_ONE_OBJ */
        {
            MASA_ISM_DATA_HANDLE hMasaIsmData = st_ivas->hMasaIsmData;
            for ( int16_t obj_idx = 0; obj_idx < MAX_NUM_OBJECTS; obj_idx++ )
            {
                set_s( hMasaIsmData->azimuth_ism[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
                set_s( hMasaIsmData->elevation_ism[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
                for ( int16_t sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR; sf++ )
                {
                    set_zero( hMasaIsmData->energy_ratio_ism[obj_idx][sf], CLDFB_NO_CHANNELS_MAX );
                }
            }
            set_s( hMasaIsmData->azimuth_separated_ism, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
            set_s( hMasaIsmData->elevation_separated_ism, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
        }
#endif

        if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC )
        {
            if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC )
+10 −1
Original line number Diff line number Diff line
@@ -3196,16 +3196,25 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects(
            }
#endif

            /* Todo: Remove this comment with port 408 which would bring this back.
             *       No sense to break the code with port 251. */
            /* Limit target energies to non-negative values */
            for ( ch = 0; ch < 2; ch++ )
            {
                totalTargetEneCh[ch] = max( totalTargetEneCh[ch], 0.0f );
            }

            /* Diffuse ratio accumulation based on gaining */
#ifdef NONBE_FIX_1197_OMASA_META_BUFFER
            /* due to rounding, the sum may exceed 1.0f ever so slightly, so clip it */
            ratioAccOrig = min( ratioAccOrig, 1.0f );
#endif
            if ( masaGainEdited )
            {
#ifdef NONBE_FIX_1197_OMASA_META_BUFFER
                ratioAccNew += gainMasaPow2 * ( 1.0f - ratioAccOrig );
#else
                ratioAccNew += gainMasaPow2 * ( 1 - ratioAccOrig );
#endif
            }
            else
            {