Commit 640e85a7 authored by bayers's avatar bayers
Browse files

Merge branch '663-paramism-ext-output-improvement' into 'main'

[non-BE] Resolve "ParamISM EXT output improvement"

See merge request !895
parents 853e9fc2 57e52ace
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -218,6 +218,7 @@

#define MASA_AND_OBJECTS                                /* Nokia: Combination of MASA and objects */
#define FIX_653_BUG_IN_SKIP_MATRIX                      /* Dlb: fix for issue #653, bug in the ivas_spar_get_skip_mat function*/
#define FIX_663_PARAM_ISM_EXT                           /* FhG: Issue 663: ParamISM EXT output improvement */


/* ################## End BE DEVELOPMENT switches ######################### */
+48 −0
Original line number Diff line number Diff line
@@ -839,6 +839,7 @@ void ivas_param_ism_dec(
            }
        }

#ifndef FIX_663_PARAM_ISM_EXT
        for ( i = 0; i < nchan_transport; i++ )
        {
            for ( j = 0; j < nchan_out_woLFE; j++ )
@@ -853,6 +854,29 @@ void ivas_param_ism_dec(
                }
            }
        }
#else
        for ( j = 0; j < nchan_out_woLFE; j++ )
        {
            if ( hDirAC->azimuth_values[j] > 0.0f )
            {
                hDirAC->hParamIsmRendering->proto_matrix[j] = 1.0f;
                hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 0.0f;
            }
            else
            {
                if ( hDirAC->azimuth_values[j] < 0.0f )
                {
                    hDirAC->hParamIsmRendering->proto_matrix[j] = 0.0f;
                    hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 1.0f;
                }
                else /* == 0.0f */
                {
                    hDirAC->hParamIsmRendering->proto_matrix[j] = 0.5f;
                    hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 0.5f;
                }
            }
        }
#endif
    }

    /* Energy Compensation */
@@ -1193,6 +1217,7 @@ void ivas_param_ism_dec_digest_tc(
            }
        }

#ifndef FIX_663_PARAM_ISM_EXT
        for ( i = 0; i < nchan_transport; i++ )
        {
            for ( j = 0; j < nchan_out_woLFE; j++ )
@@ -1207,6 +1232,29 @@ void ivas_param_ism_dec_digest_tc(
                }
            }
        }
#else
        for ( j = 0; j < nchan_out_woLFE; j++ )
        {
            if ( hDirAC->azimuth_values[j] > 0.0f )
            {
                hDirAC->hParamIsmRendering->proto_matrix[j] = 1.0f;
                hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 0.0f;
            }
            else
            {
                if ( hDirAC->azimuth_values[j] < 0.0f )
                {
                    hDirAC->hParamIsmRendering->proto_matrix[j] = 0.0f;
                    hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 1.0f;
                }
                else /* == 0.0f */
                {
                    hDirAC->hParamIsmRendering->proto_matrix[j] = 0.5f;
                    hDirAC->hParamIsmRendering->proto_matrix[nchan_out_woLFE + j] = 0.5f;
                }
            }
        }
#endif
    }

    /* Energy Compensation */