Commit ceb8a535 authored by bayers's avatar bayers
Browse files

fix OSBA 1ISM stereo output, fix JBM case, fix non-JBM case for 5ms rendering.

parent c739c4b1
Loading
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -1231,12 +1231,13 @@ ivas_error ivas_jbm_dec_render(
                *nSamplesRendered = min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );

#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
                /* shift SBA channels to avoid overwrite by ISM upmix in 1 object case */
                if ( st_ivas->nchan_ism == 1 )
                /* shift SBA channels to avoid overwrite by ISM upmix in 1 object case and non-TSM unified channel memory*/
                if ( st_ivas->nchan_ism == 1 && st_ivas->hDecoderConfig->Opt_tsm == 0)
                {
                    mvr2r( p_output[2], p_output[3], *nSamplesRendered );
                    mvr2r( p_output[1], p_output[2], *nSamplesRendered );
                    p_tc[3] = p_output[3];
                    mvr2r( p_tc[2], p_output[3], *nSamplesRendered );
                    mvr2r( p_tc[1], p_output[2], *nSamplesRendered );
                    p_tc[1] = p_output[2];
					p_tc[2] = p_output[3];
                }
#endif

@@ -1246,11 +1247,7 @@ ivas_error ivas_jbm_dec_render(
                /* add already rendererd SBA part */
                for ( n = 0; n < nchan_out; n++ )
                {
#ifdef NONBE_UNIFIED_DECODING_PATHS_FIX
                    v_add( p_output[n], p_tc[n + max( nchan_out, st_ivas->nchan_ism )], p_output[n], *nSamplesRendered );
#else
                    v_add( p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered );
#endif
                }
            }
            else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )