]> git.sesse.net Git - vlc/commitdiff
Contrib: quick and dirty fix to compile FFmpeg on WIn64
authorJean-Baptiste Kempf <jb@videolan.org>
Wed, 21 Apr 2010 21:21:52 +0000 (23:21 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Wed, 21 Apr 2010 21:21:52 +0000 (23:21 +0200)
This isn't the right way, but I don't know how to fix yet. I'll wait for ramiro

extras/contrib/src/Makefile
extras/contrib/src/Patches/ffmpeg-win64.patch [new file with mode: 0644]

index 6fe27f75875aeaad5c82ac72f40a015eac846948..d67ea1ac070493e0b2558a3fb74c3ba472d224ee 100644 (file)
@@ -1036,6 +1036,9 @@ endif
 ifdef HAVE_ISA_THUMB
        patch -p0 < Patches/ffmpeg-avcodec-no-thumb.patch
 endif
+ifdef HAVE_WIN64
+       (cd ffmpeg/libswscale; patch -p0 < ../../Patches/ffmpeg-win64.patch;)
+endif
 ifdef HAVE_UCLIBC
        patch -p0 < Patches/ffmpeg-svn-uclibc.patch
        patch -p0 < Patches/ffmpeg-svn-internal-define.patch
@@ -1063,7 +1066,7 @@ FFMPEGCONF += \
        --disable-filters \
        --disable-network
 ifdef HAVE_WIN64
-FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs
+FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs 
 else
 ifdef HAVE_WIN32
 FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --enable-dxva2 --disable-bsfs
diff --git a/extras/contrib/src/Patches/ffmpeg-win64.patch b/extras/contrib/src/Patches/ffmpeg-win64.patch
new file mode 100644 (file)
index 0000000..d1c8e7f
--- /dev/null
@@ -0,0 +1,51 @@
+Index: swscale.c
+===================================================================
+--- swscale.c  (revision 31036)
++++ swscale.c  (working copy)
+@@ -994,7 +994,7 @@
+     }
+ }
+-static inline void rgb48ToY(uint8_t *dst, const uint8_t *src, int width,
++static inline void rgb48ToY(uint8_t *dst, const uint8_t *src, long width,
+                             uint32_t *unused)
+ {
+     int i;
+@@ -1009,7 +1009,7 @@
+ static inline void rgb48ToUV(uint8_t *dstU, uint8_t *dstV,
+                              const uint8_t *src1, const uint8_t *src2,
+-                             int width, uint32_t *unused)
++                             long width, uint32_t *unused)
+ {
+     int i;
+     assert(src1==src2);
+@@ -1025,7 +1025,7 @@
+ static inline void rgb48ToUV_half(uint8_t *dstU, uint8_t *dstV,
+                                   const uint8_t *src1, const uint8_t *src2,
+-                                  int width, uint32_t *unused)
++                                  long width, uint32_t *unused)
+ {
+     int i;
+     assert(src1==src2);
+Index: swscale_template.c
+===================================================================
+--- swscale_template.c (revision 31036)
++++ swscale_template.c (working copy)
+@@ -2466,6 +2466,7 @@
+         }
+     } else {
+ #endif /* COMPILE_TEMPLATE_MMX2 */
++#if 0
+         x86_reg xInc_shr16 = (x86_reg) (xInc >> 16);
+         uint16_t xInc_mask = xInc & 0xffff;
+         __asm__ volatile(
+@@ -2501,6 +2502,7 @@
+             "r" (src2)
+             : "%"REG_a, "%"REG_d, "%ecx", "%"REG_D, "%esi"
+         );
++#endif
+ #if COMPILE_TEMPLATE_MMX2
+     } //if MMX2 can't be used
+ #endif