Loading lib_com/ivas_ism_com.c +1 −8 Original line number Diff line number Diff line Loading @@ -811,15 +811,8 @@ void ivas_ism_reset_metadata_enc( move32(); hIsmMeta->pitch_fx = 0; move32(); hIsmMeta->radius_fx = 1 << 9; hIsmMeta->radius_fx = 1 << 9; // Q9 move16(); #ifdef IVAS_FLOAT_FIXED_TO_BE_REMOVED hIsmMeta->azimuth = 0.0f; hIsmMeta->elevation = 0.0f; hIsmMeta->yaw = 0.0f; hIsmMeta->pitch = 0.0f; hIsmMeta->radius = 1.0f; #endif hIsmMeta->ism_metadata_flag = 0; move16(); hIsmMeta->non_diegetic_flag = 0; Loading lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -6506,7 +6506,7 @@ void ivas_enc_cov_handler_process_fx( ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ Word32 **ppIn_FR_real, Word32 **ppIn_FR_imag, Word16 *q_ppIn_FR, Word16 q_ppIn_FR, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH], Word32 *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading lib_com/ivas_spar_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -3814,7 +3814,7 @@ void ivas_get_spar_md_from_dirac_fx( } ELSE { cov_real_dirac_fx[i][j][band] = L_shl_sat( Mpy_32_32( Mpy_32_32( en_ratio_fac_fx, response_avg_fx[i] ), response_avg_fx[j] ), 1 ); cov_real_dirac_fx[i][j][band] = L_shl( Mpy_32_32( Mpy_32_32( en_ratio_fac_fx, response_avg_fx[i] ), response_avg_fx[j] ), 1 ); move32(); } } Loading lib_com/ivas_stat_com.h +25 −19 Original line number Diff line number Diff line Loading @@ -65,12 +65,13 @@ typedef struct Word16 radius_fx; /* radius value read from the input metadata file */ /* Q9 */ Word32 yaw_fx; /* yaw value read from the input metadata file */ /* Q22 */ Word32 pitch_fx; /* pitch value read from the input metadata file */ /* Q22 */ #endif #else float azimuth; /* azimuth value read from the input metadata file */ float elevation; /* elevation value read from the input metadata file */ float radius; /* radius value read from the input metadata file */ float yaw; /* yaw value read from the input metadata file */ float pitch; /* pitch value read from the input metadata file */ #endif int16_t non_diegetic_flag; /* Non-diegetic (non-headtracked) object flag */ Loading @@ -79,11 +80,12 @@ typedef struct int16_t last_radius_idx; /* last frame index of coded radius */ int16_t radius_diff_cnt; /* FEC counter of consecutive differentially radius coded frames */ #ifndef IVAS_FLOAT_FIXED float last_azimuth; /* MD smoothing in DTX- last Q azimuth value */ float last_elevation; /* MD smoothing in DTX - last Q elevation value */ float last_true_azimuth; /* MD smoothing in DTX- last true Q azimuth value */ float last_true_elevation; /* MD smoothing in DTX- last true Q elevation value */ #ifdef IVAS_FLOAT_FIXED #else Word32 last_azimuth_fx; /* MD smoothing in DTX- last Q azimuth value */ /* Q22 */ Word32 last_elevation_fx; /* MD smoothing in DTX - last Q elevation value */ /* Q22 */ Word32 last_true_azimuth_fx; /* MD smoothing in DTX- last true Q azimuth value */ /* Q22 */ Loading @@ -92,8 +94,9 @@ typedef struct int16_t ism_md_fec_cnt_enc; /* counter of continuous frames where MD are not transmitted */ int16_t ism_md_inc_diff_cnt; /* counter of continuous frames where MD are transmitted in inactive segments when MD significantly changes */ #ifndef IVAS_FLOAT_FIXED float last_true_radius; /* last true Q radius value */ #ifdef IVAS_FLOAT_FIXED #else Word16 last_true_radius_fx; /* last true Q radius value */ #endif Loading @@ -103,9 +106,10 @@ typedef struct #ifdef IVAS_FLOAT_FIXED Word32 q_azimuth_old_fx; Word32 q_elevation_old_fx; #endif #else float q_azimuth_old; float q_elevation_old; #endif } ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; Loading Loading @@ -453,11 +457,12 @@ typedef struct ivas_masa_descriptive_meta_struct typedef struct ivas_masa_directional_spatial_meta_struct { #ifndef IVAS_FLOAT_FIXED float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float elevation[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #ifdef IVAS_FLOAT_FIXED #else Word32 azimuth_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q22 */ Word32 elevation_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q22 */ Word32 energy_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q30 */ Loading @@ -469,14 +474,15 @@ typedef struct ivas_masa_directional_spatial_meta_struct typedef struct ivas_masa_common_spatial_meta_struct { #ifndef IVAS_FLOAT_FIXED float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #ifdef IVAS_FLOAT_FIXED float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #else Word32 diffuse_to_total_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q30 Word16 surround_coherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q14 Word16 surround_coherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q15 Word32 remainder_to_total_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q30 #endif float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; } MASA_COMMON_SPATIAL_META; Loading lib_com/prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -9345,6 +9345,7 @@ void FEC_clas_estim( const int16_t FEC_mode /* i : ACELP FEC mode */ ); #ifndef IVAS_FLOAT_FIXED void InitTransientDetection( const int16_t nFrameLength, const int16_t nTCXDelay, Loading @@ -9367,6 +9368,7 @@ float GetTCXMaxenergyChange( const int16_t isTCX10, const int16_t nCurrentSubblocks, const int16_t nPrevSubblocks ); #endif void SetTCXModeInfo( Encoder_State *st, /* i/o: encoder state structure */ Loading Loading
lib_com/ivas_ism_com.c +1 −8 Original line number Diff line number Diff line Loading @@ -811,15 +811,8 @@ void ivas_ism_reset_metadata_enc( move32(); hIsmMeta->pitch_fx = 0; move32(); hIsmMeta->radius_fx = 1 << 9; hIsmMeta->radius_fx = 1 << 9; // Q9 move16(); #ifdef IVAS_FLOAT_FIXED_TO_BE_REMOVED hIsmMeta->azimuth = 0.0f; hIsmMeta->elevation = 0.0f; hIsmMeta->yaw = 0.0f; hIsmMeta->pitch = 0.0f; hIsmMeta->radius = 1.0f; #endif hIsmMeta->ism_metadata_flag = 0; move16(); hIsmMeta->non_diegetic_flag = 0; Loading
lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -6506,7 +6506,7 @@ void ivas_enc_cov_handler_process_fx( ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ Word32 **ppIn_FR_real, Word32 **ppIn_FR_imag, Word16 *q_ppIn_FR, Word16 q_ppIn_FR, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH], Word32 *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading
lib_com/ivas_spar_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -3814,7 +3814,7 @@ void ivas_get_spar_md_from_dirac_fx( } ELSE { cov_real_dirac_fx[i][j][band] = L_shl_sat( Mpy_32_32( Mpy_32_32( en_ratio_fac_fx, response_avg_fx[i] ), response_avg_fx[j] ), 1 ); cov_real_dirac_fx[i][j][band] = L_shl( Mpy_32_32( Mpy_32_32( en_ratio_fac_fx, response_avg_fx[i] ), response_avg_fx[j] ), 1 ); move32(); } } Loading
lib_com/ivas_stat_com.h +25 −19 Original line number Diff line number Diff line Loading @@ -65,12 +65,13 @@ typedef struct Word16 radius_fx; /* radius value read from the input metadata file */ /* Q9 */ Word32 yaw_fx; /* yaw value read from the input metadata file */ /* Q22 */ Word32 pitch_fx; /* pitch value read from the input metadata file */ /* Q22 */ #endif #else float azimuth; /* azimuth value read from the input metadata file */ float elevation; /* elevation value read from the input metadata file */ float radius; /* radius value read from the input metadata file */ float yaw; /* yaw value read from the input metadata file */ float pitch; /* pitch value read from the input metadata file */ #endif int16_t non_diegetic_flag; /* Non-diegetic (non-headtracked) object flag */ Loading @@ -79,11 +80,12 @@ typedef struct int16_t last_radius_idx; /* last frame index of coded radius */ int16_t radius_diff_cnt; /* FEC counter of consecutive differentially radius coded frames */ #ifndef IVAS_FLOAT_FIXED float last_azimuth; /* MD smoothing in DTX- last Q azimuth value */ float last_elevation; /* MD smoothing in DTX - last Q elevation value */ float last_true_azimuth; /* MD smoothing in DTX- last true Q azimuth value */ float last_true_elevation; /* MD smoothing in DTX- last true Q elevation value */ #ifdef IVAS_FLOAT_FIXED #else Word32 last_azimuth_fx; /* MD smoothing in DTX- last Q azimuth value */ /* Q22 */ Word32 last_elevation_fx; /* MD smoothing in DTX - last Q elevation value */ /* Q22 */ Word32 last_true_azimuth_fx; /* MD smoothing in DTX- last true Q azimuth value */ /* Q22 */ Loading @@ -92,8 +94,9 @@ typedef struct int16_t ism_md_fec_cnt_enc; /* counter of continuous frames where MD are not transmitted */ int16_t ism_md_inc_diff_cnt; /* counter of continuous frames where MD are transmitted in inactive segments when MD significantly changes */ #ifndef IVAS_FLOAT_FIXED float last_true_radius; /* last true Q radius value */ #ifdef IVAS_FLOAT_FIXED #else Word16 last_true_radius_fx; /* last true Q radius value */ #endif Loading @@ -103,9 +106,10 @@ typedef struct #ifdef IVAS_FLOAT_FIXED Word32 q_azimuth_old_fx; Word32 q_elevation_old_fx; #endif #else float q_azimuth_old; float q_elevation_old; #endif } ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; Loading Loading @@ -453,11 +457,12 @@ typedef struct ivas_masa_descriptive_meta_struct typedef struct ivas_masa_directional_spatial_meta_struct { #ifndef IVAS_FLOAT_FIXED float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float elevation[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #ifdef IVAS_FLOAT_FIXED #else Word32 azimuth_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q22 */ Word32 elevation_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q22 */ Word32 energy_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Q30 */ Loading @@ -469,14 +474,15 @@ typedef struct ivas_masa_directional_spatial_meta_struct typedef struct ivas_masa_common_spatial_meta_struct { #ifndef IVAS_FLOAT_FIXED float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; float surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #ifdef IVAS_FLOAT_FIXED float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; #else Word32 diffuse_to_total_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q30 Word16 surround_coherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q14 Word16 surround_coherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q15 Word32 remainder_to_total_ratio_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; // Q30 #endif float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; } MASA_COMMON_SPATIAL_META; Loading
lib_com/prot.h +2 −0 Original line number Diff line number Diff line Loading @@ -9345,6 +9345,7 @@ void FEC_clas_estim( const int16_t FEC_mode /* i : ACELP FEC mode */ ); #ifndef IVAS_FLOAT_FIXED void InitTransientDetection( const int16_t nFrameLength, const int16_t nTCXDelay, Loading @@ -9367,6 +9368,7 @@ float GetTCXMaxenergyChange( const int16_t isTCX10, const int16_t nCurrentSubblocks, const int16_t nPrevSubblocks ); #endif void SetTCXModeInfo( Encoder_State *st, /* i/o: encoder state structure */ Loading