[Ffmpeg-devel] [BUG] on motion_est.c with cmov

ramiro at lisha.ufsc.br ramiro
Sun Mar 25 04:25:21 CEST 2007


Hello,

Regression tests fail with gcc 4.x (tested with 4.0.4 and 4.1.2) if the
--cpu=i686 option is passed to configure.

This is a regression in gcc, since all works well with gcc 3.4.6. I know
you won't bother working around this in FFmpeg, but I'm at least curious
to know why it happens, since I spent a long time to find it.

I narrowed down the bug to the COPY3_IF_LT macro defined in
libavutil/internal.h. It works alright on all other functions except
sad_hpel_motion_search in motion_est.c.

Attached are the disassemblies for the function with and without HAVE_CMOV.

Ramiro Polla
-------------- next part --------------
A non-text attachment was scrubbed...
Name: motion_est.cmov.d
Type: application/octet-stream
Size: 43079 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070324/a20cf3bc/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: motion_est.d
Type: application/octet-stream
Size: 42312 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070324/a20cf3bc/attachment-0001.obj>



More information about the ffmpeg-devel mailing list