Commit b6bdf2f1 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

move edited parameters to hMIsmMetaData

parent 22ac56e1
Loading
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -417,9 +417,6 @@ void ivas_ism_reset_metadata(
    hIsmMeta->radius = 1.0f;
    hIsmMeta->ism_metadata_flag = 0;
    hIsmMeta->non_diegetic_flag = 0;
#ifdef OBJ_EDITING_DECODER
    hIsmMeta->gain = 1.0f;
#endif

    return;
}
+10 −4
Original line number Diff line number Diff line
@@ -65,6 +65,16 @@ typedef struct
    float yaw;       /* yaw value read from the input metadata file */
    float pitch;     /* pitch value read from the input metadata file */

#ifdef OBJ_EDITING_DECODER
	float edited_azimuth;
	float edited_elevation;
	float edited_radius;

	float edited_yaw;
	float edited_pitch;
	float edited_gain;
#endif

    int16_t non_diegetic_flag; /* Non-diegetic (non-headtracked) object flag */

    ISM_METADATA_ANGLE position_angle;    /* Angle structs for azimuth and elevation */
@@ -87,10 +97,6 @@ typedef struct
    float q_azimuth_old;
    float q_elevation_old;

#ifdef OBJ_EDITING_DECODER
    float gain;
#endif

} ISM_METADATA_FRAME, *ISM_METADATA_HANDLE;


+1 −1
Original line number Diff line number Diff line
@@ -2257,7 +2257,7 @@ void ivas_dirac_dec_render_sf(
                        {
                            efap_determine_gains( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains[i], az1, el1, EFAP_MODE_EFAP );
#ifdef OBJ_EDITING_DECODER
                            v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmRendererData->edited_gains[i], st_ivas->hIsmRendererData->gains[i], nchan_out_woLFE );
                            v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmMetaData[i]->edited_gain, st_ivas->hIsmRendererData->gains[i], nchan_out_woLFE );
#endif
                        }
                    }
+6 −6
Original line number Diff line number Diff line
@@ -740,8 +740,8 @@ void ivas_ism_dec_digest_tc(
            if ( st_ivas->intern_config == IVAS_AUDIO_CONFIG_STEREO )
            {
#ifdef OBJ_EDITING_DECODER
                ivas_ism_get_stereo_gains( st_ivas->hIsmRendererData->edited_azimuth[i], st_ivas->hIsmRendererData->edited_elevation[i], &st_ivas->hIsmRendererData->gains[i][0], &st_ivas->hIsmRendererData->gains[i][1] );
                v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmRendererData->edited_gains[i], st_ivas->hIsmRendererData->gains[i], CPE_CHANNELS );
                ivas_ism_get_stereo_gains( st_ivas->hIsmMetaData[i]->edited_azimuth, st_ivas->hIsmMetaData[i]->edited_elevation, &st_ivas->hIsmRendererData->gains[i][0], &st_ivas->hIsmRendererData->gains[i][1] );
                v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmMetaData[i]->edited_gain, st_ivas->hIsmRendererData->gains[i], CPE_CHANNELS );
#else
                ivas_ism_get_stereo_gains( st_ivas->hIsmMetaData[i]->azimuth, st_ivas->hIsmMetaData[i]->elevation, &st_ivas->hIsmRendererData->gains[i][0], &st_ivas->hIsmRendererData->gains[i][1] );
#endif
@@ -750,8 +750,8 @@ void ivas_ism_dec_digest_tc(
            {
                // TODO tmu review when #215 is resolved
#ifdef OBJ_EDITING_DECODER
                azimuth = (int16_t) floorf( st_ivas->hIsmRendererData->edited_azimuth[i] + 0.5f );
                elevation = (int16_t) floorf( st_ivas->hIsmRendererData->edited_elevation[i] + 0.5f );
                azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->edited_azimuth + 0.5f );
                elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->edited_elevation + 0.5f );
#else
                azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f );
                elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f );
@@ -772,7 +772,7 @@ void ivas_ism_dec_digest_tc(
                    {
                        efap_determine_gains( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains[i], azimuth, elevation, EFAP_MODE_EFAP );
#ifdef OBJ_EDITING_DECODER
                        v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmRendererData->edited_gains[i], st_ivas->hIsmRendererData->gains[i], st_ivas->hEFAPdata->numSpk );
                        v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmMetaData[i]->edited_gain, st_ivas->hIsmRendererData->gains[i], st_ivas->hEFAPdata->numSpk );
#endif
                    }
                }
@@ -783,7 +783,7 @@ void ivas_ism_dec_digest_tc(
                    /*get HOA gets for direction (ACN/SN3D)*/
                    ivas_dirac_dec_get_response( azimuth, elevation, st_ivas->hIsmRendererData->gains[i], st_ivas->hIntSetup.ambisonics_order );
#ifdef OBJ_EDITING_DECODER
                    v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmRendererData->edited_gains[i], st_ivas->hIsmRendererData->gains[i], ivas_sba_get_nchan( st_ivas->hIntSetup.ambisonics_order, 0 ) );
                    v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmMetaData[i]->edited_gain, st_ivas->hIsmRendererData->gains[i], ivas_sba_get_nchan( st_ivas->hIntSetup.ambisonics_order, 0 ) );
