Commit af6ff52f authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_401_DIRAC_RENDERER_META_READ_INDICES

parent a18fbf41
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -3469,9 +3469,6 @@ void ivas_dirac_dec_output_synthesis_process_slot(
    const VBAP_HANDLE hVBAPdata,                                /* i  : VBAP structure                              */
    const IVAS_OUTPUT_SETUP hOutSetup,                          /* i  : output setup structure                      */
    const int16_t nchan_transport                               /* i  : number of transport channels                */
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
    , const int16_t index_slot
#endif
);

void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd(
@@ -3524,10 +3521,6 @@ void ivas_dirac_dec_compute_directional_responses(
    DIRAC_DEC_HANDLE hDirAC,                                    /* i/o: DirAC handle                                    */
    const VBAP_HANDLE hVBAPdata,                                /* i  : VBAP structure                                  */
    const MASA_DECODER_HANDLE hMasa,                            /* i  : MASA decoder structure                          */
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
    const int16_t direction_idx,                                /* i  : index for direction (azi and ele)               */
    const int16_t subframe_idx,                                 /* i  : subframe index                                  */
#endif
    const float *surCohRatio,
    const int16_t shd_rot_max_order,                            /* i  : split-order rotation method                     */
    const float *p_Rmat                                         /* i  : rotation matrix                                 */
+0 −1
Original line number Diff line number Diff line
@@ -147,7 +147,6 @@

#define FIX_398_MASA_DIRECTION_ALIGNMENT                /* Nokia: Issue 398: in 2dir MASA, dynamically adjust directions to be consistent */

#define FIX_401_DIRAC_RENDERER_META_READ_INDICES        /* Nokia: Issue 401: Fix metadata reading indices in DirAC renderer. */
#define FIX_406_IVAS_POSITION                           /* Eri: Issue 406: Unify IVAS_POSITION to use IVAS_VECTOR3 instead */
#define REND_DEBUGGING_REVISION                         /* VA: encapsulate rendering debugging options with DEBUGGING */
#define FIX_419_ISM_MD_FIX                              /* VA: Issue 419: fix the upper value limitation for parameter angle1_diff_cnt */
+0 −20
Original line number Diff line number Diff line
@@ -2139,11 +2139,7 @@ void ivas_dirac_dec(
                    for ( i = 0; i < hDirAC->num_freq_bands; i++ )
                    {
                        dirEne = hDirAC->h_output_synthesis_psd_state.direct_power_factor[i];
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                        surCohEner = hDirAC->h_output_synthesis_psd_state.diffuse_power_factor[i] * hDirAC->surroundingCoherence[hDirAC->dirac_read_idx][i];
#else
                        surCohEner = hDirAC->h_output_synthesis_psd_state.diffuse_power_factor[i] * hDirAC->surroundingCoherence[subframe_idx][i];
#endif
                        hDirAC->h_output_synthesis_psd_state.diffuse_power_factor[i] -= surCohEner;
                        hDirAC->h_output_synthesis_psd_state.direct_power_factor[i] += surCohEner;

@@ -2181,10 +2177,6 @@ void ivas_dirac_dec(
                ivas_dirac_dec_compute_directional_responses( hDirAC,
                                                              st_ivas->hVBAPdata,
                                                              st_ivas->hMasa,
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                                                              subframe_idx,
                                                              subframe_idx,
#endif
                                                              surCohRatio,
                                                              st_ivas->hHeadTrackData->shd_rot_max_order,
                                                              p_Rmat );
@@ -2194,10 +2186,6 @@ void ivas_dirac_dec(
                ivas_dirac_dec_compute_directional_responses( hDirAC,
                                                              st_ivas->hVBAPdata,
                                                              st_ivas->hMasa,
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                                                              subframe_idx,
                                                              subframe_idx,
#endif
                                                              surCohRatio,
                                                              0,
                                                              0 );
@@ -2496,10 +2484,6 @@ void ivas_dirac_dec(
                                                              st_ivas->hVBAPdata,
                                                              hDirAC->hOutSetup,
                                                              nchan_transport
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                                                              ,
                                                              index_slot
#endif
                );
            }
            else
@@ -2511,10 +2495,6 @@ void ivas_dirac_dec(
                                                              st_ivas->hVBAPdata,
                                                              hDirAC->hOutSetup,
                                                              nchan_transport
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                                                              ,
                                                              index_slot
#endif
                );
            }

+0 −40
Original line number Diff line number Diff line
@@ -518,10 +518,6 @@ void ivas_dirac_dec_output_synthesis_process_slot(
    const VBAP_HANDLE hVBAPdata,       /* i  : VBAP structure              */
    const IVAS_OUTPUT_SETUP hOutSetup, /* i  : output setup structure      */
    const int16_t nchan_transport      /* i  : number of transport channels*/
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
    ,
    const int16_t index_slot
#endif
)
{
    int16_t num_freq_bands, num_channels_dir;
@@ -560,10 +556,6 @@ void ivas_dirac_dec_output_synthesis_process_slot(
        ivas_dirac_dec_compute_directional_responses( hDirAC,
                                                      hVBAPdata,
                                                      NULL,
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                                                      index_slot,
                                                      index_slot / MAX_PARAM_SPATIAL_SUBFRAMES,
#endif
                                                      NULL,
                                                      2,
                                                      p_Rmat );
@@ -1491,10 +1483,6 @@ void ivas_dirac_dec_compute_directional_responses(
    DIRAC_DEC_HANDLE hDirAC,         /* i/o: DirAC handle                   */
    const VBAP_HANDLE hVBAPdata,     /* i  : VBAP structure                 */
    const MASA_DECODER_HANDLE hMasa, /* i  : MASA decoder structure         */
#ifndef FIX_401_DIRAC_RENDERER_META_READ_INDICES
    const int16_t direction_idx, /* i  : index for direction (azi and ele), can slot index (>2TCs) or subrame index (<=2TCs)  */
    const int16_t subframe_idx,  /* i  : subframe index                 */
#endif
    const float *surCohRatio,
    const int16_t shd_rot_max_order, /* i  : split-order rotation method    */
    const float *p_Rmat              /* i  : rotation matrix                */
@@ -1584,31 +1572,17 @@ void ivas_dirac_dec_compute_directional_responses(
                          hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD || hDirAC->synthesisConf == DIRAC_SYNTHESIS_MONO )
                {
                    /* Synthesize the first direction */
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                    spreadCoherencePanningHoa( azimuth[k], elevation[k], hDirAC->spreadCoherence[hDirAC->dirac_read_idx][k], direct_response_hoa, num_channels_dir, hDirAC->hOutSetup.ambisonics_order );
#else
                    spreadCoherencePanningHoa( azimuth[k], elevation[k], hDirAC->spreadCoherence[subframe_idx][k], direct_response_hoa, num_channels_dir, hDirAC->hOutSetup.ambisonics_order );
#endif

                    /* Synthesize the second direction and combine the gains */
                    if ( hDirAC->numSimultaneousDirections == 2 )
                    {
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                        spreadCoherencePanningHoa( azimuth2[k], elevation2[k], hDirAC->spreadCoherence2[hDirAC->dirac_read_idx][k], direct_response_dir2, num_channels_dir, hDirAC->hOutSetup.ambisonics_order );
#else
                        spreadCoherencePanningHoa( azimuth2[k], elevation2[k], hDirAC->spreadCoherence2[subframe_idx][k], direct_response_dir2, num_channels_dir, hDirAC->hOutSetup.ambisonics_order );
#endif

                        /* Combine gains from the two directions */
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                        totalDirect = hDirAC->energy_ratio1[hDirAC->dirac_read_idx][k] + hDirAC->energy_ratio2[hDirAC->dirac_read_idx][k] + EPSILON;
                        directRatio[0] = hDirAC->energy_ratio1[hDirAC->dirac_read_idx][k] / totalDirect;
                        directRatio[1] = hDirAC->energy_ratio2[hDirAC->dirac_read_idx][k] / totalDirect;
#else
                        totalDirect = hDirAC->energy_ratio1[subframe_idx][k] + hDirAC->energy_ratio2[subframe_idx][k] + EPSILON;
                        directRatio[0] = hDirAC->energy_ratio1[subframe_idx][k] / totalDirect;
                        directRatio[1] = hDirAC->energy_ratio2[subframe_idx][k] / totalDirect;
#endif

                        for ( l = 0; l < num_channels_dir; l++ )
                        {
@@ -1657,34 +1631,20 @@ void ivas_dirac_dec_compute_directional_responses(
            else if ( hDirAC->panningConf == DIRAC_PANNING_VBAP ) /*VBAP*/
            {
                /* Synthesize the first direction */
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                spreadCoherencePanningVbap( azimuth[k], elevation[k], hDirAC->spreadCoherence[hDirAC->dirac_read_idx][k], direct_response_ls, num_channels_dir, hVBAPdata );
#else
                spreadCoherencePanningVbap( azimuth[k], elevation[k], hDirAC->spreadCoherence[subframe_idx][k], direct_response_ls, num_channels_dir, hVBAPdata );
#endif
                normalizePanningGains( direct_response_ls, num_channels_dir );

                /* Synthesize the second direction and combine the gains */
                if ( hDirAC->numSimultaneousDirections == 2 )
                {
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                    spreadCoherencePanningVbap( azimuth2[k], elevation2[k], hDirAC->spreadCoherence2[hDirAC->dirac_read_idx][k], direct_response_dir2, num_channels_dir, hVBAPdata );
#else
                    spreadCoherencePanningVbap( azimuth2[k], elevation2[k], hDirAC->spreadCoherence2[subframe_idx][k], direct_response_dir2, num_channels_dir, hVBAPdata );
#endif

                    normalizePanningGains( direct_response_dir2, num_channels_dir );

                    /* Combine gains from the two directions */
#ifdef FIX_401_DIRAC_RENDERER_META_READ_INDICES
                    totalDirect = hDirAC->energy_ratio1[hDirAC->dirac_read_idx][k] + hDirAC->energy_ratio2[hDirAC->dirac_read_idx][k] + EPSILON;
                    directRatio[0] = hDirAC->energy_ratio1[hDirAC->dirac_read_idx][k] / totalDirect;
                    directRatio[1] = hDirAC->energy_ratio2[hDirAC->dirac_read_idx][k] / totalDirect;
#else
                    totalDirect = hDirAC->energy_ratio1[subframe_idx][k] + hDirAC->energy_ratio2[subframe_idx][k] + EPSILON;
                    directRatio[0] = hDirAC->energy_ratio1[subframe_idx][k] / totalDirect;
                    directRatio[1] = hDirAC->energy_ratio2[subframe_idx][k] / totalDirect;
#endif
                    for ( l = 0; l < num_channels_dir; l++ )
                    {
                        direct_response_ls[l] *= directRatio[0];