Loading lib_dec/ivas_dirac_dec_fx.c +0 −55 Original line number Diff line number Diff line Loading @@ -3283,60 +3283,6 @@ void ivas_dirac_dec_render_sf_fx( IF( NE_16( hDirACRend->synthesisConf, DIRAC_SYNTHESIS_GAIN_SHD ) ) { #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 IF( LT_16( q_reference_power_smooth[0], DirAC_mem.reference_power_q[0] ) ) { Word32 temp; FOR( i = 0; i < s_min( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ); i++ ) { temp = L_shl( reference_power_fx[i], sub( q_reference_power_smooth[0], DirAC_mem.reference_power_q[0] ) ); reference_power_fx[i] = L_max(temp, L_min(reference_power_fx[i], 1)); move32(); } DirAC_mem.reference_power_q[0] = q_reference_power_smooth[0]; move16(); } ELSE { Word32 temp; FOR( i = 0; i < s_min( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ); i++ ) { temp = L_shl( reference_power_smooth_fx[i], sub( DirAC_mem.reference_power_q[0], q_reference_power_smooth[0] ) ); reference_power_smooth_fx[i] = L_max(temp, L_min(reference_power_smooth_fx[i], 1)); move32(); } q_reference_power_smooth[0] = DirAC_mem.reference_power_q[0]; move16(); } IF( LT_16( q_reference_power_smooth[1], DirAC_mem.reference_power_q[1] ) ) { Word32 temp; FOR( i = CLDFB_NO_CHANNELS_HALF; i < hSpatParamRendCom->num_freq_bands; i++ ) { temp = L_shl( reference_power_fx[i], sub( q_reference_power_smooth[1], DirAC_mem.reference_power_q[1] ) ); reference_power_fx[i] = L_max(temp, L_min(reference_power_fx[i], 1)); move32(); } DirAC_mem.reference_power_q[1] = q_reference_power_smooth[1]; move16(); } ELSE { Word32 temp; FOR( i = CLDFB_NO_CHANNELS_HALF; i < hSpatParamRendCom->num_freq_bands; i++ ) { temp = L_shl( reference_power_smooth_fx[i], sub( DirAC_mem.reference_power_q[1], q_reference_power_smooth[1] ) ); reference_power_smooth_fx[i] = L_max(temp, L_min(reference_power_smooth_fx[i], 1)); move32(); } q_reference_power_smooth[1] = DirAC_mem.reference_power_q[1]; move16(); } v_add_fixed( reference_power_fx, reference_power_smooth_fx, reference_power_smooth_fx, hSpatParamRendCom->num_freq_bands, 1 ); q_reference_power_smooth[0] = sub( q_reference_power_smooth[0], 1 ); q_reference_power_smooth[1] = sub( q_reference_power_smooth[1], 1 ); #else v_add_fixed_me( reference_power_fx, sub( 31, DirAC_mem.reference_power_q[0] ), reference_power_smooth_fx, sub( 31, q_reference_power_smooth[0] ), reference_power_smooth_fx, &temp_q, Loading @@ -3347,7 +3293,6 @@ void ivas_dirac_dec_render_sf_fx( reference_power_smooth_fx + CLDFB_NO_CHANNELS_HALF, &temp_q, s_max( 0, sub( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ) ), 1 ); q_reference_power_smooth[1] = sub( 31, temp_q ); #endif #else IF( LT_16( q_reference_power_smooth, DirAC_mem.reference_power_q ) ) { Loading lib_rend/lib_rend.c +0 −18 Original line number Diff line number Diff line Loading @@ -8444,14 +8444,6 @@ static void intermidiate_ext_dirac_render( IF( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx ) { #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 /* Possible improvement: normalize both scale regions individually. */ tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + tmp) */ hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0], tmp ); hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], tmp ); move16(); move16(); #else tmp = 0; move16(); FOR( slot_idx = 0; slot_idx < hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len; slot_idx = add( slot_idx, hSpatParamRendCom->num_freq_bands ) ) Loading @@ -8476,7 +8468,6 @@ static void intermidiate_ext_dirac_render( } hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], tmp ); move16(); #endif #else tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + tmp) */ Loading @@ -8484,14 +8475,6 @@ static void intermidiate_ext_dirac_render( move16(); #endif #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 /* Possible improvement: normalize both scale regions individually. */ tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q + tmp) */ hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] ); hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] ); move16(); #else tmp = 0; FOR( slot_idx = 0; slot_idx < hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len; slot_idx = add( slot_idx, hSpatParamRendCom->num_freq_bands ) ) { Loading @@ -8513,7 +8496,6 @@ static void intermidiate_ext_dirac_render( } hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] ); move16(); #endif #else tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q + tmp) */ Loading Loading
lib_dec/ivas_dirac_dec_fx.c +0 −55 Original line number Diff line number Diff line Loading @@ -3283,60 +3283,6 @@ void ivas_dirac_dec_render_sf_fx( IF( NE_16( hDirACRend->synthesisConf, DIRAC_SYNTHESIS_GAIN_SHD ) ) { #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 IF( LT_16( q_reference_power_smooth[0], DirAC_mem.reference_power_q[0] ) ) { Word32 temp; FOR( i = 0; i < s_min( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ); i++ ) { temp = L_shl( reference_power_fx[i], sub( q_reference_power_smooth[0], DirAC_mem.reference_power_q[0] ) ); reference_power_fx[i] = L_max(temp, L_min(reference_power_fx[i], 1)); move32(); } DirAC_mem.reference_power_q[0] = q_reference_power_smooth[0]; move16(); } ELSE { Word32 temp; FOR( i = 0; i < s_min( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ); i++ ) { temp = L_shl( reference_power_smooth_fx[i], sub( DirAC_mem.reference_power_q[0], q_reference_power_smooth[0] ) ); reference_power_smooth_fx[i] = L_max(temp, L_min(reference_power_smooth_fx[i], 1)); move32(); } q_reference_power_smooth[0] = DirAC_mem.reference_power_q[0]; move16(); } IF( LT_16( q_reference_power_smooth[1], DirAC_mem.reference_power_q[1] ) ) { Word32 temp; FOR( i = CLDFB_NO_CHANNELS_HALF; i < hSpatParamRendCom->num_freq_bands; i++ ) { temp = L_shl( reference_power_fx[i], sub( q_reference_power_smooth[1], DirAC_mem.reference_power_q[1] ) ); reference_power_fx[i] = L_max(temp, L_min(reference_power_fx[i], 1)); move32(); } DirAC_mem.reference_power_q[1] = q_reference_power_smooth[1]; move16(); } ELSE { Word32 temp; FOR( i = CLDFB_NO_CHANNELS_HALF; i < hSpatParamRendCom->num_freq_bands; i++ ) { temp = L_shl( reference_power_smooth_fx[i], sub( DirAC_mem.reference_power_q[1], q_reference_power_smooth[1] ) ); reference_power_smooth_fx[i] = L_max(temp, L_min(reference_power_smooth_fx[i], 1)); move32(); } q_reference_power_smooth[1] = DirAC_mem.reference_power_q[1]; move16(); } v_add_fixed( reference_power_fx, reference_power_smooth_fx, reference_power_smooth_fx, hSpatParamRendCom->num_freq_bands, 1 ); q_reference_power_smooth[0] = sub( q_reference_power_smooth[0], 1 ); q_reference_power_smooth[1] = sub( q_reference_power_smooth[1], 1 ); #else v_add_fixed_me( reference_power_fx, sub( 31, DirAC_mem.reference_power_q[0] ), reference_power_smooth_fx, sub( 31, q_reference_power_smooth[0] ), reference_power_smooth_fx, &temp_q, Loading @@ -3347,7 +3293,6 @@ void ivas_dirac_dec_render_sf_fx( reference_power_smooth_fx + CLDFB_NO_CHANNELS_HALF, &temp_q, s_max( 0, sub( hSpatParamRendCom->num_freq_bands, CLDFB_NO_CHANNELS_HALF ) ), 1 ); q_reference_power_smooth[1] = sub( 31, temp_q ); #endif #else IF( LT_16( q_reference_power_smooth, DirAC_mem.reference_power_q ) ) { Loading
lib_rend/lib_rend.c +0 −18 Original line number Diff line number Diff line Loading @@ -8444,14 +8444,6 @@ static void intermidiate_ext_dirac_render( IF( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx ) { #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 /* Possible improvement: normalize both scale regions individually. */ tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + tmp) */ hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0], tmp ); hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], tmp ); move16(); move16(); #else tmp = 0; move16(); FOR( slot_idx = 0; slot_idx < hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len; slot_idx = add( slot_idx, hSpatParamRendCom->num_freq_bands ) ) Loading @@ -8476,7 +8468,6 @@ static void intermidiate_ext_dirac_render( } hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], tmp ); move16(); #endif #else tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + tmp) */ Loading @@ -8484,14 +8475,6 @@ static void intermidiate_ext_dirac_render( move16(); #endif #ifdef FIX_867_CLDFB_NRG_SCALE #if 0 /* Possible improvement: normalize both scale regions individually. */ tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q + tmp) */ hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] ); hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] ); move16(); #else tmp = 0; FOR( slot_idx = 0; slot_idx < hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_len; slot_idx = add( slot_idx, hSpatParamRendCom->num_freq_bands ) ) { Loading @@ -8513,7 +8496,6 @@ static void intermidiate_ext_dirac_render( } hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] = add( tmp, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1] ); move16(); #endif #else tmp = L_norm_arr( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, imult1616( hDirACRend->num_protos_dir, hSpatParamRendCom->num_freq_bands ) ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_fx, hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_len, tmp ); /* Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q + tmp) */ Loading