Loading lib_com/ivas_prot_fx.h +8 −0 Original line number Diff line number Diff line Loading @@ -3092,4 +3092,12 @@ ISM_MODE ivas_ism_mode_select( const Word16 nchan_inp, /* i : number of input objects */ const Word32 ivas_total_brate /* i : IVAS total bitrate */ ); void masa_compensate_two_dir_energy_ratio_index_fx( const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ int16_t *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ ); #endif lib_com/ivas_qmetadata_com.c +5 −5 Original line number Diff line number Diff line Loading @@ -1076,11 +1076,11 @@ void masa_compensate_two_dir_energy_ratio_index_fx( } #else void masa_compensate_two_dir_energy_ratio_index( const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ int16_t *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ const Word16 ratio_index_1, /* i : Input ratio for direction 1 */ const Word16 ratio_index_2, /* i : Input ratio for direction 2 */ Word16 *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ Word16 *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const Word16 hodirac_flag /* i : flag to indicate HO-DirAC mode */ ) { float ratio1, ratio2; Loading lib_com/ivas_qspherical_com.c +19 −0 Original line number Diff line number Diff line Loading @@ -50,7 +50,25 @@ * ivas_qmetadata_reorder_generic() * *------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED UWord16 ivas_qmetadata_reorder_generic( const Word16 signed_value ) { UWord16 unsigned_value; IF( signed_value < 0 ) { // unsigned_value = ( ( UWord16 ) - ( signed_value + 1 ) << 1 ) + 1; unsigned_value = (UWord16) L_add( L_shl( negate( add( signed_value, 1 ) ), 1 ), 1 ); } ELSE { unsigned_value = (UWord16) L_shl( signed_value, 1 ); } return unsigned_value; } #else uint16_t ivas_qmetadata_reorder_generic( const int16_t signed_value ) { Loading @@ -67,6 +85,7 @@ uint16_t ivas_qmetadata_reorder_generic( return unsigned_value; } #endif /*------------------------------------------------------------------------- Loading lib_com/ivas_stat_com.h +4 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,10 @@ typedef struct ivas_qdirection_band_data_struct uint16_t elevation_index[MAX_PARAM_SPATIAL_SUBFRAMES]; float q_azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; float q_elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; #ifdef IVAS_FLOAT_FIXED Word32 q_azimuth_fx[MAX_PARAM_SPATIAL_SUBFRAMES];/* Q22 */ Word32 q_elevation_fx[MAX_PARAM_SPATIAL_SUBFRAMES];/* Q22 */ #endif } IVAS_QDIRECTION_BAND_DATA; Loading lib_enc/ivas_core_enc.c +0 −6 Original line number Diff line number Diff line Loading @@ -1407,12 +1407,6 @@ ivas_error ivas_core_enc( IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) ) { hStereoICBWE->mem_nrg_L[0] = hCPE->hStereoDft->nrg_L[0]; hStereoICBWE->mem_nrg_R[0] = hCPE->hStereoDft->nrg_R[0]; hStereoICBWE->mem_nrg_DMX[0] = hCPE->hStereoDft->nrg_DMX[0]; hStereoICBWE->mem_nrg_L[1] = hCPE->hStereoDft->nrg_L[1]; hStereoICBWE->mem_nrg_R[1] = hCPE->hStereoDft->nrg_R[1]; hStereoICBWE->mem_nrg_DMX[1] = hCPE->hStereoDft->nrg_DMX[1]; hStereoICBWE->prevSpecMapping = fixedToFloat( hStereoICBWE->prevSpecMapping_fx, 31 ); IF( ( st->extl == SWB_TBE || st->extl == FB_TBE ) && st->flag_ACELP16k == 1 ) { Loading Loading
lib_com/ivas_prot_fx.h +8 −0 Original line number Diff line number Diff line Loading @@ -3092,4 +3092,12 @@ ISM_MODE ivas_ism_mode_select( const Word16 nchan_inp, /* i : number of input objects */ const Word32 ivas_total_brate /* i : IVAS total bitrate */ ); void masa_compensate_two_dir_energy_ratio_index_fx( const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ int16_t *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ ); #endif
lib_com/ivas_qmetadata_com.c +5 −5 Original line number Diff line number Diff line Loading @@ -1076,11 +1076,11 @@ void masa_compensate_two_dir_energy_ratio_index_fx( } #else void masa_compensate_two_dir_energy_ratio_index( const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ int16_t *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ const Word16 ratio_index_1, /* i : Input ratio for direction 1 */ const Word16 ratio_index_2, /* i : Input ratio for direction 2 */ Word16 *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ Word16 *ratio_index_mod2, /* o : Output modified ratio for direction 2 */ const Word16 hodirac_flag /* i : flag to indicate HO-DirAC mode */ ) { float ratio1, ratio2; Loading
lib_com/ivas_qspherical_com.c +19 −0 Original line number Diff line number Diff line Loading @@ -50,7 +50,25 @@ * ivas_qmetadata_reorder_generic() * *------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED UWord16 ivas_qmetadata_reorder_generic( const Word16 signed_value ) { UWord16 unsigned_value; IF( signed_value < 0 ) { // unsigned_value = ( ( UWord16 ) - ( signed_value + 1 ) << 1 ) + 1; unsigned_value = (UWord16) L_add( L_shl( negate( add( signed_value, 1 ) ), 1 ), 1 ); } ELSE { unsigned_value = (UWord16) L_shl( signed_value, 1 ); } return unsigned_value; } #else uint16_t ivas_qmetadata_reorder_generic( const int16_t signed_value ) { Loading @@ -67,6 +85,7 @@ uint16_t ivas_qmetadata_reorder_generic( return unsigned_value; } #endif /*------------------------------------------------------------------------- Loading
lib_com/ivas_stat_com.h +4 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,10 @@ typedef struct ivas_qdirection_band_data_struct uint16_t elevation_index[MAX_PARAM_SPATIAL_SUBFRAMES]; float q_azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; float q_elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; #ifdef IVAS_FLOAT_FIXED Word32 q_azimuth_fx[MAX_PARAM_SPATIAL_SUBFRAMES];/* Q22 */ Word32 q_elevation_fx[MAX_PARAM_SPATIAL_SUBFRAMES];/* Q22 */ #endif } IVAS_QDIRECTION_BAND_DATA; Loading
lib_enc/ivas_core_enc.c +0 −6 Original line number Diff line number Diff line Loading @@ -1407,12 +1407,6 @@ ivas_error ivas_core_enc( IF( EQ_16( st->element_mode, IVAS_CPE_DFT ) ) { hStereoICBWE->mem_nrg_L[0] = hCPE->hStereoDft->nrg_L[0]; hStereoICBWE->mem_nrg_R[0] = hCPE->hStereoDft->nrg_R[0]; hStereoICBWE->mem_nrg_DMX[0] = hCPE->hStereoDft->nrg_DMX[0]; hStereoICBWE->mem_nrg_L[1] = hCPE->hStereoDft->nrg_L[1]; hStereoICBWE->mem_nrg_R[1] = hCPE->hStereoDft->nrg_R[1]; hStereoICBWE->mem_nrg_DMX[1] = hCPE->hStereoDft->nrg_DMX[1]; hStereoICBWE->prevSpecMapping = fixedToFloat( hStereoICBWE->prevSpecMapping_fx, 31 ); IF( ( st->extl == SWB_TBE || st->extl == FB_TBE ) && st->flag_ACELP16k == 1 ) { Loading