summaryrefslogtreecommitdiff
path: root/libavcodec/x86/h264_qpel.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-01-24 22:14:39 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-01-24 22:14:39 +0100
commitfc8e8e5bef323ffa20d391a9a19ba5eb31f673c5 (patch)
tree1dbc5d1c72f4e34c4584bcb2c6698bf9bfdef418 /libavcodec/x86/h264_qpel.c
parentcf48b006400e34e1177d0ca22d1cdb5c900a199a (diff)
h264_qpel: put cpuflags checks back.
These where lost when libav moved the code out of dsputil Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/h264_qpel.c')
-rw-r--r--libavcodec/x86/h264_qpel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/x86/h264_qpel.c b/libavcodec/x86/h264_qpel.c
index 2033763f9e..3cf8f42fb7 100644
--- a/libavcodec/x86/h264_qpel.c
+++ b/libavcodec/x86/h264_qpel.c
@@ -534,6 +534,8 @@ void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth)
int mm_flags = av_get_cpu_flags();
#if HAVE_MMXEXT_EXTERNAL
+ if (!(mm_flags & AV_CPU_FLAG_MMXEXT))
+ return;
if (!high_bit_depth) {
SET_QPEL_FUNCS(put_h264_qpel, 0, 16, mmxext, );
SET_QPEL_FUNCS(put_h264_qpel, 1, 8, mmxext, );
@@ -554,6 +556,8 @@ void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth)
#endif
#if HAVE_SSE2_EXTERNAL
+ if (!(mm_flags & AV_CPU_FLAG_SSE2))
+ return;
if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW) && !high_bit_depth) {
// these functions are slower than mmx on AMD, but faster on Intel
H264_QPEL_FUNCS(0, 0, sse2);
@@ -586,6 +590,8 @@ void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth)
#endif
#if HAVE_SSSE3_EXTERNAL
+ if (!(mm_flags & AV_CPU_FLAG_SSSE3))
+ return;
if (!high_bit_depth) {
H264_QPEL_FUNCS(1, 0, ssse3);
H264_QPEL_FUNCS(1, 1, ssse3);