@ -1702,12 +1702,18 @@ void ff_sbr_apply(AACContext *ac, SpectralBandReplication *sbr, int id_aac,
sbr_qmf_analysis ( & ac - > fdsp , & sbr - > mdct_ana , & sbr - > dsp , ch ? R : L , sbr - > data [ ch ] . analysis_filterbank_samples ,
( float * ) sbr - > qmf_filter_scratch ,
sbr - > data [ ch ] . W , sbr - > data [ ch ] . Ypos ) ;
sbr - > c . sbr_lf_gen ( ac , sbr , sbr - > X_low , sbr - > data [ ch ] . W , sbr - > data [ ch ] . Ypos ) ;
sbr - > c . sbr_lf_gen ( ac , sbr , sbr - > X_low ,
( const float ( * ) [ 32 ] [ 32 ] [ 2 ] ) sbr - > data [ ch ] . W ,
sbr - > data [ ch ] . Ypos ) ;
sbr - > data [ ch ] . Ypos ^ = 1 ;
if ( sbr - > start ) {
sbr - > c . sbr_hf_inverse_filter ( & sbr - > dsp , sbr - > alpha0 , sbr - > alpha1 , sbr - > X_low , sbr - > k [ 0 ] ) ;
sbr - > c . sbr_hf_inverse_filter ( & sbr - > dsp , sbr - > alpha0 , sbr - > alpha1 ,
( const float ( * ) [ 40 ] [ 2 ] ) sbr - > X_low , sbr - > k [ 0 ] ) ;
sbr_chirp ( sbr , & sbr - > data [ ch ] ) ;
sbr_hf_gen ( ac , sbr , sbr - > X_high , sbr - > X_low , sbr - > alpha0 , sbr - > alpha1 ,
sbr_hf_gen ( ac , sbr , sbr - > X_high ,
( const float ( * ) [ 40 ] [ 2 ] ) sbr - > X_low ,
( const float ( * ) [ 2 ] ) sbr - > alpha0 ,
( const float ( * ) [ 2 ] ) sbr - > alpha1 ,
sbr - > data [ ch ] . bw_array , sbr - > data [ ch ] . t_env ,
sbr - > data [ ch ] . bs_num_env ) ;
@ -1717,16 +1723,17 @@ void ff_sbr_apply(AACContext *ac, SpectralBandReplication *sbr, int id_aac,
sbr_env_estimate ( sbr - > e_curr , sbr - > X_high , sbr , & sbr - > data [ ch ] ) ;
sbr_gain_calc ( ac , sbr , & sbr - > data [ ch ] , sbr - > data [ ch ] . e_a ) ;
sbr - > c . sbr_hf_assemble ( sbr - > data [ ch ] . Y [ sbr - > data [ ch ] . Ypos ] ,
sbr - > X_high , sbr , & sbr - > data [ ch ] ,
( const float ( * ) [ 40 ] [ 2 ] ) sbr - > X_high ,
sbr , & sbr - > data [ ch ] ,
sbr - > data [ ch ] . e_a ) ;
}
}
/* synthesis */
sbr - > c . sbr_x_gen ( sbr , sbr - > X [ ch ] ,
sbr - > data [ ch ] . Y [ 1 - sbr - > data [ ch ] . Ypos ] ,
sbr - > data [ ch ] . Y [ sbr - > data [ ch ] . Ypos ] ,
sbr - > X_low , ch ) ;
( const float ( * ) [ 64 ] [ 2 ] ) sbr - > data [ ch ] . Y [ 1 - sbr - > data [ ch ] . Ypos ] ,
( const float ( * ) [ 64 ] [ 2 ] ) sbr - > data [ ch ] . Y [ sbr - > data [ ch ] . Ypos ] ,
( const float ( * ) [ 40 ] [ 2 ] ) sbr - > X_low , ch ) ;
}
if ( ac - > oc [ 1 ] . m4ac . ps = = 1 ) {