Commit fbb55688 authored by multrus's avatar multrus
Browse files

[cleanup] accept NONBE_FIX_1141_OSBA_ROOM_RENDERING

parent dbf590e6
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -178,7 +178,6 @@
/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */

#define NONBE_FIX_1141_OSBA_ROOM_RENDERING                    /* FhG: Fix for issue 1141: render objects in OSBA decoder with room effect */


#define NONE_BE_FIX_816_LFE_PLC_FLOAT                   /* DLB: issue 816: reduce required precision to float for LFE-PLC*/
+0 −43
Original line number Diff line number Diff line
@@ -2231,40 +2231,22 @@ void ivas_dirac_dec_render_sf(
        /* render objects in combined format onto the CICP19 channels for BINAURAL_ROOM_IR */
        if ( st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
        {
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            int16_t in_ch;
            for ( in_ch = 0; in_ch < st_ivas->nchan_ism; in_ch++ )
            {
#endif
                int16_t j, k, l;
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                int16_t j2, lfe_index;
#endif
                int16_t num_objects, nchan_out_woLFE;
                int16_t az1, el1;
                int16_t n_slots_to_render;
                int16_t n_samples_to_render;
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                int16_t interp_offset;
#endif
                float gain, prev_gain;

                num_objects = st_ivas->nchan_ism;
                nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE;
                n_slots_to_render = st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered];
                n_samples_to_render = hSpatParamRendCom->num_freq_bands * n_slots_to_render;
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                interp_offset = st_ivas->hTcBuffer->n_samples_rendered;
#endif

                if ( st_ivas->hCombinedOrientationData && st_ivas->hCombinedOrientationData->enableCombinedOrientation[0] )
                {
                    ivas_jbm_dec_get_adapted_linear_interpolator( n_samples_to_render, n_samples_to_render, st_ivas->hIsmRendererData->interpolator );
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                    st_ivas->hIsmRendererData->interp_offset = 0;
#else
                interp_offset = 0;
#endif
                }

                for ( i = 0; i < num_objects; i++ )
@@ -2282,19 +2264,8 @@ void ivas_dirac_dec_render_sf(
                        }
                    }

#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                    for ( j = 0; j < nchan_out_woLFE; j++ )
#else
                lfe_index = 0;
                for ( j = 0, j2 = 0; j < nchan_out_woLFE; j++, j2++ )
#endif
                    {
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                        if ( ( st_ivas->hIntSetup.num_lfe > 0 ) && ( st_ivas->hIntSetup.index_lfe[lfe_index] == j ) )
                    {
                            ( lfe_index < ( st_ivas->hIntSetup.num_lfe - 1 ) ) ? ( lfe_index++, j2++ ) : j2++;
                        }
#endif

                        gain = st_ivas->hIsmRendererData->gains[i][j];
                        prev_gain = st_ivas->hIsmRendererData->prev_gains[i][j];
@@ -2303,11 +2274,7 @@ void ivas_dirac_dec_render_sf(
                            float *tc_re, *tc_im;
                            float *w1, w2;

#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                            w1 = &st_ivas->hIsmRendererData->interpolator[st_ivas->hIsmRendererData->interp_offset];
#else
                        w1 = &st_ivas->hIsmRendererData->interpolator[interp_offset];
#endif

                            tc_re = pppQMfFrame_ts_re[nchan_transport + i][0];
                            tc_im = pppQMfFrame_ts_im[nchan_transport + i][0];
@@ -2321,13 +2288,8 @@ void ivas_dirac_dec_render_sf(

                                for ( l = 0; l < hSpatParamRendCom->num_freq_bands; l++ )
                                {
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                                    Cldfb_RealBuffer[j][k][l] += g * *( tc_re++ );
                                    Cldfb_ImagBuffer[j][k][l] += g * *( tc_im++ );
#else
                                Cldfb_RealBuffer[j2][k][l] += g * *( tc_re++ );
                                Cldfb_ImagBuffer[j2][k][l] += g * *( tc_im++ );
#endif
                                }
                                w1 += hSpatParamRendCom->num_freq_bands;
                            }
@@ -2340,12 +2302,7 @@ void ivas_dirac_dec_render_sf(
                        }
                    }
                }
#ifndef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            }
#endif
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
            st_ivas->hIsmRendererData->interp_offset += hSpatParamRendCom->num_freq_bands * st_ivas->hSpar->subframe_nbslots[st_ivas->hSpar->subframes_rendered];
#endif
        }

        if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
+0 −6
Original line number Diff line number Diff line
@@ -712,9 +712,7 @@ void ivas_ism_dec_digest_tc(
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC ||
                 st_ivas->renderer_type == RENDERER_OSBA_AMBI ||
                 st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                 || ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC )
#endif
            )
            {
                st_ivas->hIsmRendererData->interpolator[0] = 0.0f;
@@ -735,9 +733,7 @@ void ivas_ism_dec_digest_tc(
        {
            ivas_jbm_dec_get_adapted_linear_interpolator( (int16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ), st_ivas->hTcBuffer->n_samples_available, st_ivas->hIsmRendererData->interpolator );
        }
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
        st_ivas->hIsmRendererData->interp_offset = 0;
#endif

        /* also get the gains here */
        for ( i = 0; i < st_ivas->nchan_ism; i++ )
@@ -767,9 +763,7 @@ void ivas_ism_dec_digest_tc(
                if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING ||
                       st_ivas->renderer_type == RENDERER_OSBA_LS ||
                       st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
                       || ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_SBA_MODE_DISC )
#endif
                           ) &&
                     st_ivas->hCombinedOrientationData == NULL )
                {
+0 −2
Original line number Diff line number Diff line
@@ -815,9 +815,7 @@ typedef struct renderer_struct
    float prev_gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS];
    float *interpolator;
    int16_t interpolator_length;
#ifdef NONBE_FIX_1141_OSBA_ROOM_RENDERING
    int16_t interp_offset;
#endif
    float gains[MAX_NUM_OBJECTS][MAX_OUTPUT_CHANNELS];

} ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE;