Loading lib_com/ivas_cnst.h +3 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,9 @@ typedef enum #ifdef OSBA_MONO_STEREO_OUTPUT , RENDERER_OSBA_STEREO #endif #ifdef OSBA_AMBISONICS_OUT , RENDERER_OSBA_AMBI #endif } RENDERER_TYPE; /*----------------------------------------------------------------------------------* Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ #define ENABLE_ISM_MD_CODING #define OSBA_EXT_OUT #define OSBA_MONO_STEREO_OUTPUT #define OSBA_AMBISONICS_OUT #endif /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dec.c +26 −0 Original line number Diff line number Diff line Loading @@ -634,6 +634,32 @@ ivas_error ivas_dec( v_add( output[n], output[n + max(nchan_out, nchan_ism)], output[n], output_frame ); } } #endif #ifdef OSBA_AMBISONICS_OUT else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI ) { float tmp_ism_out[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float *p_tmp_ism_out[MAX_OUTPUT_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_ism2sba( p_tmp_ism_out, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_ism, output_frame, st_ivas->hIntSetup.ambisonics_order ); 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 ); } } #endif else /*HOA3 rendering for now*/ { Loading lib_dec/ivas_dirac_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -849,6 +849,9 @@ ivas_error ivas_dirac_dec_config( case RENDERER_BINAURAL_FASTCONV_ROOM: case RENDERER_SBA_LINEAR_ENC: case RENDERER_SBA_LINEAR_DEC: #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif need_dirac_rend = 1; break; default: Loading lib_dec/ivas_init_dec.c +6 −0 Original line number Diff line number Diff line Loading @@ -1706,6 +1706,9 @@ ivas_error ivas_init_decoder( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || #ifdef OSBA_MONO_STEREO_OUTPUT st_ivas->renderer_type == RENDERER_OSBA_STEREO || #endif #ifdef OSBA_AMBISONICS_OUT st_ivas->renderer_type == RENDERER_OSBA_AMBI || #endif st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || Loading Loading @@ -2434,6 +2437,9 @@ void ivas_init_dec_get_num_cldfb_instances( #ifdef OSBA_MONO_STEREO_OUTPUT case RENDERER_OSBA_STEREO: #endif #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_DISC_OBJ_MCT if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) #else Loading Loading
lib_com/ivas_cnst.h +3 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,9 @@ typedef enum #ifdef OSBA_MONO_STEREO_OUTPUT , RENDERER_OSBA_STEREO #endif #ifdef OSBA_AMBISONICS_OUT , RENDERER_OSBA_AMBI #endif } RENDERER_TYPE; /*----------------------------------------------------------------------------------* Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ #define ENABLE_ISM_MD_CODING #define OSBA_EXT_OUT #define OSBA_MONO_STEREO_OUTPUT #define OSBA_AMBISONICS_OUT #endif /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dec.c +26 −0 Original line number Diff line number Diff line Loading @@ -634,6 +634,32 @@ ivas_error ivas_dec( v_add( output[n], output[n + max(nchan_out, nchan_ism)], output[n], output_frame ); } } #endif #ifdef OSBA_AMBISONICS_OUT else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI ) { float tmp_ism_out[MAX_OUTPUT_CHANNELS][L_FRAME48k]; float *p_tmp_ism_out[MAX_OUTPUT_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_ism2sba( p_tmp_ism_out, st_ivas->hIsmRendererData, st_ivas->hIsmMetaData, st_ivas->nchan_ism, output_frame, st_ivas->hIntSetup.ambisonics_order ); 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 ); } } #endif else /*HOA3 rendering for now*/ { Loading
lib_dec/ivas_dirac_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -849,6 +849,9 @@ ivas_error ivas_dirac_dec_config( case RENDERER_BINAURAL_FASTCONV_ROOM: case RENDERER_SBA_LINEAR_ENC: case RENDERER_SBA_LINEAR_DEC: #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif need_dirac_rend = 1; break; default: Loading
lib_dec/ivas_init_dec.c +6 −0 Original line number Diff line number Diff line Loading @@ -1706,6 +1706,9 @@ ivas_error ivas_init_decoder( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || #ifdef OSBA_MONO_STEREO_OUTPUT st_ivas->renderer_type == RENDERER_OSBA_STEREO || #endif #ifdef OSBA_AMBISONICS_OUT st_ivas->renderer_type == RENDERER_OSBA_AMBI || #endif st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || Loading Loading @@ -2434,6 +2437,9 @@ void ivas_init_dec_get_num_cldfb_instances( #ifdef OSBA_MONO_STEREO_OUTPUT case RENDERER_OSBA_STEREO: #endif #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_DISC_OBJ_MCT if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) #else Loading