Loading lib_dec/ivas_ism_metadata_dec.c +20 −7 Original line number Diff line number Diff line Loading @@ -53,8 +53,8 @@ #define IVAS_ISM_DTX_HO_MAX 5 #define CNG_MD_MAX_DIFF_AZIMUTH 8 #define CNG_MD_MAX_DIFF_ELEVATION 8 #define CNG_MD_MAX_DIFF_AZIMUTH 5 #define CNG_MD_MAX_DIFF_ELEVATION 5 /*-------------------------------------------------------------------* Loading @@ -72,7 +72,7 @@ static void ism_metadata_smooth( ISM_METADATA_HANDLE hIsmMetaData; int16_t ch; float diff; return; for ( ch = 0; ch < num_obj; ch++ ) { hIsmMetaData = hIsmMeta[ch]; Loading Loading @@ -913,7 +913,7 @@ ivas_error ivas_ism_metadata_sid_dec( /* Azimuth decoding */ idx_azimuth = get_next_indice( st0, nBits_azimuth ); #ifndef UNIFY_MD_QUANTIZER // VE!!!!! TBV #ifndef UNIFY_MD_QUANTIZER /* azimuth is on a circle - check for diff coding for -180° -> 180° and vice versa changes */ if ( idx_azimuth > ( 1 << ISM_AZIMUTH_NBITS ) - 1 ) { Loading @@ -938,7 +938,7 @@ ivas_error ivas_ism_metadata_sid_dec( hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, 1 << ISM_AZIMUTH_NBITS ); #else hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, ISM_Q_STEP, ISM_Q_STEP_BORDER, 1 << nBits_azimuth ); hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, q_step, q_step_border, 1 << nBits_azimuth ); #endif /* Elevation decoding */ Loading @@ -954,17 +954,30 @@ ivas_error ivas_ism_metadata_sid_dec( /* Elevation dequantization */ hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, 1 << ISM_ELEVATION_NBITS ); #else hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, ISM_Q_STEP, ISM_Q_STEP_BORDER, 1 << nBits_elevation ); hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, q_step, q_step_border, 1 << nBits_elevation ); #endif } // VE!!!!! verify for switching from low_res_q to active frame coding #ifdef MD_Q_PARAM_BE if ( ism_mode != ISM_MODE_PARAM ) #endif { #ifdef UNIFY_MD_QUANTIZER /* update last indexes to correspond to active frames coding */ if ( nBits_azimuth > ISM_AZIMUTH_NBITS ) { hIsmMetaData->last_azimuth_idx = idx_azimuth >> ( nBits_azimuth - ISM_AZIMUTH_NBITS ); hIsmMetaData->last_elevation_idx = idx_elevation >> ( nBits_elevation - ISM_ELEVATION_NBITS ); } else { hIsmMetaData->last_azimuth_idx = idx_azimuth << ( ISM_AZIMUTH_NBITS - nBits_azimuth ); hIsmMetaData->last_elevation_idx = idx_elevation << ( ISM_ELEVATION_NBITS - nBits_elevation ); } #else hIsmMetaData->last_azimuth_idx = idx_azimuth; hIsmMetaData->last_elevation_idx = idx_elevation; #endif } /* save for smoothing metadata evolution */ Loading lib_enc/ivas_ism_dtx_enc.c +2 −2 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ * Local constants *-----------------------------------------------------------------------*/ #define MD_MAX_DIFF_AZIMUTH 15 #define MD_MAX_DIFF_ELEVATION 15 #define MD_MAX_DIFF_AZIMUTH 10 #define MD_MAX_DIFF_ELEVATION 10 #endif Loading lib_enc/ivas_ism_metadata_enc.c +14 −0 Original line number Diff line number Diff line Loading @@ -996,8 +996,22 @@ void ivas_ism_metadata_sid_enc( if ( ism_mode != ISM_MODE_PARAM ) #endif { #ifdef UNIFY_MD_QUANTIZER /* update last indexes to correspond to active frames coding */ if ( nBits_azimuth > ISM_AZIMUTH_NBITS ) { hIsmMetaData->last_azimuth_idx = idx_azimuth >> ( nBits_azimuth - ISM_AZIMUTH_NBITS ); hIsmMetaData->last_elevation_idx = idx_elevation >> ( nBits_elevation - ISM_ELEVATION_NBITS ); } else { hIsmMetaData->last_azimuth_idx = idx_azimuth << ( ISM_AZIMUTH_NBITS - nBits_azimuth ); hIsmMetaData->last_elevation_idx = idx_elevation << ( ISM_ELEVATION_NBITS - nBits_elevation ); } #else hIsmMetaData->last_azimuth_idx = idx_azimuth; hIsmMetaData->last_elevation_idx = idx_elevation; #endif } } } Loading Loading
lib_dec/ivas_ism_metadata_dec.c +20 −7 Original line number Diff line number Diff line Loading @@ -53,8 +53,8 @@ #define IVAS_ISM_DTX_HO_MAX 5 #define CNG_MD_MAX_DIFF_AZIMUTH 8 #define CNG_MD_MAX_DIFF_ELEVATION 8 #define CNG_MD_MAX_DIFF_AZIMUTH 5 #define CNG_MD_MAX_DIFF_ELEVATION 5 /*-------------------------------------------------------------------* Loading @@ -72,7 +72,7 @@ static void ism_metadata_smooth( ISM_METADATA_HANDLE hIsmMetaData; int16_t ch; float diff; return; for ( ch = 0; ch < num_obj; ch++ ) { hIsmMetaData = hIsmMeta[ch]; Loading Loading @@ -913,7 +913,7 @@ ivas_error ivas_ism_metadata_sid_dec( /* Azimuth decoding */ idx_azimuth = get_next_indice( st0, nBits_azimuth ); #ifndef UNIFY_MD_QUANTIZER // VE!!!!! TBV #ifndef UNIFY_MD_QUANTIZER /* azimuth is on a circle - check for diff coding for -180° -> 180° and vice versa changes */ if ( idx_azimuth > ( 1 << ISM_AZIMUTH_NBITS ) - 1 ) { Loading @@ -938,7 +938,7 @@ ivas_error ivas_ism_metadata_sid_dec( hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, 1 << ISM_AZIMUTH_NBITS ); #else hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, ISM_Q_STEP, ISM_Q_STEP_BORDER, 1 << nBits_azimuth ); hIsmMetaData->azimuth = ism_dequant_meta( idx_azimuth, ism_azimuth_borders, q_step, q_step_border, 1 << nBits_azimuth ); #endif /* Elevation decoding */ Loading @@ -954,17 +954,30 @@ ivas_error ivas_ism_metadata_sid_dec( /* Elevation dequantization */ hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, 1 << ISM_ELEVATION_NBITS ); #else hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, ISM_Q_STEP, ISM_Q_STEP_BORDER, 1 << nBits_elevation ); hIsmMetaData->elevation = ism_dequant_meta( idx_elevation, ism_elevation_borders, q_step, q_step_border, 1 << nBits_elevation ); #endif } // VE!!!!! verify for switching from low_res_q to active frame coding #ifdef MD_Q_PARAM_BE if ( ism_mode != ISM_MODE_PARAM ) #endif { #ifdef UNIFY_MD_QUANTIZER /* update last indexes to correspond to active frames coding */ if ( nBits_azimuth > ISM_AZIMUTH_NBITS ) { hIsmMetaData->last_azimuth_idx = idx_azimuth >> ( nBits_azimuth - ISM_AZIMUTH_NBITS ); hIsmMetaData->last_elevation_idx = idx_elevation >> ( nBits_elevation - ISM_ELEVATION_NBITS ); } else { hIsmMetaData->last_azimuth_idx = idx_azimuth << ( ISM_AZIMUTH_NBITS - nBits_azimuth ); hIsmMetaData->last_elevation_idx = idx_elevation << ( ISM_ELEVATION_NBITS - nBits_elevation ); } #else hIsmMetaData->last_azimuth_idx = idx_azimuth; hIsmMetaData->last_elevation_idx = idx_elevation; #endif } /* save for smoothing metadata evolution */ Loading
lib_enc/ivas_ism_dtx_enc.c +2 −2 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ * Local constants *-----------------------------------------------------------------------*/ #define MD_MAX_DIFF_AZIMUTH 15 #define MD_MAX_DIFF_ELEVATION 15 #define MD_MAX_DIFF_AZIMUTH 10 #define MD_MAX_DIFF_ELEVATION 10 #endif Loading
lib_enc/ivas_ism_metadata_enc.c +14 −0 Original line number Diff line number Diff line Loading @@ -996,8 +996,22 @@ void ivas_ism_metadata_sid_enc( if ( ism_mode != ISM_MODE_PARAM ) #endif { #ifdef UNIFY_MD_QUANTIZER /* update last indexes to correspond to active frames coding */ if ( nBits_azimuth > ISM_AZIMUTH_NBITS ) { hIsmMetaData->last_azimuth_idx = idx_azimuth >> ( nBits_azimuth - ISM_AZIMUTH_NBITS ); hIsmMetaData->last_elevation_idx = idx_elevation >> ( nBits_elevation - ISM_ELEVATION_NBITS ); } else { hIsmMetaData->last_azimuth_idx = idx_azimuth << ( ISM_AZIMUTH_NBITS - nBits_azimuth ); hIsmMetaData->last_elevation_idx = idx_elevation << ( ISM_ELEVATION_NBITS - nBits_elevation ); } #else hIsmMetaData->last_azimuth_idx = idx_azimuth; hIsmMetaData->last_elevation_idx = idx_elevation; #endif } } } Loading