Loading lib_com/ivas_omasa_com.c +4 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <stdlib.h> #include "ivas_cnst.h" #include "ivas_prot.h" #include "ivas_prot_fx.h" #include "prot.h" #include "prot_fx1.h" #include "ivas_rom_com.h" Loading Loading @@ -1011,7 +1012,7 @@ void ivas_get_stereo_panning_gains( #define SIN_NEG_30_DEGREES_Q15 ( (Word16) 0xC000 ) #define SIN_30_DEGREES_Q15 ( (Word16) 0x4000 ) static void get_panning_gain( void get_panning_gain( const Word16 sinAngleMapped, Word16 *panningGains ) { Loading Loading @@ -1121,10 +1122,10 @@ void ivas_get_stereo_panning_gains_fx( } WHILE( LT_16( azSubEl, -180 ) ) { azSubEl = sub( azSubEl, 360 ); azSubEl = add( azSubEl, 360 ); } // sin_az_cos_el = (ptr_sin_az[azAddEl] + ptr_sin_az[azSubEl])/2; Word16 sin_az_cos_el = extract_l( L_shr( L_add( L_deposit_l( ptr_sin_az[azAddEl] ), L_deposit_l( ptr_sin_az[azSubEl] ) ), 1 ) ); Word16 sin_az_cos_el = extract_l( L_shr( L_add( L_deposit_l( ptr_sin_az[azAddEl + 180] ), L_deposit_l( ptr_sin_az[azSubEl + 180] ) ), 1 ) ); IF( GE_16( sin_az_cos_el, SIN_30_DEGREES_Q15 ) ) { /* Left side */ Loading lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5531,7 +5531,7 @@ ivas_error ivas_ls_custom_output_init( void ivas_ls_custom_setup( IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ ); Loading lib_com/ivas_prot_fx.h +38 −0 Original line number Diff line number Diff line Loading @@ -740,4 +740,42 @@ ivas_error ivas_ls_custom_output_init_fx( ivas_error ivas_ls_custom_open_fx( LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ ); ivas_error ivas_ism_renderer_open_fx( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_ism_render_sf_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Word32 *output_fx[], /* i/o: core-coder transport channels/object output */ const Word16 n_samples_to_render /* i : output frame length per channel */ ); void ivas_jbm_dec_get_adapted_linear_interpolator_fx( const Word16 default_interp_length, /* i : default length of the (full-frame) interpolator */ const Word16 interp_length, /* i : length of the interpolator to be created */ Word16 *interpolator_fx /* o : the interpolator */ ); void ivas_omasa_separate_object_render_jbm_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const UWord16 nSamplesRendered, /* i : number of samples rendered */ Word32 input_fx_in[][L_FRAME48k], /* i : separated object signal */ Word32 *output_fx[], /* o : rendered time signal */ const Word16 subframes_rendered, /* i : number of subframes rendered */ const Word16 slots_rendered /* i : number of CLDFB slots rendered */ ); void get_panning_gain( const Word16 sinAngleMapped, Word16 *panningGains ); void ivas_ism_get_stereo_gains_fx( const Word16 aziDeg, /* i : object azimuth */ const Word16 eleDeg, /* i : object elevation */ Word16 *left_gain_fx, /* o : left channel gain */ Word16 *right_gain_fx /* o : right channel gain */ ); #endif lib_com/ivas_rom_com.c +0 −14 Original line number Diff line number Diff line Loading @@ -2891,20 +2891,6 @@ const uint8_t masa_twodir_bands_joined[IVAS_NUM_ACTIVE_BRATES] = /*----------------------------------------------------------------------------------* * Multi-channel LS setups *----------------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED const Word16 ls_azimuth_CICP2_fx[2] = { 30, -30 };/*Q-0*/ const Word16 ls_elevation_CICP2_fx[2] = { 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP6_fx[5] = { 30, -30, 0, 110, -110 };/*Q-0*/ const Word16 ls_elevation_CICP6_fx[5] = { 0, 0, 0, 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP12_fx[7] = { 30, -30, 0, 110, -110, 135, -135 };/*Q-0*/ const Word16 ls_elevation_CICP12_fx[7] = { 0, 0, 0, 0, 0, 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP14_fx[7] = { 30, -30, 0, 110, -110, 30, -30 };/*Q-0*/ const Word16 ls_elevation_CICP14_fx[7] = { 0, 0, 0, 0, 0, 35, 35 };/*Q-0*/ const Word16 ls_azimuth_CICP16_fx[9] = { 30, -30, 0, 110, -110, 30, -30, 110, -110 };/*Q-0*/ const Word16 ls_elevation_CICP16_fx[9] = { 0, 0, 0, 0, 0, 35, 35, 35, 35 };/*Q-0*/ const Word16 ls_azimuth_CICP19_fx[11] = { 30, -30, 0, 135, -135, 90, -90, 30, -30, 135, -135 };/*Q-0*/ const Word16 ls_elevation_CICP19_fx[11] = { 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35 };/*Q-0*/ #endif // IVAS_FLOAT_FIXED const float ls_azimuth_CICP2[2] = { 30.0f, -30.0f }; const float ls_elevation_CICP2[2] = { 0.0f, 0.0f }; Loading lib_com/ivas_rom_com.h +0 −14 Original line number Diff line number Diff line Loading @@ -313,20 +313,6 @@ extern const float diffuseness_reconstructions_hr[HR_MASA_ER_LEVELS]; extern const float diffuseness_thresholds_hr[HR_MASA_ER_LEVELS + 1]; extern const Word64 diffuseness_reconstructions_hr_fx[HR_MASA_ER_LEVELS]; extern const Word32 diffuseness_thresholds_hr_fx[HR_MASA_ER_LEVELS + 1]; #ifdef IVAS_FLOAT_FIXED extern const Word16 ls_azimuth_CICP2_fx[2]; extern const Word16 ls_elevation_CICP2_fx[2]; extern const Word16 ls_azimuth_CICP6_fx[5]; extern const Word16 ls_elevation_CICP6_fx[5]; extern const Word16 ls_azimuth_CICP12_fx[7]; extern const Word16 ls_elevation_CICP12_fx[7]; extern const Word16 ls_azimuth_CICP14_fx[7]; extern const Word16 ls_elevation_CICP14_fx[7]; extern const Word16 ls_azimuth_CICP16_fx[9]; extern const Word16 ls_elevation_CICP16_fx[9]; extern const Word16 ls_azimuth_CICP19_fx[11]; extern const Word16 ls_elevation_CICP19_fx[11]; #endif // IVAS_FLOAT_FIXED /* Multi-channel input and output setups */ extern const float ls_azimuth_CICP2[2]; Loading Loading
lib_com/ivas_omasa_com.c +4 −3 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <stdlib.h> #include "ivas_cnst.h" #include "ivas_prot.h" #include "ivas_prot_fx.h" #include "prot.h" #include "prot_fx1.h" #include "ivas_rom_com.h" Loading Loading @@ -1011,7 +1012,7 @@ void ivas_get_stereo_panning_gains( #define SIN_NEG_30_DEGREES_Q15 ( (Word16) 0xC000 ) #define SIN_30_DEGREES_Q15 ( (Word16) 0x4000 ) static void get_panning_gain( void get_panning_gain( const Word16 sinAngleMapped, Word16 *panningGains ) { Loading Loading @@ -1121,10 +1122,10 @@ void ivas_get_stereo_panning_gains_fx( } WHILE( LT_16( azSubEl, -180 ) ) { azSubEl = sub( azSubEl, 360 ); azSubEl = add( azSubEl, 360 ); } // sin_az_cos_el = (ptr_sin_az[azAddEl] + ptr_sin_az[azSubEl])/2; Word16 sin_az_cos_el = extract_l( L_shr( L_add( L_deposit_l( ptr_sin_az[azAddEl] ), L_deposit_l( ptr_sin_az[azSubEl] ) ), 1 ) ); Word16 sin_az_cos_el = extract_l( L_shr( L_add( L_deposit_l( ptr_sin_az[azAddEl + 180] ), L_deposit_l( ptr_sin_az[azSubEl + 180] ) ), 1 ) ); IF( GE_16( sin_az_cos_el, SIN_30_DEGREES_Q15 ) ) { /* Left side */ Loading
lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5531,7 +5531,7 @@ ivas_error ivas_ls_custom_output_init( void ivas_ls_custom_setup( IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ ); Loading
lib_com/ivas_prot_fx.h +38 −0 Original line number Diff line number Diff line Loading @@ -740,4 +740,42 @@ ivas_error ivas_ls_custom_output_init_fx( ivas_error ivas_ls_custom_open_fx( LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ ); ivas_error ivas_ism_renderer_open_fx( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_ism_render_sf_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Word32 *output_fx[], /* i/o: core-coder transport channels/object output */ const Word16 n_samples_to_render /* i : output frame length per channel */ ); void ivas_jbm_dec_get_adapted_linear_interpolator_fx( const Word16 default_interp_length, /* i : default length of the (full-frame) interpolator */ const Word16 interp_length, /* i : length of the interpolator to be created */ Word16 *interpolator_fx /* o : the interpolator */ ); void ivas_omasa_separate_object_render_jbm_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const UWord16 nSamplesRendered, /* i : number of samples rendered */ Word32 input_fx_in[][L_FRAME48k], /* i : separated object signal */ Word32 *output_fx[], /* o : rendered time signal */ const Word16 subframes_rendered, /* i : number of subframes rendered */ const Word16 slots_rendered /* i : number of CLDFB slots rendered */ ); void get_panning_gain( const Word16 sinAngleMapped, Word16 *panningGains ); void ivas_ism_get_stereo_gains_fx( const Word16 aziDeg, /* i : object azimuth */ const Word16 eleDeg, /* i : object elevation */ Word16 *left_gain_fx, /* o : left channel gain */ Word16 *right_gain_fx /* o : right channel gain */ ); #endif
lib_com/ivas_rom_com.c +0 −14 Original line number Diff line number Diff line Loading @@ -2891,20 +2891,6 @@ const uint8_t masa_twodir_bands_joined[IVAS_NUM_ACTIVE_BRATES] = /*----------------------------------------------------------------------------------* * Multi-channel LS setups *----------------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED const Word16 ls_azimuth_CICP2_fx[2] = { 30, -30 };/*Q-0*/ const Word16 ls_elevation_CICP2_fx[2] = { 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP6_fx[5] = { 30, -30, 0, 110, -110 };/*Q-0*/ const Word16 ls_elevation_CICP6_fx[5] = { 0, 0, 0, 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP12_fx[7] = { 30, -30, 0, 110, -110, 135, -135 };/*Q-0*/ const Word16 ls_elevation_CICP12_fx[7] = { 0, 0, 0, 0, 0, 0, 0 };/*Q-0*/ const Word16 ls_azimuth_CICP14_fx[7] = { 30, -30, 0, 110, -110, 30, -30 };/*Q-0*/ const Word16 ls_elevation_CICP14_fx[7] = { 0, 0, 0, 0, 0, 35, 35 };/*Q-0*/ const Word16 ls_azimuth_CICP16_fx[9] = { 30, -30, 0, 110, -110, 30, -30, 110, -110 };/*Q-0*/ const Word16 ls_elevation_CICP16_fx[9] = { 0, 0, 0, 0, 0, 35, 35, 35, 35 };/*Q-0*/ const Word16 ls_azimuth_CICP19_fx[11] = { 30, -30, 0, 135, -135, 90, -90, 30, -30, 135, -135 };/*Q-0*/ const Word16 ls_elevation_CICP19_fx[11] = { 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35 };/*Q-0*/ #endif // IVAS_FLOAT_FIXED const float ls_azimuth_CICP2[2] = { 30.0f, -30.0f }; const float ls_elevation_CICP2[2] = { 0.0f, 0.0f }; Loading
lib_com/ivas_rom_com.h +0 −14 Original line number Diff line number Diff line Loading @@ -313,20 +313,6 @@ extern const float diffuseness_reconstructions_hr[HR_MASA_ER_LEVELS]; extern const float diffuseness_thresholds_hr[HR_MASA_ER_LEVELS + 1]; extern const Word64 diffuseness_reconstructions_hr_fx[HR_MASA_ER_LEVELS]; extern const Word32 diffuseness_thresholds_hr_fx[HR_MASA_ER_LEVELS + 1]; #ifdef IVAS_FLOAT_FIXED extern const Word16 ls_azimuth_CICP2_fx[2]; extern const Word16 ls_elevation_CICP2_fx[2]; extern const Word16 ls_azimuth_CICP6_fx[5]; extern const Word16 ls_elevation_CICP6_fx[5]; extern const Word16 ls_azimuth_CICP12_fx[7]; extern const Word16 ls_elevation_CICP12_fx[7]; extern const Word16 ls_azimuth_CICP14_fx[7]; extern const Word16 ls_elevation_CICP14_fx[7]; extern const Word16 ls_azimuth_CICP16_fx[9]; extern const Word16 ls_elevation_CICP16_fx[9]; extern const Word16 ls_azimuth_CICP19_fx[11]; extern const Word16 ls_elevation_CICP19_fx[11]; #endif // IVAS_FLOAT_FIXED /* Multi-channel input and output setups */ extern const float ls_azimuth_CICP2[2]; Loading