Commit 61aa8ab2 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Add missing part from IVAS_DEC_GetEditableParameters and adjust to be in line with float main.

parent f58f5ee3
Loading
Loading
Loading
Loading
Loading
+24 −2
Original line number Diff line number Diff line
@@ -1527,7 +1527,11 @@ ivas_error IVAS_DEC_GetEditableParameters(
        }
#endif
    }
#ifdef NONBE_1217_INIT_OBJ_EDIT
    else if ( st_ivas->ivas_format == MASA_ISM_FORMAT || ( st_ivas->ivas_format == MASA_FORMAT && st_ivas->nchan_ism > 0 ) )
#else
    else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) )
#endif
    {
        /* object editing possible only in two highest OMASA modes */
        if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC )
@@ -1546,7 +1550,11 @@ ivas_error IVAS_DEC_GetEditableParameters(
                hIvasEditableParameters->ism_metadata[obj].non_diegetic_flag = st_ivas->hIsmMetaData[obj]->non_diegetic_flag;
            }
        }
#ifdef NONBE_1217_INIT_OBJ_EDIT
        else if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
#else
        else
#endif
        {
            /* Handle MONO output */
            if ( st_ivas->renderer_type != RENDERER_MONO_DOWNMIX )
@@ -1573,6 +1581,18 @@ ivas_error IVAS_DEC_GetEditableParameters(
                hIvasEditableParameters->ism_metadata[obj].non_diegetic_flag = st_ivas->hIsmMetaData[obj]->non_diegetic_flag;
            }
        }
#ifdef NONBE_1217_INIT_OBJ_EDIT
        else if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || ism_mode == ISM_MODE_NONE )
        {
            hIvasEditableParameters->num_obj = 0;
        }
#ifdef DEBUGGING
        else
        {
            assert( 0 && "This should never happen!" );
        }
#endif
#endif
    }

    return IVAS_ERR_OK;
@@ -1709,14 +1729,16 @@ ivas_error IVAS_DEC_SetEditableParameters(
                return IVAS_ERR_OBJECTS_EDITING_NOT_SUPPORTED;
            }
        }
#ifdef DEBUGGING
        else
        {
            assert( 0 && "This should never happen!" );
        }
#endif
    }
    else if ( st_ivas->ivas_format == MASA_ISM_FORMAT && ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC ) )
    {
        int32_t id_th;
        int16_t id_th;
        float threshold_azi, threshold_ele;

#ifdef DEBUGGING
@@ -1764,7 +1786,7 @@ ivas_error IVAS_DEC_SetEditableParameters(
                     * which in turn depends from the object priority and importance:
                     * importance -> priority -> number of bits -> elevation resolution -> elevation ring index -> azimuth resolution.
                     * leading to elevation_resolution -> elevation threshold and azimuth resolution -> azimuth threshold */
                    id_th = (int) ( fabsf( (float) st_ivas->hMasaIsmData->elevation_ism[obj][dirac_read_idx] ) / delta_theta_masa[st_ivas->hMasaIsmData->bits_ism[obj] - 3] + 0.5f );
                    id_th = (int16_t) ( fabsf( (float) st_ivas->hMasaIsmData->elevation_ism[obj][dirac_read_idx] ) / delta_theta_masa[st_ivas->hMasaIsmData->bits_ism[obj] - 3] + 0.5f );
                    threshold_azi = 360.0f / (float) no_phi_masa[st_ivas->hMasaIsmData->bits_ism[obj] - 1][id_th];
                    threshold_ele = delta_theta_masa[st_ivas->hMasaIsmData->bits_ism[obj] - 3];