Commit 8071f0d5 authored by vaclav's avatar vaclav
Browse files

Merge branch '1360_basop_PortFlpMR1319' into 'main-pc'

Port float MR1319 to BASOP

See merge request !1249
parents d722960b 502e4a34
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@
#define NONBE_FIX_952_MC_PARAMUPMIX_5MS                 /* Dlb : issue 952 : Differences between 5ms and 20ms rendering for ParamUpmix*/
#define FIX_957_REMOVE_PANNING_DEAD_CODE                /* VA: Remove obsolete non-diegetic panning related code. */
#define NONBE_FIX_935_EARLY_REFLECTIONS_WRONG_ORDER     /* Qualcomm: issue 953: fix order or ER channels in LC mode*/
#define FIX_955_FASTCONV_REND_IN_ISM                    /* VA: put FastConv rendering call under DEBUGGING */

#define FIX_956_DECODER_COMMAND_LINE_FIX                /* VA: Output correct error message when the decoder command-line has too many mandatory arguments. */

+14 −4
Original line number Diff line number Diff line
@@ -1976,9 +1976,19 @@ ivas_error ivas_jbm_dec_render_fx(
            {
                ivas_apply_non_diegetic_panning_fx( p_output_fx, st_ivas->hDecoderConfig->non_diegetic_pan_gain_fx, *nSamplesRendered );
            }
#ifdef FIX_955_FASTCONV_REND_IN_ISM
#ifdef DEBUGGING
            ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) )
#else
            ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) )
#endif
            {
                /* Convert to Ambisonics */
#else
            ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) )
            {
/* Convert to Ambisonics; used also for ISM->HOA3->binaural rendering */
#endif
                FOR( i = 0; i < st_ivas->nchan_transport; i++ )
                {
                    FOR( j = 0; j < HOA3_CHANNELS; j++ )
@@ -1991,13 +2001,13 @@ ivas_error ivas_jbm_dec_render_fx(
                }

                ivas_ism2sba_sf_fx( st_ivas->hTcBuffer->tc_fx, p_output_fx, st_ivas->hIsmRendererData, st_ivas->nchan_transport, *nSamplesRendered, st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hIntSetup.ambisonics_order );

                Word16 sba_num_chans = imult1616( add( st_ivas->hIntSetup.ambisonics_order, 1 ), add( st_ivas->hIntSetup.ambisonics_order, 1 ) );
                FOR( j = 0; j < sba_num_chans; j++ )
                {
                    scale_sig32( p_output_fx[j], *nSamplesRendered, sub( Q11, sub( add( output_q_factor, 29 ), 31 ) ) ); // Q11
                }


                FOR( i = 0; i < st_ivas->nchan_transport; i++ )
                {
                    FOR( j = 0; j < 16; j++ )