#endif
                }
            }
+10 −14
Original line number Diff line number Diff line
@@ -82,15 +82,13 @@ ivas_error ivas_ism_renderer_open(
        set_f( st_ivas->hIsmRendererData->prev_gains[i], 0.0f, MAX_OUTPUT_CHANNELS );
        set_f( st_ivas->hIsmRendererData->gains[i], 0.0f, MAX_OUTPUT_CHANNELS );
#ifdef OBJ_EDITING_DECODER
        st_ivas->hIsmRendererData->edited_gains[i] = 1.0f;
        st_ivas->hIsmRendererData->edited_azimuth[i] = 0.0f;
        st_ivas->hIsmRendererData->edited_elevation[i] = 0.0f;
        st_ivas->hIsmRendererData->edited_pitch[i] = 0.0f;
        st_ivas->hIsmRendererData->edited_yaw[i] = 0.0f;
        st_ivas->hIsmRendererData->edited_radius[i] = 1.0f;
        st_ivas->hIsmRendererData->last_edited_azimuth[i] = 0.0f;
        st_ivas->hIsmRendererData->last_edited_elevation[i] = 0.0f;
        st_ivas->hIsmRendererData->non_diegetic_flag[i] = 0;
        st_ivas->hIsmMetaData[i]->edited_gain = 1.0f;
        st_ivas->hIsmMetaData[i]->edited_azimuth = 0.0f;
        st_ivas->hIsmMetaData[i]->edited_elevation = 0.0f;
        st_ivas->hIsmMetaData[i]->edited_pitch = 0.0f;
        st_ivas->hIsmMetaData[i]->edited_yaw = 0.0f;
        st_ivas->hIsmMetaData[i]->edited_radius = 1.0f;
        st_ivas->hIsmMetaData[i]->non_diegetic_flag = 0;
#endif
    }

@@ -245,7 +243,7 @@ void ivas_ism_render_sf(
                if ( subframe_idx >= ism_md_subframe_update_jbm )
                {
#ifdef OBJ_EDITING_DECODER
                    rotateAziEle( st_ivas->hIsmRendererData->edited_azimuth[i], st_ivas->hIsmRendererData->edited_elevation[i], &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
                    rotateAziEle( st_ivas->hIsmMetaData[i]->edited_azimuth, st_ivas->hIsmMetaData[i]->edited_elevation, &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
#else
                    rotateAziEle( st_ivas->hIsmMetaData[i]->azimuth, st_ivas->hIsmMetaData[i]->elevation, &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
#endif
@@ -253,7 +251,7 @@ void ivas_ism_render_sf(
                else
                {
#ifdef OBJ_EDITING_DECODER
                    rotateAziEle( st_ivas->hIsmRendererData->edited_azimuth[i], st_ivas->hIsmRendererData->edited_elevation[i], &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
                    rotateAziEle( st_ivas->hIsmMetaData[i]->edited_azimuth, st_ivas->hIsmMetaData[i]->edited_elevation, &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
#else
                    rotateAziEle( st_ivas->hIsmMetaData[i]->last_azimuth, st_ivas->hIsmMetaData[i]->last_elevation, &azimuth, &elevation, st_ivas->hCombinedOrientationData->Rmat[st_ivas->hCombinedOrientationData->subframe_idx], st_ivas->hIntSetup.is_planar_setup );
#endif
@@ -262,7 +260,7 @@ void ivas_ism_render_sf(
                {
                    efap_determine_gains( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains[i], azimuth, elevation, EFAP_MODE_EFAP );
#ifdef OBJ_EDITING_DECODER
                    v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmRendererData->edited_gains[i], st_ivas->hIsmRendererData->gains[i], nchan_out_woLFE );
                    v_multc( st_ivas->hIsmRendererData->gains[i], st_ivas->hIsmMetaData[i]->edited_gain, st_ivas->hIsmRendererData->gains[i], nchan_out_woLFE );
#endif
                }
            }
@@ -641,8 +639,6 @@ void ivas_ism_renderer_update_md(

    for ( obj_idx = 0; obj_idx < num_obj; obj_idx++ )
    {
        hIsmRenderer->last_edited_azimuth[obj_idx] = hIsmRenderer->edited_azimuth[obj_idx];
        hIsmRenderer->last_edited_elevation[obj_idx] = hIsmRenderer->edited_elevation[obj_idx];
        hIsmRenderer->edited_azimuth[obj_idx] = st_ivas->hIsmMetaData[obj_idx]->azimuth;
        hIsmRenderer->edited_elevation[obj_idx] = st_ivas->hIsmMetaData[obj_idx]->elevation;
        hIsmRenderer->edited_radius[obj_idx] = st_ivas->hIsmMetaData[obj_idx]->radius;
Loading