Commit ffb63b50 authored by reutelhuber's avatar reutelhuber
Browse files

add another switch OSBA_LS_OUT that enables LS output for OSBA

parent 543a3317
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -168,6 +168,9 @@ typedef enum
#ifdef OSBA_AMBISONICS_OUT
    , RENDERER_OSBA_AMBI
#endif
#ifdef OSBA_LS_OUT
    , RENDERER_OSBA_LS
#endif
} RENDERER_TYPE;

/*----------------------------------------------------------------------------------*
+1 −0
Original line number Diff line number Diff line
@@ -218,6 +218,7 @@
#define OSBA_EXT_OUT
#define OSBA_MONO_STEREO_OUTPUT
#define OSBA_AMBISONICS_OUT
#define OSBA_LS_OUT
#endif
/* ################## End BE DEVELOPMENT switches ######################### */

+28 −0
Original line number Diff line number Diff line
@@ -662,6 +662,34 @@ ivas_error ivas_dec(
            }
        }
#endif
#ifdef OSBA_LS_OUT
        /* todo: almost the same path as for Ambisonics output. Should be merged at some point. */
        else if ( st_ivas->renderer_type == RENDERER_OSBA_LS )
        {
            float tmp_ism_out[MAX_CICP_CHANNELS][L_FRAME48k];
            float *p_tmp_ism_out[MAX_CICP_CHANNELS];

            for ( n = 0; n < nchan_out; n++ )
            {
                p_tmp_ism_out[n] = &tmp_ism_out[n][0];
            }

            for ( n = 0; n < nchan_ism; n++ )
            {
                mvr2r( output[n], tmp_ism_out[n], output_frame );
            }

            ivas_ism_render( st_ivas, p_tmp_ism_out, output_frame );

            ivas_sba_upmixer_renderer( st_ivas, &output[st_ivas->nchan_ism], output_frame );

            for ( n = 0; n < nchan_out; n++ )
            {
                v_add( output[n + nchan_ism], tmp_ism_out[n], output[n], output_frame );
                v_multc( output[n], 0.5f, output[n], output_frame );
            }
        }
#endif
        else /*HOA3 rendering for now*/
        {
#ifdef OSBA_EXT_OUT
+3 −0
Original line number Diff line number Diff line
@@ -851,6 +851,9 @@ ivas_error ivas_dirac_dec_config(
        case RENDERER_SBA_LINEAR_DEC:
#ifdef OSBA_AMBISONICS_OUT
        case RENDERER_OSBA_AMBI:
#endif
#ifdef OSBA_LS_OUT
        case RENDERER_OSBA_LS:
#endif
            need_dirac_rend = 1;
            break;
+6 −0
Original line number Diff line number Diff line
@@ -1709,6 +1709,9 @@ ivas_error ivas_init_decoder(
#endif
#ifdef OSBA_AMBISONICS_OUT
           st_ivas->renderer_type == RENDERER_OSBA_AMBI ||
#endif
#ifdef OSBA_LS_OUT
           st_ivas->renderer_type == RENDERER_OSBA_LS ||
#endif
           st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV ||
           st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ||
@@ -2440,6 +2443,9 @@ void ivas_init_dec_get_num_cldfb_instances(
#ifdef OSBA_AMBISONICS_OUT
        case RENDERER_OSBA_AMBI:
#endif
#ifdef OSBA_LS_OUT
        case RENDERER_OSBA_LS:
#endif
#ifdef OSBA_DISC_OBJ_MCT
            if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT )
#else
Loading