Loading lib_com/bitstream.c +58 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,64 @@ ivas_error ind_list_realloc( return IVAS_ERR_OK; } /*-------------------------------------------------------------------* * ind_list_metadata_realloc() * * Re-allocate list of metadata indices if the IVAS total bitrate has changed *-------------------------------------------------------------------*/ // ivas_error ind_list_metadata_realloc( // BSTR_ENC_HANDLE hMetaData, /* i/o: encoder bitstream handle */ // const IVAS_FORMAT ivas_format, /* i : IVAS format */ // const int32_t ivas_total_brate /* i : IVAS total bitrate */ //) //{ // int16_t i, max_num_indices_metadata; // INDICE_HANDLE new_ind_list_metadata; // // if ( hMetaData != NULL && hMetaData->ind_list != NULL ) // { // /* get the maximum allowed number of indices in the list */ // max_num_indices_metadata = get_max_num_indices_metadata( ivas_format, ivas_total_brate ); // // /* check, if the maximum number of allowed indices has changed */ // if ( max_num_indices_metadata != hMetaData->max_num_indices ) // { // /* allocate new buffer of metadata indices */ // if ( ( new_ind_list_metadata = (INDICE_HANDLE) malloc( max_num_indices_metadata * sizeof( Indice ) ) ) == NULL ) // { // return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for buffer of metadata indices!\n" ) ); // } // // /* move indices from the old list to the new list */ // i = 0; // while ( hMetaData->ind_list[i].nb_bits > 0 ) // { // new_ind_list_metadata[i].id = hMetaData->ind_list[i].id; // new_ind_list_metadata[i].value = hMetaData->ind_list[i].value; // new_ind_list_metadata[i].nb_bits = hMetaData->ind_list[i].nb_bits; // i++; // } // // /* reset nb_bits of all other indices to -1 */ // for ( ; i < max_num_indices_metadata; i++ ) // { // new_ind_list_metadata[i].nb_bits = -1; // } // // /* free the old list */ // free( hMetaData->ind_list ); // // /* set pointer to the new list */ // hMetaData->ind_list = new_ind_list_metadata; // // /* set the new maximum for the allowed number of indices */ // hMetaData->max_num_indices = max_num_indices_metadata; // } // } // // return IVAS_ERR_OK; // } /*-----------------------------------------------------------------------* * get_max_num_indices() Loading Loading
lib_com/bitstream.c +58 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,64 @@ ivas_error ind_list_realloc( return IVAS_ERR_OK; } /*-------------------------------------------------------------------* * ind_list_metadata_realloc() * * Re-allocate list of metadata indices if the IVAS total bitrate has changed *-------------------------------------------------------------------*/ // ivas_error ind_list_metadata_realloc( // BSTR_ENC_HANDLE hMetaData, /* i/o: encoder bitstream handle */ // const IVAS_FORMAT ivas_format, /* i : IVAS format */ // const int32_t ivas_total_brate /* i : IVAS total bitrate */ //) //{ // int16_t i, max_num_indices_metadata; // INDICE_HANDLE new_ind_list_metadata; // // if ( hMetaData != NULL && hMetaData->ind_list != NULL ) // { // /* get the maximum allowed number of indices in the list */ // max_num_indices_metadata = get_max_num_indices_metadata( ivas_format, ivas_total_brate ); // // /* check, if the maximum number of allowed indices has changed */ // if ( max_num_indices_metadata != hMetaData->max_num_indices ) // { // /* allocate new buffer of metadata indices */ // if ( ( new_ind_list_metadata = (INDICE_HANDLE) malloc( max_num_indices_metadata * sizeof( Indice ) ) ) == NULL ) // { // return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for buffer of metadata indices!\n" ) ); // } // // /* move indices from the old list to the new list */ // i = 0; // while ( hMetaData->ind_list[i].nb_bits > 0 ) // { // new_ind_list_metadata[i].id = hMetaData->ind_list[i].id; // new_ind_list_metadata[i].value = hMetaData->ind_list[i].value; // new_ind_list_metadata[i].nb_bits = hMetaData->ind_list[i].nb_bits; // i++; // } // // /* reset nb_bits of all other indices to -1 */ // for ( ; i < max_num_indices_metadata; i++ ) // { // new_ind_list_metadata[i].nb_bits = -1; // } // // /* free the old list */ // free( hMetaData->ind_list ); // // /* set pointer to the new list */ // hMetaData->ind_list = new_ind_list_metadata; // // /* set the new maximum for the allowed number of indices */ // hMetaData->max_num_indices = max_num_indices_metadata; // } // } // // return IVAS_ERR_OK; // } /*-----------------------------------------------------------------------* * get_max_num_indices() Loading