aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/h264_intrapred_init.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-02-11 16:04:43 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-02-12 18:56:06 +0100
commitb223035511d3431853c1e678d49e2630152c591a (patch)
tree61afbfacc486e1268acc93675321c8d01560b0a5 /libavcodec/x86/h264_intrapred_init.c
parentcd1c12b5c5b79195140a93d59cbf990d034f61d8 (diff)
downloadffmpeg-b223035511d3431853c1e678d49e2630152c591a.tar.gz
Detect and check for CMOV.
Some MMX-only CPUs do not have support for CMOV. All SSE/MMX2 CPUs should be fine, thus no check was added to those functions. See also https://sourceforge.net/tracker/?func=detail&aid=3358347&group_id=205275&atid=992986 Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
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 540ec87ad3..58740e2ed1 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 {