---
 configure                    |   15 ++++++++-------
 libavcodec/x86/Makefile      |    2 +-
 libavcodec/x86/dsputil_mmx.c |   10 ++++++----
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/configure b/configure
index 22542af..1ba505c 100755
--- a/configure
+++ b/configure
@@ -939,6 +939,7 @@ CONFIG_LIST="
     h264chroma
     h264dsp
     h264pred
+    h264qpel
     hardcoded_tables
     huffman
     libcdio
@@ -1301,7 +1302,7 @@ h263_encoder_select="aandct"
 h263_vaapi_hwaccel_select="vaapi h263_decoder"
 h263i_decoder_select="h263_decoder"
 h263p_encoder_select="h263_encoder"
-h264_decoder_select="golomb h264chroma h264dsp h264pred"
+h264_decoder_select="golomb h264chroma h264dsp h264pred h264qpel"
 h264_dxva2_hwaccel_deps="dxva2api_h"
 h264_dxva2_hwaccel_select="dxva2 h264_decoder"
 h264_vaapi_hwaccel_select="vaapi h264_decoder"
@@ -1354,14 +1355,14 @@ rv10_decoder_select="h263_decoder"
 rv10_encoder_select="h263_encoder"
 rv20_decoder_select="h263_decoder"
 rv20_encoder_select="h263_encoder"
-rv30_decoder_select="golomb h264chroma h264pred"
-rv40_decoder_select="golomb h264chroma h264pred"
+rv30_decoder_select="golomb h264chroma h264pred h264qpel"
+rv40_decoder_select="golomb h264chroma h264pred h264qpel"
 shorten_decoder_select="golomb"
 sipr_decoder_select="lsp"
 snow_decoder_select="dwt"
 snow_encoder_select="aandct dwt"
 svq1_encoder_select="aandct"
-svq3_decoder_select="golomb h264chroma h264dsp h264pred"
+svq3_decoder_select="golomb h264chroma h264dsp h264pred h264qpel"
 svq3_decoder_suggest="zlib"
 theora_decoder_select="vp3_decoder"
 tiff_decoder_suggest="zlib"
@@ -1369,7 +1370,7 @@ tiff_encoder_suggest="zlib"
 truehd_decoder_select="mlp_decoder"
 tscc_decoder_select="zlib"
 twinvq_decoder_select="mdct lsp sinewin"
-vc1_decoder_select="h263_decoder h264chroma"
+vc1_decoder_select="h263_decoder h264chroma h264qpel"
 vc1_dxva2_hwaccel_deps="dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex"
 vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
 vc1_vaapi_hwaccel_select="vaapi vc1_decoder"
@@ -1380,7 +1381,7 @@ vorbis_encoder_select="mdct"
 vp6_decoder_select="huffman"
 vp6a_decoder_select="vp6_decoder"
 vp6f_decoder_select="vp6_decoder"
-vp8_decoder_select="h264pred"
+vp8_decoder_select="h264pred h264qpel"
 wmapro_decoder_select="mdct sinewin"
 wmav1_decoder_select="mdct sinewin"
 wmav1_encoder_select="mdct sinewin"
@@ -1406,7 +1407,7 @@ vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
 vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
 
 # parsers
-h264_parser_select="golomb h264chroma h264dsp h264pred"
+h264_parser_select="golomb h264chroma h264dsp h264pred h264qpel"
 
 # external libraries
 libdirac_decoder_deps="libdirac !libschroedinger"
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index aa97942..61b0e0d 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -23,6 +23,7 @@ YASM-OBJS-$(CONFIG_H264DSP)            += x86/h264_deblock.o  
          \
 YASM-OBJS-$(CONFIG_H264PRED)           += x86/h264_intrapred.o          \
                                           x86/h264_intrapred_10bit.o
 MMX-OBJS-$(CONFIG_H264PRED)            += x86/h264_intrapred_init.o
+YASM-OBJS-$(CONFIG_H264QPEL)           += x86/h264_qpel_10bit.o
 
 MMX-OBJS-$(CONFIG_RV40_DECODER)        += x86/rv40dsp.o                 \
 
@@ -52,7 +53,6 @@ MMX-OBJS-$(CONFIG_VP8_DECODER)         += x86/vp8dsp-init.o
 MMX-OBJS-$(HAVE_YASM)                  += x86/dsputil_yasm.o            \
                                           x86/deinterlace.o             \
                                           x86/fmtconvert.o              \
-                                          x86/h264_qpel_10bit.o         \
                                           $(YASM-OBJS-yes)
 
 MMX-OBJS-$(CONFIG_FFT)                 += x86/fft.o
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index e34b95b..5b816ba 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -2648,7 +2648,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
*avctx)
             SET_QPEL_FUNCS(avg_h264_qpel, 1, 8, mmx2, );
             SET_QPEL_FUNCS(avg_h264_qpel, 2, 4, mmx2, );
             }
-            else if (bit_depth == 10) {
+            else if (bit_depth == 10 && CONFIG_H264QPEL) {
 #if HAVE_YASM
 #if !ARCH_X86_64
                 SET_QPEL_FUNCS(avg_h264_qpel, 0, 16, 10_mmxext, ff_);
@@ -2789,6 +2789,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
*avctx)
             c->avg_h264_qpel_pixels_tab[0][x+y*4] = 
ff_avg_h264_qpel16_mc##x##y##_10_##CPU;\
             c->avg_h264_qpel_pixels_tab[1][x+y*4] = 
ff_avg_h264_qpel8_mc##x##y##_10_##CPU;
             if (bit_depth == 10) {
+                if (CONFIG_H264QPEL) {
                 SET_QPEL_FUNCS(put_h264_qpel, 0, 16, 10_sse2, ff_);
                 SET_QPEL_FUNCS(put_h264_qpel, 1, 8,  10_sse2, ff_);
                 SET_QPEL_FUNCS(avg_h264_qpel, 0, 16, 10_sse2, ff_);
@@ -2796,7 +2797,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
*avctx)
                 H264_QPEL_FUNCS_10(1, 0, sse2_cache64)
                 H264_QPEL_FUNCS_10(2, 0, sse2_cache64)
                 H264_QPEL_FUNCS_10(3, 0, sse2_cache64)
-
+                }
                 if (CONFIG_H264CHROMA) {
                     c->put_h264_chroma_pixels_tab[0] = 
ff_put_h264_chroma_mc8_10_sse2;
                     c->avg_h264_chroma_pixels_tab[0] = 
ff_avg_h264_chroma_mc8_10_sse2;
@@ -2821,7 +2822,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
*avctx)
             H264_QPEL_FUNCS(3, 3, ssse3);
             }
 #if HAVE_YASM
-            else if (bit_depth == 10) {
+            else if (bit_depth == 10 && CONFIG_H264QPEL) {
                 H264_QPEL_FUNCS_10(1, 0, ssse3_cache64)
                 H264_QPEL_FUNCS_10(2, 0, ssse3_cache64)
                 H264_QPEL_FUNCS_10(3, 0, ssse3_cache64)
@@ -2926,10 +2927,11 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext 
*avctx)
             if (bit_depth == 10) {
                 //AVX implies !cache64.
                 //TODO: Port cache(32|64) detection from x264.
+                if (CONFIG_H264QPEL) {
                 H264_QPEL_FUNCS_10(1, 0, sse2)
                 H264_QPEL_FUNCS_10(2, 0, sse2)
                 H264_QPEL_FUNCS_10(3, 0, sse2)
-
+                }
                 if (CONFIG_H264CHROMA) {
                     c->put_h264_chroma_pixels_tab[0] = 
ff_put_h264_chroma_mc8_10_avx;
                     c->avg_h264_chroma_pixels_tab[0] = 
ff_avg_h264_chroma_mc8_10_avx;
-- 
1.7.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to