summaryrefslogtreecommitdiff
path: root/libavcodec/x86/h264_intrapred_init.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2012-06-19 12:55:10 +0200
committerDiego Biurrun <diego@biurrun.de>2012-06-23 16:21:50 +0200
commitfe07c9c6b5a870b8f2ffcfac649228b4d76e9505 (patch)
tree8d41af7a5d1fb16d8788d33ee9374d38df761a54 /libavcodec/x86/h264_intrapred_init.c
parent65345a5a30a0e866b6944c0e6184be3feca04335 (diff)
x86: Only use optimizations with cmov if the CPU supports the instruction
Diffstat (limited to 'libavcodec/x86/h264_intrapred_init.c')
-rw-r--r--libavcodec/x86/h264_intrapred_init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/x86/h264_intrapred_init.c b/libavcodec/x86/h264_intrapred_init.c
index 41e611ecd1..6bad9696c7 100644
--- a/libavcodec/x86/h264_intrapred_init.c
+++ b/libavcodec/x86/h264_intrapred_init.c
@@ -188,7 +188,8 @@ void ff_h264_pred_init_x86(H264PredContext *h, int codec_id, const int bit_depth
if (chroma_format_idc == 1)
h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_plane_mmx;
if (codec_id == CODEC_ID_SVQ3) {
- h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_mmx;
+ if (mm_flags & AV_CPU_FLAG_CMOV)
+ h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_mmx;
} else if (codec_id == CODEC_ID_RV40) {
h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_rv40_mmx;
} else {