Loading lib_dec/ivas_output_config.c +35 −5 Original line number Diff line number Diff line Loading @@ -410,8 +410,17 @@ void ivas_renderer_select( #endif { *renderer_type = RENDERER_DIRAC; #ifdef SBA_AND_OBJECTS IVAS_FORMAT ivas_format = ( st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_MODE_NONE ) ? SBA_FORMAT : st_ivas->ivas_format; /* treat ISM_SBA_MODE_NONE just like SBA_FORMAT */ #endif #ifdef SBA_AND_OBJECTS if ( ivas_format == SBA_FORMAT && ( output_config != AUDIO_CONFIG_5_1 && output_config != AUDIO_CONFIG_5_1_2 && output_config != AUDIO_CONFIG_5_1_4 && output_config != AUDIO_CONFIG_7_1 && output_config != AUDIO_CONFIG_7_1_4 && output_config != AUDIO_CONFIG_LS_CUSTOM && output_config != AUDIO_CONFIG_MONO && output_config != AUDIO_CONFIG_STEREO ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && ( output_config != AUDIO_CONFIG_5_1 && output_config != AUDIO_CONFIG_5_1_2 && output_config != AUDIO_CONFIG_5_1_4 && output_config != AUDIO_CONFIG_7_1 && output_config != AUDIO_CONFIG_7_1_4 && output_config != AUDIO_CONFIG_LS_CUSTOM && output_config != AUDIO_CONFIG_MONO && output_config != AUDIO_CONFIG_STEREO ) ) #endif { if ( output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_FOA ) { Loading @@ -427,51 +436,72 @@ void ivas_renderer_select( } st_ivas->renderer_type = RENDERER_SBA_LINEAR_DEC; } #ifdef SBA_AND_OBJECTS else if ( ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) || ( ivas_format == SBA_FORMAT && ( output_config == AUDIO_CONFIG_STEREO || output_config == AUDIO_CONFIG_MONO ) ) ) #else else if ( ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) || ( st_ivas->ivas_format == SBA_FORMAT && ( output_config == AUDIO_CONFIG_STEREO || output_config == AUDIO_CONFIG_MONO ) ) ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->hDecoderConfig->ivas_total_brate < MASA_STEREO_MIN_BITRATE && st_ivas->hDecoderConfig->ivas_total_brate > IVAS_SID_5k2 ) ) #else else if ( ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->hDecoderConfig->ivas_total_brate < MASA_STEREO_MIN_BITRATE && st_ivas->hDecoderConfig->ivas_total_brate > IVAS_SID_5k2 ) ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_STEREO ) #else else if ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_STEREO ) #endif { *renderer_type = RENDERER_STEREO_PARAMETRIC; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) #else else if ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) #else else if ( st_ivas->ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) #endif { *renderer_type = RENDERER_SBA_LINEAR_DEC; } #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_STEREO ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_STEREO ) { *renderer_type = RENDERER_OSBA_STEREO; } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_MONO ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_MONO ) { *renderer_type = RENDERER_MONO_DOWNMIX; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) ) else if ( ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) ) { *renderer_type = RENDERER_OSBA_AMBI; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_5_1 || output_config == AUDIO_CONFIG_5_1_2 || output_config == AUDIO_CONFIG_5_1_4 || output_config == AUDIO_CONFIG_7_1 || output_config == AUDIO_CONFIG_7_1_4 || output_config == AUDIO_CONFIG_LS_CUSTOM ) ) else if ( ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_5_1 || output_config == AUDIO_CONFIG_5_1_2 || output_config == AUDIO_CONFIG_5_1_4 || output_config == AUDIO_CONFIG_7_1 || output_config == AUDIO_CONFIG_7_1_4 || output_config == AUDIO_CONFIG_LS_CUSTOM ) ) { *renderer_type = RENDERER_OSBA_LS; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) { *renderer_type = RENDERER_SBA_LINEAR_DEC; } Loading Loading
lib_dec/ivas_output_config.c +35 −5 Original line number Diff line number Diff line Loading @@ -410,8 +410,17 @@ void ivas_renderer_select( #endif { *renderer_type = RENDERER_DIRAC; #ifdef SBA_AND_OBJECTS IVAS_FORMAT ivas_format = ( st_ivas->ivas_format == SBA_ISM_FORMAT && st_ivas->ism_mode == ISM_MODE_NONE ) ? SBA_FORMAT : st_ivas->ivas_format; /* treat ISM_SBA_MODE_NONE just like SBA_FORMAT */ #endif #ifdef SBA_AND_OBJECTS if ( ivas_format == SBA_FORMAT && ( output_config != AUDIO_CONFIG_5_1 && output_config != AUDIO_CONFIG_5_1_2 && output_config != AUDIO_CONFIG_5_1_4 && output_config != AUDIO_CONFIG_7_1 && output_config != AUDIO_CONFIG_7_1_4 && output_config != AUDIO_CONFIG_LS_CUSTOM && output_config != AUDIO_CONFIG_MONO && output_config != AUDIO_CONFIG_STEREO ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && ( output_config != AUDIO_CONFIG_5_1 && output_config != AUDIO_CONFIG_5_1_2 && output_config != AUDIO_CONFIG_5_1_4 && output_config != AUDIO_CONFIG_7_1 && output_config != AUDIO_CONFIG_7_1_4 && output_config != AUDIO_CONFIG_LS_CUSTOM && output_config != AUDIO_CONFIG_MONO && output_config != AUDIO_CONFIG_STEREO ) ) #endif { if ( output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_FOA ) { Loading @@ -427,51 +436,72 @@ void ivas_renderer_select( } st_ivas->renderer_type = RENDERER_SBA_LINEAR_DEC; } #ifdef SBA_AND_OBJECTS else if ( ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) || ( ivas_format == SBA_FORMAT && ( output_config == AUDIO_CONFIG_STEREO || output_config == AUDIO_CONFIG_MONO ) ) ) #else else if ( ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) || ( st_ivas->ivas_format == SBA_FORMAT && ( output_config == AUDIO_CONFIG_STEREO || output_config == AUDIO_CONFIG_MONO ) ) ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->hDecoderConfig->ivas_total_brate < MASA_STEREO_MIN_BITRATE && st_ivas->hDecoderConfig->ivas_total_brate > IVAS_SID_5k2 ) ) #else else if ( ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_MONO && st_ivas->hDecoderConfig->ivas_total_brate < MASA_STEREO_MIN_BITRATE && st_ivas->hDecoderConfig->ivas_total_brate > IVAS_SID_5k2 ) ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_STEREO ) #else else if ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_STEREO ) #endif { *renderer_type = RENDERER_STEREO_PARAMETRIC; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) #else else if ( st_ivas->ivas_format == MASA_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) #endif { *renderer_type = RENDERER_DISABLE; } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) #else else if ( st_ivas->ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) #endif { *renderer_type = RENDERER_SBA_LINEAR_DEC; } #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_STEREO ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_STEREO ) { *renderer_type = RENDERER_OSBA_STEREO; } else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_MONO ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_MONO ) { *renderer_type = RENDERER_MONO_DOWNMIX; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) ) else if ( ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) ) { *renderer_type = RENDERER_OSBA_AMBI; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_5_1 || output_config == AUDIO_CONFIG_5_1_2 || output_config == AUDIO_CONFIG_5_1_4 || output_config == AUDIO_CONFIG_7_1 || output_config == AUDIO_CONFIG_7_1_4 || output_config == AUDIO_CONFIG_LS_CUSTOM ) ) else if ( ivas_format == SBA_ISM_FORMAT && ( output_config == AUDIO_CONFIG_5_1 || output_config == AUDIO_CONFIG_5_1_2 || output_config == AUDIO_CONFIG_5_1_4 || output_config == AUDIO_CONFIG_7_1 || output_config == AUDIO_CONFIG_7_1_4 || output_config == AUDIO_CONFIG_LS_CUSTOM ) ) { *renderer_type = RENDERER_OSBA_LS; } #endif #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) else if ( ivas_format == SBA_ISM_FORMAT && output_config == AUDIO_CONFIG_EXTERNAL ) { *renderer_type = RENDERER_SBA_LINEAR_DEC; } Loading