Commit cf6842c6 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

implement EXT output at low BRs

parent 5e664670
Loading
Loading
Loading
Loading
+23 −15
Original line number Diff line number Diff line
@@ -3006,8 +3006,16 @@ ivas_error preview_indices(

            /* Read SBA planar flag and SBA order */
            st_ivas->sba_planar = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS] == 1 );

            if ( total_brate > IVAS_256k )
            {
                st_ivas->sba_order = ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 2] == 1 );
                st_ivas->sba_order += 2 * ( bit_stream[IVAS_FORMAT_SIGNALING_NBITS_EXTENDED + IVAS_COMBINED_FORMAT_SIGNALLING_BITS + 1] == 1 );
            }
            else
            {
                st_ivas->sba_order = 3;
			}

			st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( total_brate, st_ivas->sba_order );

+3 −0
Original line number Diff line number Diff line
@@ -4147,6 +4147,9 @@ ivas_error ivas_sba_linear_renderer(
    float *output_f[],                                          /* i/o: synthesized core-coder transport channels/DirAC output  */
    const int16_t output_frame,                                 /* i  : output frame length per channel                         */
    const int16_t nchan_in,                                     /* i  : number of input ambisonics channels                     */
#ifdef SBA_AND_OBJECTS
	const int16_t nchan_ism,
#endif
    const AUDIO_CONFIG output_config,                           /* i  : output audio configuration                              */
    const IVAS_OUTPUT_SETUP output_setup,                       /* i  : output format setup                                     */
    const float hoa_dec_mtx[]                                   /* i  : HOA decoding mtx                                        */
+5 −1
Original line number Diff line number Diff line
@@ -542,7 +542,11 @@ ivas_error ivas_dec(
        {
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC )
            {
                if ( ( error = ivas_sba_linear_renderer( p_output, output_frame, nchan_remapped, output_config, st_ivas->hOutSetup, st_ivas->hoa_dec_mtx ) ) != IVAS_ERR_OK )
                if ( ( error = ivas_sba_linear_renderer( p_output, output_frame, nchan_remapped,
#ifdef SBA_AND_OBJECTS
                                                         0,
#endif
					output_config, st_ivas->hOutSetup, st_ivas->hoa_dec_mtx ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
+1 −3
Original line number Diff line number Diff line
@@ -428,8 +428,6 @@ ivas_error ivas_dec_setup(
            num_bits_read += SBA_PLANAR_BITS;

            /* read Ambisonic (SBA) order */
            st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1];
            st_ivas->sba_order += 2 * st_ivas->bit_stream[num_bits_read];
            if ( ivas_total_brate >= IVAS_256k )
            {
                st_ivas->sba_order = st_ivas->bit_stream[num_bits_read + 1];
@@ -2973,7 +2971,7 @@ static ivas_error doSanityChecks_IVAS(
    else if ( st_ivas->ivas_format == SBA_FORMAT )
    {
        /* Verify SBA output coniguration */
        if ( output_config == AUDIO_CONFIG_INVALID || output_config == AUDIO_CONFIG_EXTERNAL )
        if ( output_config == AUDIO_CONFIG_INVALID  )
        {
            return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified for SBA" );
        }
+5 −1
Original line number Diff line number Diff line
@@ -873,7 +873,11 @@ ivas_error ivas_jbm_dec_render(
                    mvr2r( st_ivas->hTcBuffer->tc[n] + st_ivas->hTcBuffer->n_samples_rendered, p_output[n], *nSamplesRendered );
                }

                if ( ( error = ivas_sba_linear_renderer( p_output, *nSamplesRendered, nchan_remapped, output_config, st_ivas->hOutSetup, st_ivas->hoa_dec_mtx ) ) != IVAS_ERR_OK )
                if ( ( error = ivas_sba_linear_renderer( p_output, *nSamplesRendered, nchan_remapped, 
#ifdef SBA_AND_OBJECTS
                                                         0,
#endif
					output_config, st_ivas->hOutSetup, st_ivas->hoa_dec_mtx ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
Loading