On 12/09/14 4:50 PM, Mikulas Patocka wrote: > There are MMX processors that don't support CMOV (pentium-mmx, amd-k6, cyrix > 6x86). Therefore, we must not use cmov in in MMX code. > > All processors supporing mmx2 also support cmov, so if a test for mmx2 > succeeds, > we can use cmov. > > --- > libavcodec/x86/h264_idct.asm | 6 ++++++ > 1 file changed, 6 insertions(+) > > Index: ffmpeg/libavcodec/x86/h264_idct.asm > =================================================================== > --- ffmpeg.orig/libavcodec/x86/h264_idct.asm 2014-08-25 03:59:06.376569389 > +0200 > +++ ffmpeg/libavcodec/x86/h264_idct.asm 2014-08-25 18:47:46.988574579 > +0200 > @@ -1063,7 +1063,13 @@ cglobal h264_luma_dc_dequant_idct, 3, 4, > add t3d, 128 << 16 > mov t1d, 7 > cmp t0d, t1d > +%if cpuflag(mmx2) > cmovg t0d, t1d > +%else > + jng .skip_mov > + mov t0d, t1d > +.skip_mov: > +%endif > inc t1d > shr t3d, t0b > sub t1d, t0d
This is not necessary. The check for cmov-enabled CPUs is done in h264dsp_init.c so this function is not being used on CPUs like the ones you mentioned. If anything, you could add a second mmx version for said CPUs, but i really doubt it's worth the increased binary size. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel