Loading apps/decoder.c +4 −4 Original line number Diff line number Diff line Loading @@ -427,25 +427,25 @@ int main( /* sanity check */ if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM ) { fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n" ); fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n\n" ); goto cleanup; } if ( ( error = IVAS_DEC_GetRenderConfig( hIvasDec, &renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( RenderConfigReader_read( renderConfigReader, &renderConfig ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to read renderer configuration from file %s\n", arg.renderConfigFilename ); fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename ); goto cleanup; } if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } } Loading lib_com/bitstream.c +24 −0 Original line number Diff line number Diff line Loading @@ -1820,7 +1820,11 @@ ivas_error preview_indices( break; } } #ifdef ALIGN_SID_SIZE else if ( total_brate == IVAS_SID_5k2 ) #else else if ( total_brate == IVAS_SID_4k4 ) #endif { /* read SID format */ st_ivas->sid_format = 0; Loading Loading @@ -1884,6 +1888,7 @@ ivas_error preview_indices( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Invalid value %c found in SID format field.", st_ivas->sid_format ); } } #ifndef ALIGN_SID_SIZE else if ( total_brate == IVAS_SID_5k ) { /* SBA SID frame */ Loading @@ -1892,6 +1897,7 @@ ivas_error preview_indices( st_ivas->sba_mode = SBA_MODE_SPAR; st_ivas->element_mode_init = IVAS_SCE; } #endif /* only read element mode from active frames */ if ( is_DTXrate( total_brate ) == 0 ) Loading Loading @@ -2063,6 +2069,9 @@ ivas_error read_indices( } else if ( k == SIZE_IVAS_BRATE_TBL ) { #ifdef ALIGN_SID_SIZE return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); #else /*temp change for SPAR DTX*/ if ( total_brate == IVAS_SID_5k ) { Loading @@ -2072,6 +2081,7 @@ ivas_error read_indices( { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); } #endif } else { Loading Loading @@ -2965,4 +2975,18 @@ void evs_dec_previewFrame( } #ifdef ALIGN_SID_SIZE void dtx_read_padding_bits( DEC_CORE_HANDLE st, int16_t num_bits ) { /* TODO: temporary hack, need to decide what to do with core-coder bitrate */ int32_t tmp; tmp = st->total_brate; st->total_brate = st->total_brate + num_bits * FRAMES_PER_SEC; get_next_indice( st, num_bits ); st->total_brate = tmp; } #endif #undef WMC_TOOL_MAN lib_com/ivas_cnst.h +13 −1 Original line number Diff line number Diff line Loading @@ -195,9 +195,12 @@ typedef enum /*----------------------------------------------------------------------------------* * IVAS Bitrates *----------------------------------------------------------------------------------*/ #ifdef ALIGN_SID_SIZE #define IVAS_SID_5k2 5200 /* SID frame bitrate */ #else #define IVAS_SID_4k4 4400 /* SID frame bitrate */ #define IVAS_SID_5k 5000 /* SBA SID frame bitrate */ #endif #define IVAS_13k2 13200 #define IVAS_16k4 16400 #define IVAS_24k4 24400 Loading @@ -215,8 +218,13 @@ typedef enum #define IVAS_BRATE_MAX IVAS_512k #ifdef ALIGN_SID_SIZE #define SIZE_IVAS_BRATE_TBL 16 #define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 2) #else #define SIZE_IVAS_BRATE_TBL 17 #define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 3) #endif /*----------------------------------------------------------------------------------* * IVAS modes : IVAS SCE, IVAS CPE modes (DFT, TD, MDCT stereo) Loading Loading @@ -1007,7 +1015,11 @@ enum /* IVAS PCA */ #define IVAS_PCA_NB_SUBR 20 /* 80 -> 0.25 ms, 40 -> 0.5 ms... */ #ifdef SPAR_SCALING_HARMONIZATION #define IVAS_PCA_COV_THRES 3e-5f #else #define IVAS_PCA_COV_THRES 1e-9f #endif #define IVAS_PCA_QUAT_EPS 1e-7f #define IVAS_PCA_QBITS 19 #define IVAS_PCA_N1 91 Loading lib_com/ivas_dirac_com.c +12 −0 Original line number Diff line number Diff line Loading @@ -323,7 +323,11 @@ ivas_error ivas_dirac_sba_config( if ( sba_mode == SBA_MODE_SPAR ) { /*map the bitrate for SID frame*/ #ifdef ALIGN_SID_SIZE if ( sba_total_brate == IVAS_SID_5k2 ) #else if ( sba_total_brate == IVAS_SID_5k ) #endif { if ( *element_mode == IVAS_SCE ) { Loading Loading @@ -420,11 +424,19 @@ ivas_error ivas_dirac_sba_config( return error; } #ifdef ALIGN_SID_SIZE if ( sba_total_brate > IVAS_SID_5k2 ) #else if ( sba_total_brate > IVAS_SID_4k4 ) #endif { *nchan_transport = ivas_dirac_getNumTransportChannels( sba_total_brate, sba_order, sba_planar ); } #ifdef ALIGN_SID_SIZE else if ( sba_total_brate == IVAS_SID_5k2 ) #else else if ( sba_total_brate == IVAS_SID_4k4 ) #endif { switch ( *element_mode ) { Loading lib_com/ivas_prot.h +11 −0 Original line number Diff line number Diff line Loading @@ -2773,8 +2773,12 @@ void reset_metadata_spatial( int32_t *total_brate, /* o : total bitrate */ const int32_t core_brate, /* i : core bitrate */ const int16_t nb_bits_metadata, /* i : number of meatdata bits */ #ifndef ALIGN_SID_SIZE const SBA_MODE sba_mode, /* i : SBA mode */ const int16_t element_mode /* i : element mode */ #else const SBA_MODE sba_mode /* i : SBA mode */ #endif ); /*! r: number of bits written */ Loading Loading @@ -5476,4 +5480,11 @@ float rand_triangular_signed( /* clang-format on */ #ifdef ALIGN_SID_SIZE void dtx_read_padding_bits( DEC_CORE_HANDLE st, int16_t num_bits ); #endif #endif /* IVAS_PROT_H */ Loading
apps/decoder.c +4 −4 Original line number Diff line number Diff line Loading @@ -427,25 +427,25 @@ int main( /* sanity check */ if ( arg.outputFormat != IVAS_DEC_OUTPUT_BINAURAL_ROOM ) { fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n" ); fprintf( stderr, "\nExternal Renderer Config is supported only when BINAURAL_ROOM is used as output. Exiting. \n\n" ); goto cleanup; } if ( ( error = IVAS_DEC_GetRenderConfig( hIvasDec, &renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); fprintf( stderr, "\nIVAS_DEC_GetRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( RenderConfigReader_read( renderConfigReader, &renderConfig ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to read renderer configuration from file %s\n", arg.renderConfigFilename ); fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename ); goto cleanup; } if ( ( error = IVAS_DEC_FeedRenderConfig( hIvasDec, renderConfig ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); fprintf( stderr, "\nIVAS_DEC_FeedRenderConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } } Loading
lib_com/bitstream.c +24 −0 Original line number Diff line number Diff line Loading @@ -1820,7 +1820,11 @@ ivas_error preview_indices( break; } } #ifdef ALIGN_SID_SIZE else if ( total_brate == IVAS_SID_5k2 ) #else else if ( total_brate == IVAS_SID_4k4 ) #endif { /* read SID format */ st_ivas->sid_format = 0; Loading Loading @@ -1884,6 +1888,7 @@ ivas_error preview_indices( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Invalid value %c found in SID format field.", st_ivas->sid_format ); } } #ifndef ALIGN_SID_SIZE else if ( total_brate == IVAS_SID_5k ) { /* SBA SID frame */ Loading @@ -1892,6 +1897,7 @@ ivas_error preview_indices( st_ivas->sba_mode = SBA_MODE_SPAR; st_ivas->element_mode_init = IVAS_SCE; } #endif /* only read element mode from active frames */ if ( is_DTXrate( total_brate ) == 0 ) Loading Loading @@ -2063,6 +2069,9 @@ ivas_error read_indices( } else if ( k == SIZE_IVAS_BRATE_TBL ) { #ifdef ALIGN_SID_SIZE return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); #else /*temp change for SPAR DTX*/ if ( total_brate == IVAS_SID_5k ) { Loading @@ -2072,6 +2081,7 @@ ivas_error read_indices( { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); } #endif } else { Loading Loading @@ -2965,4 +2975,18 @@ void evs_dec_previewFrame( } #ifdef ALIGN_SID_SIZE void dtx_read_padding_bits( DEC_CORE_HANDLE st, int16_t num_bits ) { /* TODO: temporary hack, need to decide what to do with core-coder bitrate */ int32_t tmp; tmp = st->total_brate; st->total_brate = st->total_brate + num_bits * FRAMES_PER_SEC; get_next_indice( st, num_bits ); st->total_brate = tmp; } #endif #undef WMC_TOOL_MAN
lib_com/ivas_cnst.h +13 −1 Original line number Diff line number Diff line Loading @@ -195,9 +195,12 @@ typedef enum /*----------------------------------------------------------------------------------* * IVAS Bitrates *----------------------------------------------------------------------------------*/ #ifdef ALIGN_SID_SIZE #define IVAS_SID_5k2 5200 /* SID frame bitrate */ #else #define IVAS_SID_4k4 4400 /* SID frame bitrate */ #define IVAS_SID_5k 5000 /* SBA SID frame bitrate */ #endif #define IVAS_13k2 13200 #define IVAS_16k4 16400 #define IVAS_24k4 24400 Loading @@ -215,8 +218,13 @@ typedef enum #define IVAS_BRATE_MAX IVAS_512k #ifdef ALIGN_SID_SIZE #define SIZE_IVAS_BRATE_TBL 16 #define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 2) #else #define SIZE_IVAS_BRATE_TBL 17 #define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 3) #endif /*----------------------------------------------------------------------------------* * IVAS modes : IVAS SCE, IVAS CPE modes (DFT, TD, MDCT stereo) Loading Loading @@ -1007,7 +1015,11 @@ enum /* IVAS PCA */ #define IVAS_PCA_NB_SUBR 20 /* 80 -> 0.25 ms, 40 -> 0.5 ms... */ #ifdef SPAR_SCALING_HARMONIZATION #define IVAS_PCA_COV_THRES 3e-5f #else #define IVAS_PCA_COV_THRES 1e-9f #endif #define IVAS_PCA_QUAT_EPS 1e-7f #define IVAS_PCA_QBITS 19 #define IVAS_PCA_N1 91 Loading
lib_com/ivas_dirac_com.c +12 −0 Original line number Diff line number Diff line Loading @@ -323,7 +323,11 @@ ivas_error ivas_dirac_sba_config( if ( sba_mode == SBA_MODE_SPAR ) { /*map the bitrate for SID frame*/ #ifdef ALIGN_SID_SIZE if ( sba_total_brate == IVAS_SID_5k2 ) #else if ( sba_total_brate == IVAS_SID_5k ) #endif { if ( *element_mode == IVAS_SCE ) { Loading Loading @@ -420,11 +424,19 @@ ivas_error ivas_dirac_sba_config( return error; } #ifdef ALIGN_SID_SIZE if ( sba_total_brate > IVAS_SID_5k2 ) #else if ( sba_total_brate > IVAS_SID_4k4 ) #endif { *nchan_transport = ivas_dirac_getNumTransportChannels( sba_total_brate, sba_order, sba_planar ); } #ifdef ALIGN_SID_SIZE else if ( sba_total_brate == IVAS_SID_5k2 ) #else else if ( sba_total_brate == IVAS_SID_4k4 ) #endif { switch ( *element_mode ) { Loading
lib_com/ivas_prot.h +11 −0 Original line number Diff line number Diff line Loading @@ -2773,8 +2773,12 @@ void reset_metadata_spatial( int32_t *total_brate, /* o : total bitrate */ const int32_t core_brate, /* i : core bitrate */ const int16_t nb_bits_metadata, /* i : number of meatdata bits */ #ifndef ALIGN_SID_SIZE const SBA_MODE sba_mode, /* i : SBA mode */ const int16_t element_mode /* i : element mode */ #else const SBA_MODE sba_mode /* i : SBA mode */ #endif ); /*! r: number of bits written */ Loading Loading @@ -5476,4 +5480,11 @@ float rand_triangular_signed( /* clang-format on */ #ifdef ALIGN_SID_SIZE void dtx_read_padding_bits( DEC_CORE_HANDLE st, int16_t num_bits ); #endif #endif /* IVAS_PROT_H */