---
configure | 39 +++++++++++++++++++++++++++------------
libavcodec/Makefile | 3 ++-
libavcodec/dsputil.c | 14 ++++++++------
3 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/configure b/configure
index 5c0e56c..215da5c 100755
--- a/configure
+++ b/configure
@@ -100,9 +100,11 @@ Configuration options:
--enable-small optimize for size instead of speed
--disable-aandct disable AAN DCT code
--disable-dct disable DCT code
+ --disable-faandct disable floating point AAN DCT code
--disable-fft disable FFT code
--disable-golomb disable Golomb code
--disable-huffman disable Huffman code
+ --disable-jpegdct disable JPEG DCT code
--disable-lpc disable LPC code
--disable-mdct disable MDCT code
--disable-rdft disable RDFT code
@@ -929,6 +931,7 @@ CONFIG_LIST="
doc
dwt
dxva2
+ faandct
fastdiv
fft
frei0r
@@ -941,6 +944,7 @@ CONFIG_LIST="
h264pred
hardcoded_tables
huffman
+ jpegdct
libcdio
libdc1394
libdirac
@@ -1268,24 +1272,32 @@ rdft_select="fft"
mpegaudiodsp_select="dct"
# decoders / encoders / hardware accelerators
+a64multi_encoder_select="faandct jpegdct"
+a64multi5_encoder_select="faandct jpegdct"
aac_decoder_select="mdct sinewin"
aac_encoder_select="mdct sinewin"
aac_latm_decoder_select="aac_decoder aac_latm_parser"
ac3_decoder_select="mdct ac3dsp ac3_parser"
-ac3_encoder_select="mdct ac3dsp"
-ac3_fixed_encoder_select="mdct ac3dsp"
+ac3_encoder_select="ac3dsp faandct jpegdct mdct"
+ac3_fixed_encoder_select="ac3dsp faandct jpegdct mdct"
alac_encoder_select="lpc"
amrnb_decoder_select="lsp"
amrwb_decoder_select="lsp"
+asv1_encoder_select="faandct jpegdct"
+asv2_encoder_select="faandct jpegdct"
atrac1_decoder_select="mdct sinewin"
atrac3_decoder_select="mdct"
binkaudio_dct_decoder_select="mdct rdft dct sinewin"
binkaudio_rdft_decoder_select="mdct rdft sinewin"
+bmp_encoder_select="faandct jpegdct"
cavs_decoder_select="golomb"
+cljr_encoder_select="faandct jpegdct"
cook_decoder_select="mdct sinewin"
cscd_decoder_suggest="zlib"
dca_decoder_select="mdct"
-dnxhd_encoder_select="aandct"
+dnxhd_encoder_select="aandct faandct jpegdct"
+dpx_encoder_select="faandct jpegdct"
+dvvideo_encoder_select="faandct jpegdct"
dxa_decoder_select="zlib"
eac3_decoder_select="ac3_decoder"
eac3_encoder_select="mdct ac3dsp"
@@ -1293,17 +1305,19 @@ eamad_decoder_select="aandct"
eatgq_decoder_select="aandct"
eatqi_decoder_select="aandct"
ffv1_decoder_select="golomb"
+ffv1_encoder_select="faandct jpegdct"
+ffvhuff_encoder_select="faandct jpegdct"
flac_decoder_select="golomb"
flac_encoder_select="golomb lpc"
flashsv_decoder_select="zlib"
-flashsv_encoder_select="zlib"
+flashsv_encoder_select="faandct jpegdct zlib"
flashsv2_decoder_select="zlib"
flv_decoder_select="h263_decoder"
flv_encoder_select="h263_encoder"
fraps_decoder_select="huffman"
-h261_encoder_select="aandct"
+h261_encoder_select="aandct faandct jpegdct"
h263_decoder_select="h263_parser"
-h263_encoder_select="aandct"
+h263_encoder_select="aandct faandct jpegdct"
h263_vaapi_hwaccel_select="vaapi h263_decoder"
h263i_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder"
@@ -1316,9 +1330,9 @@ h264_vdpau_decoder_select="vdpau h264_decoder"
imc_decoder_select="fft mdct sinewin"
jpegls_decoder_select="golomb"
jpegls_encoder_select="golomb"
-ljpeg_encoder_select="aandct"
+ljpeg_encoder_select="aandct faandct jpegdct"
loco_decoder_select="golomb"
-mjpeg_encoder_select="aandct"
+mjpeg_encoder_select="aandct faandct jpegdct"
mlp_decoder_select="mlp_parser"
mp1_decoder_select="mpegaudiodsp"
mp1float_decoder_select="mpegaudiodsp"
@@ -1336,11 +1350,11 @@ mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder"
mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
mpeg_xvmc_decoder_select="mpegvideo_decoder"
mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
-mpeg1video_encoder_select="aandct"
+mpeg1video_encoder_select="aandct faandct jpegdct"
mpeg2_dxva2_hwaccel_deps="dxva2api_h"
mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder"
mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder"
-mpeg2video_encoder_select="aandct"
+mpeg2video_encoder_select="aandct faandct jpegdct"
mpeg4_decoder_select="h263_decoder mpeg4video_parser"
mpeg4_encoder_select="h263_encoder"
mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder"
@@ -1355,6 +1369,7 @@ nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="mdct sinewin"
png_decoder_select="zlib"
png_encoder_select="zlib"
+prores_encoder_select="jpegdct"
qcelp_decoder_select="lsp"
qdm2_decoder_select="mdct rdft mpegaudiodsp"
ra_144_encoder_select="lpc"
@@ -1367,8 +1382,8 @@ rv40_decoder_select="golomb h264chroma h264pred"
shorten_decoder_select="golomb"
sipr_decoder_select="lsp"
snow_decoder_select="dwt"
-snow_encoder_select="aandct dwt"
-svq1_encoder_select="aandct"
+snow_encoder_select="aandct dwt faandct jpegdct"
+svq1_encoder_select="aandct faandct jpegdct"
svq3_decoder_select="golomb h264chroma h264dsp h264pred"
svq3_decoder_suggest="zlib"
theora_decoder_select="vp3_decoder"
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 76bbd27..a787361 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -24,10 +24,10 @@ OBJS = allcodecs.o
\
# parts needed for many different codecs
OBJS-$(CONFIG_AANDCT) += aandcttab.o
OBJS-$(CONFIG_AC3DSP) += ac3dsp.o
-OBJS-$(CONFIG_ENCODERS) += faandct.o jfdctfst.o jfdctint.o
OBJS-$(CONFIG_DCT) += dct.o dct32_fixed.o dct32_float.o
OBJS-$(CONFIG_DWT) += dwt.o
OBJS-$(CONFIG_DXVA2) += dxva2.o
+OBJS-$(CONFIG_FAANDCT) += faandct.o
FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o cos_fixed_tables.o
OBJS-$(CONFIG_FFT) += avfft.o fft_fixed.o fft_float.o \
$(FFT-OBJS-yes)
@@ -35,6 +35,7 @@ OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o
OBJS-$(CONFIG_H264PRED) += h264pred.o
OBJS-$(CONFIG_HUFFMAN) += huffman.o
+OBJS-$(CONFIG_JPEGDCT) += jfdctfst.o jfdctint.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index bd10054..9b8d7c0 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -2790,25 +2790,27 @@ av_cold void ff_dsputil_init(DSPContext* c,
AVCodecContext *avctx)
ff_check_alignment();
-#if CONFIG_ENCODERS
+#if CONFIG_FAANDCT || CONFIG_JPEGDCT
if (avctx->bits_per_raw_sample == 10) {
c->fdct = ff_jpeg_fdct_islow_10;
c->fdct248 = ff_fdct248_islow_10;
} else {
+#if CONFIG_FAANDCT
+ if(avctx->dct_algo==FF_DCT_FAAN) {
+ c->fdct = ff_faandct;
+ c->fdct248 = ff_faandct248;
+ }
+#endif
if(avctx->dct_algo==FF_DCT_FASTINT) {
c->fdct = ff_fdct_ifast;
c->fdct248 = ff_fdct_ifast248;
}
- else if(avctx->dct_algo==FF_DCT_FAAN) {
- c->fdct = ff_faandct;
- c->fdct248 = ff_faandct248;
- }
else {
c->fdct = ff_jpeg_fdct_islow_8; //slow/accurate/default
c->fdct248 = ff_fdct248_islow_8;
}
}
-#endif //CONFIG_ENCODERS
+#endif /* CONFIG_FAANDCT || CONFIG_JPEGDCT */
if(avctx->lowres==1){
c->idct_put= ff_jref_idct4_put;
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel