Loading lib_com/bitstream.c +14 −14 Original line number Diff line number Diff line Loading @@ -1428,7 +1428,6 @@ uint16_t get_indice_1( return st->bit_stream[pos]; } #define WMC_TOOL_SKIP /*-------------------------------------------------------------------* * reset_indices_enc() Loading Loading @@ -1468,6 +1467,7 @@ void reset_indices_dec( return; } /*-------------------------------------------------------------------* * write_indices_to_stream() * Loading Loading @@ -1838,6 +1838,7 @@ void convertBytestreamToSerial( } } /*-------------------------------------------------------------------* * decoder_selectCodec() * Loading Loading @@ -2515,8 +2516,8 @@ void ivas_set_bitstream_pointers( return; } #ifdef DEBUGGING /*-------------------------------------------------------------------* * preview_indices() * Loading Loading @@ -2786,14 +2787,15 @@ ivas_error preview_indices( return error; } #endif #endif /*-------------------------------------------------------------------* * read_indices() * * Read indices from an ITU-T G.192 bitstream to the buffer * Simulate packet losses by inserting frame erasures * Detect SID, NO_DATA, BFI, etc. and set bitstream pointers * Set ivas_total_brate * Note: each bit is represented in bitsream buffer as a uint16_t of value 0 or 1 *-------------------------------------------------------------------*/ /*! r: 1 = reading OK, 0 = problem */ Loading Loading @@ -2838,8 +2840,8 @@ ivas_error read_indices( /* convert the frame length to total bitrate */ total_brate = (int32_t) ( num_bits * FRAMES_PER_SEC ); /* verify that a valid num bits value is present in the G.192 file */ /* only AMRWB, EVS or IVAS bitrates or 0(NO DATA) are allowed in G.192 file frame reading */ /* verify that a valid num bits value is present */ /* only AMRWB, EVS or IVAS bitrates or 0(NO DATA) are allowed */ if ( st_ivas->ivas_format != MONO_FORMAT ) { k = 0; Loading @@ -2858,7 +2860,7 @@ ivas_error read_indices( } else if ( k == SIZE_IVAS_BRATE_TBL ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) detected! Exiting ! \n", total_brate ); } else { Loading @@ -2871,12 +2873,12 @@ ivas_error read_indices( if ( rate2EVSmode( total_brate, NULL ) < 0 ) /* negative value means that a valid rate was not found */ { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) detected! Exiting ! \n", total_brate ); } } /* G.192 RX DTX handler*/ /* handle SID_FIRST, SID_BAD, SPEECH_LOST, NO_DATA as properly as possible for the ITU-T G.192 format */ /* RX DTX handler*/ /* handle SID_FIRST, SID_BAD, SPEECH_LOST, NO_DATA */ /* (total_brate, bfi , st_CNG) = rx_handler(received frame type, [previous frame type], past CNG state, past core) */ curr_ft_good_sp = 0; curr_ft_bad_sp = 0; Loading Loading @@ -3036,7 +3038,6 @@ ivas_error read_indices( /* GOOD frame */ if ( st_ivas->bfi == 0 || st_ivas->bfi == FRAMEMODE_FUTURE ) { /* GOOD frame - convert ITU-T G.192 words to short values */ st_ivas->hDecoderConfig->ivas_total_brate = total_brate; } Loading @@ -3050,6 +3051,7 @@ ivas_error read_indices( return error; } /*-------------------------------------------------------------------* * get_rfFrameType() * Loading Loading @@ -3467,5 +3469,3 @@ void dtx_read_padding_bits( return; } #undef WMC_TOOL_SKIP scripts/self_test.py +20 −4 Original line number Diff line number Diff line Loading @@ -48,9 +48,9 @@ import pyivastest.constants as constants import pyivastest.ivas_svn as svn from pyivastest import IvasScriptsCommon from pyivastest.IvasModeAnalyzer import * from pyivastest.IvasModeCollector import * from pyivastest.IvasModeRunner import * from pyivastest.IvasSvnBuilder import * from pyivastest.IvasModeCollector import IvasModeCollector BW_TO_SR = {"nb": 8, "wb": 16, "swb": 32, "fb": 48} SR_TO_BW = {"8": "nb", "16": "wb", "32": "swb", "48": "fb"} Loading Loading @@ -1276,11 +1276,27 @@ class SelfTest(IvasScriptsCommon.IvasScript): self.logger.console( "Create mode: ignoring all other optional commandline arguments regarding reference and test conditions" ) if self.args["encref"] is None: if self.args["enctest"] is not None: # use Test encoder binary for reference generation self.args["encref"] = os.path.realpath(self.args["enctest"]) else: self.args["encref"] = default_enc_test if self.args["decref"] is None: if self.args["dectest"] is not None: # use Test decoder binary for reference generation self.args["decref"] = os.path.realpath(self.args["dectest"]) else: self.args["decref"] = default_dec_test if self.args["srcdirref"] is None: self.args["srcdirref"] = constants.WC_BASE_DIR if self.valgrind is not None and self.args["valgrind"] is True: valgrind_ref = self.valgrind create_mode = True run_ref = True else: Loading Loading
lib_com/bitstream.c +14 −14 Original line number Diff line number Diff line Loading @@ -1428,7 +1428,6 @@ uint16_t get_indice_1( return st->bit_stream[pos]; } #define WMC_TOOL_SKIP /*-------------------------------------------------------------------* * reset_indices_enc() Loading Loading @@ -1468,6 +1467,7 @@ void reset_indices_dec( return; } /*-------------------------------------------------------------------* * write_indices_to_stream() * Loading Loading @@ -1838,6 +1838,7 @@ void convertBytestreamToSerial( } } /*-------------------------------------------------------------------* * decoder_selectCodec() * Loading Loading @@ -2515,8 +2516,8 @@ void ivas_set_bitstream_pointers( return; } #ifdef DEBUGGING /*-------------------------------------------------------------------* * preview_indices() * Loading Loading @@ -2786,14 +2787,15 @@ ivas_error preview_indices( return error; } #endif #endif /*-------------------------------------------------------------------* * read_indices() * * Read indices from an ITU-T G.192 bitstream to the buffer * Simulate packet losses by inserting frame erasures * Detect SID, NO_DATA, BFI, etc. and set bitstream pointers * Set ivas_total_brate * Note: each bit is represented in bitsream buffer as a uint16_t of value 0 or 1 *-------------------------------------------------------------------*/ /*! r: 1 = reading OK, 0 = problem */ Loading Loading @@ -2838,8 +2840,8 @@ ivas_error read_indices( /* convert the frame length to total bitrate */ total_brate = (int32_t) ( num_bits * FRAMES_PER_SEC ); /* verify that a valid num bits value is present in the G.192 file */ /* only AMRWB, EVS or IVAS bitrates or 0(NO DATA) are allowed in G.192 file frame reading */ /* verify that a valid num bits value is present */ /* only AMRWB, EVS or IVAS bitrates or 0(NO DATA) are allowed */ if ( st_ivas->ivas_format != MONO_FORMAT ) { k = 0; Loading @@ -2858,7 +2860,7 @@ ivas_error read_indices( } else if ( k == SIZE_IVAS_BRATE_TBL ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) detected! Exiting ! \n", total_brate ); } else { Loading @@ -2871,12 +2873,12 @@ ivas_error read_indices( if ( rate2EVSmode( total_brate, NULL ) < 0 ) /* negative value means that a valid rate was not found */ { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) in the G.192 frame ! Exiting ! \n", total_brate ); return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error, illegal bitrate (%d) detected! Exiting ! \n", total_brate ); } } /* G.192 RX DTX handler*/ /* handle SID_FIRST, SID_BAD, SPEECH_LOST, NO_DATA as properly as possible for the ITU-T G.192 format */ /* RX DTX handler*/ /* handle SID_FIRST, SID_BAD, SPEECH_LOST, NO_DATA */ /* (total_brate, bfi , st_CNG) = rx_handler(received frame type, [previous frame type], past CNG state, past core) */ curr_ft_good_sp = 0; curr_ft_bad_sp = 0; Loading Loading @@ -3036,7 +3038,6 @@ ivas_error read_indices( /* GOOD frame */ if ( st_ivas->bfi == 0 || st_ivas->bfi == FRAMEMODE_FUTURE ) { /* GOOD frame - convert ITU-T G.192 words to short values */ st_ivas->hDecoderConfig->ivas_total_brate = total_brate; } Loading @@ -3050,6 +3051,7 @@ ivas_error read_indices( return error; } /*-------------------------------------------------------------------* * get_rfFrameType() * Loading Loading @@ -3467,5 +3469,3 @@ void dtx_read_padding_bits( return; } #undef WMC_TOOL_SKIP
scripts/self_test.py +20 −4 Original line number Diff line number Diff line Loading @@ -48,9 +48,9 @@ import pyivastest.constants as constants import pyivastest.ivas_svn as svn from pyivastest import IvasScriptsCommon from pyivastest.IvasModeAnalyzer import * from pyivastest.IvasModeCollector import * from pyivastest.IvasModeRunner import * from pyivastest.IvasSvnBuilder import * from pyivastest.IvasModeCollector import IvasModeCollector BW_TO_SR = {"nb": 8, "wb": 16, "swb": 32, "fb": 48} SR_TO_BW = {"8": "nb", "16": "wb", "32": "swb", "48": "fb"} Loading Loading @@ -1276,11 +1276,27 @@ class SelfTest(IvasScriptsCommon.IvasScript): self.logger.console( "Create mode: ignoring all other optional commandline arguments regarding reference and test conditions" ) if self.args["encref"] is None: if self.args["enctest"] is not None: # use Test encoder binary for reference generation self.args["encref"] = os.path.realpath(self.args["enctest"]) else: self.args["encref"] = default_enc_test if self.args["decref"] is None: if self.args["dectest"] is not None: # use Test decoder binary for reference generation self.args["decref"] = os.path.realpath(self.args["dectest"]) else: self.args["decref"] = default_dec_test if self.args["srcdirref"] is None: self.args["srcdirref"] = constants.WC_BASE_DIR if self.valgrind is not None and self.args["valgrind"] is True: valgrind_ref = self.valgrind create_mode = True run_ref = True else: Loading