[gstreamer-bugs] [Bug 576997] floating point stack corruption : emms_c macro not working in ffdeinterlace

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Mar 30 14:57:56 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=576997

  GStreamer | gst-ffmpeg | Ver: 0.10.5




------- Comment #2 from Yves Lefebvre  2009-03-30 21:58 UTC -------
Here is a quick test to confirm this issue : 

gdb --args gst-launch-0.10 videotestsrc num-buffers=2 ! ffdeinterlace !
fakesink

and put a break point in avpicture_deinterlace

b avpicture_deinterlace

run it.

Once it break, check the value of the mm_flags. Without the patch, it is 0.
After applying the patch and redoing this test, it should be different than 0
if running on a pc with mmx.

if the mm_flags is not properly set, the emms_c macro defined in
gst-libs/ext/ffmpeg/libavcodec/dsputil.h will not call emms();

#define emms_c() \
{\
    if (mm_flags & MM_MMX)\
        emms();\
}

This will leave the floating point stack potentially corrupted after the
deinterlace mmx function.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=576997.




More information about the Gstreamer-bugs mailing list