diff --git a/configure b/configure index 67ab094d5a..1dc63b4ea2 100755 --- a/configure +++ b/configure @@ -2133,6 +2133,7 @@ qsvenc_select="qsv" # decoders / encoders aac_decoder_select="imdct15 mdct sinewin" +aac_fixed_decoder_select="mdct sinewin" aac_encoder_select="audio_frame_queue iirfilter mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert mdct" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 3fa6d30bea..dfda9b406a 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -102,7 +102,7 @@ OBJS-$(CONFIG_RANGECODER) += rangecoder.o RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes) OBJS-$(CONFIG_SHARED) += log2_tab.o -OBJS-$(CONFIG_SINEWIN) += sinewin.o +OBJS-$(CONFIG_SINEWIN) += sinewin.o sinewin_fixed.o OBJS-$(CONFIG_SNAPPY) += snappy.o OBJS-$(CONFIG_STARTCODE) += startcode.o OBJS-$(CONFIG_TEXTUREDSP) += texturedsp.o @@ -119,6 +119,8 @@ OBJS-$(CONFIG_A64MULTI5_ENCODER) += a64multienc.o elbg.o OBJS-$(CONFIG_AAC_DECODER) += aacdec.o aactab.o aacsbr.o aacps.o \ aacadtsdec.o mpeg4audio.o kbdwin.o \ sbrdsp.o aacpsdsp.o +OBJS-$(CONFIG_AAC_FIXED_DECODER) += aacdec_fixed.o aactab.o \ + aacadtsdec.o mpeg4audio.o kbdwin.o OBJS-$(CONFIG_AAC_ENCODER) += aacenc.o aaccoder.o \ aacpsy.o aactab.o \ psymodel.o mpeg4audio.o kbdwin.o @@ -924,6 +926,7 @@ HOSTPROGS = aac_tablegen \ aacsbr_tablegen \ cabac_tablegen \ cbrt_tablegen \ + cbrt_fixed_tablegen \ cos_tablegen \ dsd_tablegen \ dv_tablegen \ @@ -932,6 +935,7 @@ HOSTPROGS = aac_tablegen \ pcm_tablegen \ qdm2_tablegen \ sinewin_tablegen \ + sinewin_fixed_tablegen \ CLEANFILES = *_tables.c *_tables.h *_tablegen$(HOSTEXESUF) @@ -950,8 +954,8 @@ else $(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=0 endif -GEN_HEADERS = cabac_tables.h cbrt_tables.h aacps_tables.h aacsbr_tables.h aac_tables.h dsd_tables.h dv_tables.h \ - sinewin_tables.h mpegaudio_tables.h motionpixels_tables.h \ +GEN_HEADERS = cabac_tables.h cbrt_tables.h cbrt_fixed_tables.h aacps_tables.h aacsbr_tables.h aac_tables.h dsd_tables.h dv_tables.h \ + sinewin_tables.h sinewin_fixed_tables.h mpegaudio_tables.h motionpixels_tables.h \ pcm_tables.h qdm2_tables.h GEN_HEADERS := $(addprefix $(SUBDIR), $(GEN_HEADERS)) @@ -960,13 +964,16 @@ $(GEN_HEADERS): $(SUBDIR)%_tables.h: $(SUBDIR)%_tablegen$(HOSTEXESUF) ifdef CONFIG_HARDCODED_TABLES $(SUBDIR)aacdec.o: $(SUBDIR)cbrt_tables.h +$(SUBDIR)aacdec_fixed.o: $(SUBDIR)cbrt_fixed_tables.h $(SUBDIR)aacps.o: $(SUBDIR)aacps_tables.h $(SUBDIR)aacsbr.o: $(SUBDIR)aacsbr_tables.h $(SUBDIR)aactab.o: $(SUBDIR)aac_tables.h +$(SUBDIR)aactab_fixed.o: $(SUBDIR)aac_fixed_tables.h $(SUBDIR)cabac.o: $(SUBDIR)cabac_tables.h $(SUBDIR)dsddec.o: $(SUBDIR)dsd_tables.h $(SUBDIR)dvenc.o: $(SUBDIR)dv_tables.h $(SUBDIR)sinewin.o: $(SUBDIR)sinewin_tables.h +$(SUBDIR)sinewin_fixed.o: $(SUBDIR)sinewin_fixed_tables.h $(SUBDIR)mpegaudiodec_fixed.o: $(SUBDIR)mpegaudio_tables.h $(SUBDIR)mpegaudiodec_float.o: $(SUBDIR)mpegaudio_tables.h $(SUBDIR)motionpixels.o: $(SUBDIR)motionpixels_tables.h diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 5a9c57c9fa..d4fdf32988 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -35,7 +35,6 @@ #define FFT_FLOAT 1 #define FFT_FIXED_32 0 #define USE_FIXED 0 -#define CONFIG_FIXED 0 #include "libavutil/float_dsp.h" #include "libavutil/opt.h" diff --git a/libavcodec/aacdec_fixed.c b/libavcodec/aacdec_fixed.c index 0089baa57a..17808114d6 100644 --- a/libavcodec/aacdec_fixed.c +++ b/libavcodec/aacdec_fixed.c @@ -61,7 +61,6 @@ #define FFT_FLOAT 0 #define FFT_FIXED_32 1 #define USE_FIXED 1 -#define CONFIG_FIXED 1 #include "libavutil/fixed_dsp.h" #include "libavutil/opt.h" diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index c7e87b7473..70c81c7613 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -339,6 +339,7 @@ void avcodec_register_all(void) /* audio codecs */ REGISTER_ENCDEC (AAC, aac); + REGISTER_DECODER(AAC_FIXED, aac_fixed); REGISTER_DECODER(AAC_LATM, aac_latm); REGISTER_ENCDEC (AC3, ac3); REGISTER_ENCDEC (AC3_FIXED, ac3_fixed);