]> granicus.if.org Git - handbrake/commitdiff
Disable ssse3 h264_qpel optimizations to workaround a crash in h.264 decoder on OS X.
authorritsuka <damiog@gmail.com>
Thu, 1 Jan 2009 19:15:25 +0000 (19:15 +0000)
committerritsuka <damiog@gmail.com>
Thu, 1 Jan 2009 19:15:25 +0000 (19:15 +0000)
Original patch from the Perian project.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2054 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/Jamfile
contrib/patch-ffmpeg-h264dsp-crash.diff [new file with mode: 0644]

index c24c7602df7cd5fdf71b5c33e89b7c3611cde01b..09f72955a4c40b54b7263f206aa67b9be0ab996b 100644 (file)
@@ -87,7 +87,11 @@ rule LibAvCodec
     else if $(OS) = SOLARIS
     {
         FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-solaris.patch " ;
-    } 
+    }
+    else if $(OS) = MACOSX
+    {
+        FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-h264dsp-crash.diff " ;
+    }
 
     if $(OS) = SOLARIS
     {
diff --git a/contrib/patch-ffmpeg-h264dsp-crash.diff b/contrib/patch-ffmpeg-h264dsp-crash.diff
new file mode 100644 (file)
index 0000000..53b5cf0
--- /dev/null
@@ -0,0 +1,13 @@
+Index: ffmpeg/libavcodec/i386/dsputil_mmx.c
+===================================================================
+--- ffmpeg/libavcodec/i386/dsputil_mmx.c       (revision 14508)
++++ ffmpeg/libavcodec/i386/dsputil_mmx.c       (working copy)
+@@ -2626,6 +2626,8 @@
+             H264_QPEL_FUNCS(3, 2, sse2);
+             H264_QPEL_FUNCS(3, 3, sse2);
+         }
++#undef  H264_QPEL_FUNCS
++#define H264_QPEL_FUNCS(x, y, CPU) 
+ #ifdef HAVE_SSSE3
+         if(mm_flags & MM_SSSE3){
+             H264_QPEL_FUNCS(1, 0, ssse3);