@ -27,6 +27,7 @@
// do not use libavutil/libm.h since this is compiled both
// for the host and the target and config.h is only valid for the target
# include <math.h>
# include "libavcodec/aac_defines.h"
# include "libavutil/attributes.h"
# include "libavutil/common.h"
@ -49,33 +50,29 @@ SINETABLE(8192);
# endif
# if USE_FIXED
# define SINEWIN_SUFFIX(a) a ## _fixed
# define INTFLOAT int
# define SIN_FIX(a) (int)floor((a) * 0x80000000 + 0.5)
# else
# define SINEWIN_SUFFIX(a) a
# define INTFLOAT float
# define SIN_FIX(a) a
# endif
SINETABLE_CONST INTFLOAT * const SINEWIN_SUFFIX ( ff_sine_windows ) [ ] = {
SINETABLE_CONST INTFLOAT * const AAC_RENAME ( ff_sine_windows ) [ ] = {
NULL , NULL , NULL , NULL , NULL , // unused
SINEWIN_SUFFIX ( ff_sine_32 ) , SINEWIN_SUFFIX ( ff_sine_64 ) , SINEWIN_SUFFIX ( ff_sine_128 ) ,
SINEWIN_SUFFIX ( ff_sine_256 ) , SINEWIN_SUFFIX ( ff_sine_512 ) , SINEWIN_SUFFIX ( ff_sine_1024 ) ,
SINEWIN_SUFFIX ( ff_sine_2048 ) , SINEWIN_SUFFIX ( ff_sine_4096 ) , SINEWIN_SUFFIX ( ff_sine_8192 )
AAC_RENAME ( ff_sine_32 ) , AAC_RENAME ( ff_sine_64 ) , AAC_RENAME ( ff_sine_128 ) ,
AAC_RENAME ( ff_sine_256 ) , AAC_RENAME ( ff_sine_512 ) , AAC_RENAME ( ff_sine_1024 ) ,
AAC_RENAME ( ff_sine_2048 ) , AAC_RENAME ( ff_sine_4096 ) , AAC_RENAME ( ff_sine_8192 )
} ;
// Generate a sine window.
av_cold void SINEWIN_SUFFIX ( ff_sine_window_init ) ( INTFLOAT * window , int n ) {
av_cold void AAC_RENAME ( ff_sine_window_init ) ( INTFLOAT * window , int n ) {
int i ;
for ( i = 0 ; i < n ; i + + )
window [ i ] = SIN_FIX ( sinf ( ( i + 0.5 ) * ( M_PI / ( 2.0 * n ) ) ) ) ;
}
av_cold void SINEWIN_SUFFIX ( ff_init_ff_sine_windows ) ( int index ) {
assert ( index > = 0 & & index < FF_ARRAY_ELEMS ( SINEWIN_SUFFIX ( ff_sine_windows ) ) ) ;
av_cold void AAC_RENAME ( ff_init_ff_sine_windows ) ( int index ) {
assert ( index > = 0 & & index < FF_ARRAY_ELEMS ( AAC_RENAME ( ff_sine_windows ) ) ) ;
# if !CONFIG_HARDCODED_TABLES
SINEWIN_SUFFIX ( ff_sine_window_init ) ( SINEWIN_SUFFIX ( ff_sine_windows ) [ index ] , 1 < < index ) ;
AAC_RENAME ( ff_sine_window_init ) ( AAC_RENAME ( ff_sine_windows ) [ index ] , 1 < < index ) ;
# endif
}