mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
x86: Only use optimizations with cmov if the CPU supports the instruction
This commit is contained in:
parent
65345a5a30
commit
fe07c9c6b5
@ -2829,6 +2829,7 @@ static void dsputil_init_3dnow(DSPContext *c, AVCodecContext *avctx,
|
|||||||
c->vorbis_inverse_coupling = vorbis_inverse_coupling_3dnow;
|
c->vorbis_inverse_coupling = vorbis_inverse_coupling_3dnow;
|
||||||
|
|
||||||
#if HAVE_7REGS
|
#if HAVE_7REGS
|
||||||
|
if (mm_flags & AV_CPU_FLAG_CMOV)
|
||||||
c->add_hfyu_median_prediction = add_hfyu_median_prediction_cmov;
|
c->add_hfyu_median_prediction = add_hfyu_median_prediction_cmov;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -188,6 +188,7 @@ void ff_h264_pred_init_x86(H264PredContext *h, int codec_id, const int bit_depth
|
|||||||
if (chroma_format_idc == 1)
|
if (chroma_format_idc == 1)
|
||||||
h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_plane_mmx;
|
h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_plane_mmx;
|
||||||
if (codec_id == CODEC_ID_SVQ3) {
|
if (codec_id == CODEC_ID_SVQ3) {
|
||||||
|
if (mm_flags & AV_CPU_FLAG_CMOV)
|
||||||
h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_mmx;
|
h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_svq3_mmx;
|
||||||
} else if (codec_id == CODEC_ID_RV40) {
|
} else if (codec_id == CODEC_ID_RV40) {
|
||||||
h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_rv40_mmx;
|
h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_plane_rv40_mmx;
|
||||||
|
@ -361,6 +361,7 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, const int chrom
|
|||||||
if (chroma_format_idc == 1)
|
if (chroma_format_idc == 1)
|
||||||
c->h264_idct_add8 = ff_h264_idct_add8_8_mmx;
|
c->h264_idct_add8 = ff_h264_idct_add8_8_mmx;
|
||||||
c->h264_idct_add16intra = ff_h264_idct_add16intra_8_mmx;
|
c->h264_idct_add16intra = ff_h264_idct_add16intra_8_mmx;
|
||||||
|
if (mm_flags & AV_CPU_FLAG_CMOV)
|
||||||
c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_mmx;
|
c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_mmx;
|
||||||
|
|
||||||
if (mm_flags & AV_CPU_FLAG_MMX2) {
|
if (mm_flags & AV_CPU_FLAG_MMX2) {
|
||||||
|
Loading…
Reference in New Issue
Block a user