Patchwork [06/14] gst-ffmpeg: upgrade to 0.10.13

login
register
mail settings
Submitter Shane Wang
Date Dec. 23, 2011, 4:35 p.m.
Message ID <4921013d7801b45c81d7063dabeac31cf751c9d4.1324657801.git.shane.wang@intel.com>
Download mbox | patch
Permalink /patch/17565/
State New
Headers show

Comments

Shane Wang - Dec. 23, 2011, 4:35 p.m.
Signed-off-by: Shane Wang <shane.wang@intel.com>
---
 .../gst-ffmpeg-0.10.13/configure-fix.patch         |   20 ++++++++++++++++++++
 .../lower-rank.diff                                |    0
 ...gst-ffmpeg_0.10.11.bb => gst-ffmpeg_0.10.13.bb} |   19 ++++++++++++-------
 3 files changed, 32 insertions(+), 7 deletions(-)
 create mode 100644 meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
 rename meta/recipes-multimedia/gstreamer/{gst-ffmpeg-0.10.11 => gst-ffmpeg-0.10.13}/lower-rank.diff (100%)
 rename meta/recipes-multimedia/gstreamer/{gst-ffmpeg_0.10.11.bb => gst-ffmpeg_0.10.13.bb} (58%)
Koen Kooi - Dec. 23, 2011, 4:43 p.m.
Op 23 dec. 2011, om 17:35 heeft Shane Wang het volgende geschreven:

> Signed-off-by: Shane Wang <shane.wang@intel.com>
> ---
> .../gst-ffmpeg-0.10.13/configure-fix.patch         |   20 ++++++++++++++++++++
> .../lower-rank.diff                                |    0
> ...gst-ffmpeg_0.10.11.bb => gst-ffmpeg_0.10.13.bb} |   19 ++++++++++++-------
> 3 files changed, 32 insertions(+), 7 deletions(-)
> create mode 100644 meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
> rename meta/recipes-multimedia/gstreamer/{gst-ffmpeg-0.10.11 => gst-ffmpeg-0.10.13}/lower-rank.diff (100%)
> rename meta/recipes-multimedia/gstreamer/{gst-ffmpeg_0.10.11.bb => gst-ffmpeg_0.10.13.bb} (58%)
> 
> diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
> new file mode 100644
> index 0000000..81029ca
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
> @@ -0,0 +1,20 @@
> +Disable yasm for libav when --disable-yasm
> +
> +Upstream-Status: Inappropriate [configuration]
> +
> +Signed-off-by: Shane Wang <shane.wang@intel.com>
> +
> +diff -r f2f8f74c6e30 configure.ac
> +--- a/configure.ac	Thu Dec 22 23:56:09 2011 +0800
> ++++ b/configure.ac	Thu Dec 22 23:57:37 2011 +0800
> +@@ -325,6 +325,10 @@
> +         --enable-gpl"
> +   fi
> + 
> ++  if test "x$disable_yasm" != "xyes"; then
> ++    embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm"
> ++  fi
> ++
> +   # if we are cross-compiling, tell ffmpeg so
> +   target_os=`echo $host_os | sed 's/-gnu//'`
> +   if test "x$cross_compiling" = xyes; then
> diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
> similarity index 100%
> rename from meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff
> rename to meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
> diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
> similarity index 58%
> rename from meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb
> rename to meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
> index c3512e1..a1b7cbb 100644
> --- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb
> +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
> @@ -5,11 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>                     file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \
>                     file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
>                     file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \
> -                    file://gst-libs/ext/ffmpeg/LICENSE;md5=524b5ee4bdbbf755ebbb76727ba80b0d \
> -                    file://gst-libs/ext/ffmpeg/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> -                    file://gst-libs/ext/ffmpeg/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
> -                    file://gst-libs/ext/ffmpeg/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
> -                    file://gst-libs/ext/ffmpeg/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
> +                    file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \
> +                    file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> +                    file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
> +                    file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
> +                    file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"

What changed?

> HOMEPAGE = "http://www.gstreamer.net/"
> DEPENDS = "gstreamer gst-plugins-base zlib"
> 
> @@ -17,15 +17,20 @@ inherit autotools pkgconfig
> 
> SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
>            file://lower-rank.diff \
> +           file://configure-fix.patch \
> "
> 
> -SRC_URI[md5sum] = "0d23197ba7ac06ea34fa66d38469ebe5"
> -SRC_URI[sha256sum] = "ff36a138e5af4ed8dcc459d6d6521fe66ed31ec29ba9a924dc3675c6749a692e"
> +SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
> +SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62"
> 
> PR = "r0"
> 
> EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" "
> 
> +# yasm not found, use --disable-yasm for a crippled build for libav
> +EXTRA_OECONF_append_x86-64 = " --disable-yasm "
> +EXTRA_OECONF_append_x86 = " --disable-yasm "

Since yasm is x86 only it should be safe go globally disable it, no? And a related question: why isn't this bulding against an external libav like OE-classic does?
Shane Wang - Dec. 24, 2011, 7:23 a.m.
Koen Kooi wrote onĀ 2011-12-24:

> 
> Op 23 dec. 2011, om 17:35 heeft Shane Wang het volgende geschreven:
> 
>> Signed-off-by: Shane Wang <shane.wang@intel.com> ---
>> .../gst-ffmpeg-0.10.13/configure-fix.patch         |   20
>> ++++++++++++++++++++ .../lower-rank.diff                               
>> |    0 ...gst-ffmpeg_0.10.11.bb => gst-ffmpeg_0.10.13.bb} |   19
>> ++++++++++++------- 3 files changed, 32 insertions(+), 7 deletions(-)
>> create mode 100644
> meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patc
> h
>> rename meta/recipes-multimedia/gstreamer/{gst-ffmpeg-0.10.11 =>
>> gst-ffmpeg-0.10.13}/lower-rank.diff (100%) rename
>> meta/recipes-multimedia/gstreamer/{gst-ffmpeg_0.10.11.bb =>
>> gst-ffmpeg_0.10.13.bb} (58%)
>> 
>> diff --git
> a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.pa
> tch
> b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.pa
> tch
>> new file mode 100644
>> index 0000000..81029ca
>> --- /dev/null
>> +++
> b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.pa
> tch
>> @@ -0,0 +1,20 @@ +Disable yasm for libav when --disable-yasm +
>> +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Shane
>> Wang <shane.wang@intel.com> + +diff -r f2f8f74c6e30 configure.ac +---
>> a/configure.ac	Thu Dec 22 23:56:09 2011 +0800 ++++ b/configure.ac	Thu
>> Dec 22 23:57:37 2011 +0800 +@@ -325,6 +325,10 @@ +        
>> --enable-gpl" +   fi + ++  if test "x$disable_yasm" != "xyes"; then ++ 
>>   embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm"
>> ++  fi ++ +   # if we are cross-compiling, tell ffmpeg so +  
>> target_os=`echo $host_os | sed 's/-gnu//'` +   if test
>> "x$cross_compiling" = xyes; then diff --git
> a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff
> b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
>> similarity index 100% rename from
>> meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff
>> rename to
>> meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
>> diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb
>> b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb similarity
>> index 58% rename from
>> meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb rename to
>> meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb index
>> c3512e1..a1b7cbb 100644 ---
>> a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb +++
>> b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb @@ -5,11
>> +5,11 @@ LIC_FILES_CHKSUM =
>> "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>> 
> file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445
> e41681324381f5869ee33d38 \
>> 
>> file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
>> 
> file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cd
> fa98d0684c1bc240a9 \
>> -
> file://gst-libs/ext/ffmpeg/LICENSE;md5=524b5ee4bdbbf755ebbb76727ba80
> b0d \
>> -
> file://gst-libs/ext/ffmpeg/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fd
> af4a4263 \
>> -
> file://gst-libs/ext/ffmpeg/COPYING.GPLv3;md5=d32239bcb673463ab874e80
> d47fae504 \
>> -
> file://gst-libs/ext/ffmpeg/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd
> 79d7bd3a379 \
>> -
> file://gst-libs/ext/ffmpeg/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983
> 680233ad02"
>> +
> file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d1623
> 2 \
>> +
> file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf
> 4a4263 \
>> +
> file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d4
> 7fae504 \
>> +
> file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79
> d7bd3a379 \
>> +
> file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d98368
> 0233ad02"
> 
> What changed?
> 

For the five, ffmpeg doesn't exist, so I used libav, four of them are the same.
For LICENSE, the diff is:

==================================
1,2c1,2
< FFmpeg:
< -------
---
> Libav:
> ------
4c4
< Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
---
> Most files in Libav are under the GNU Lesser General Public License version 2.1
7c7
< FFmpeg.
---
> Libav.
9c9
< Some optional parts of FFmpeg are licensed under the GNU General Public License
---
> Some optional parts of Libav are licensed under the GNU General Public License
12c12
< configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
---
> configure to activate them. In this case, Libav's license changes to GPL v2+.
14c14
< Specifically, the GPL parts of FFmpeg are
---
> Specifically, the GPL parts of Libav are
17,18d16
< - optional MMX optimizations for YUV to RGB colorspace conversion in
<   libswscale/x86/yuv2rgb_template.c
20,21d17
<   libavcodec/x86/h264_deblock_sse2.asm
<   libavcodec/x86/h264_idct_sse2.asm
40c36
< conjunction with FFmpeg. They require --enable-gpl to be passed to configure
---
> conjunction with Libav. They require --enable-gpl to be passed to configure
45c41
< those licenses. So to combine the OpenCORE libraries with FFmpeg, the license
---
> those licenses. So to combine the OpenCORE libraries with Libav, the license
48c44
< The nonfree external library libfaac can be hooked up in FFmpeg. You need to
---
> The nonfree external library libfaac can be hooked up in Libav. You need to
50c46
< as FFmpeg then becomes nonfree and unredistributable.
---
> as Libav then becomes nonfree and unredistributable.
==================================



>> HOMEPAGE = "http://www.gstreamer.net/"
>> DEPENDS = "gstreamer gst-plugins-base zlib"
>> 
>> @@ -17,15 +17,20 @@ inherit autotools pkgconfig
>> 
>> SRC_URI =
> "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
>>            file://lower-rank.diff \
>> +           file://configure-fix.patch \
>> "
>> 
>> -SRC_URI[md5sum] = "0d23197ba7ac06ea34fa66d38469ebe5"
>> -SRC_URI[sha256sum] =
> "ff36a138e5af4ed8dcc459d6d6521fe66ed31ec29ba9a924dc3675c6749a692
> e"
>> +SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
>> +SRC_URI[sha256sum] =
> "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb6
> 2"
>> 
>> PR = "r0"
>> 
>> EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" "
>> 
>> +# yasm not found, use --disable-yasm for a crippled build for libav
>> +EXTRA_OECONF_append_x86-64 = " --disable-yasm "
>> +EXTRA_OECONF_append_x86 = " --disable-yasm "
> 
> Since yasm is x86 only it should be safe go globally disable it, no? And a
> related question: why isn't this bulding against an external libav like
> OE-classic does?

Libav recipe in OE doesn't disable yasm globally. So I didn't.
The answer for the second question: the tar bar for the new version of gst-ffmpeg contains libav code and its configure in ffmpeg's configure.ac

--
Shane

Patch

diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
new file mode 100644
index 0000000..81029ca
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/configure-fix.patch
@@ -0,0 +1,20 @@ 
+Disable yasm for libav when --disable-yasm
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Shane Wang <shane.wang@intel.com>
+
+diff -r f2f8f74c6e30 configure.ac
+--- a/configure.ac	Thu Dec 22 23:56:09 2011 +0800
++++ b/configure.ac	Thu Dec 22 23:57:37 2011 +0800
+@@ -325,6 +325,10 @@
+         --enable-gpl"
+   fi
+ 
++  if test "x$disable_yasm" != "xyes"; then
++    embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm"
++  fi
++
+   # if we are cross-compiling, tell ffmpeg so
+   target_os=`echo $host_os | sed 's/-gnu//'`
+   if test "x$cross_compiling" = xyes; then
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
similarity index 100%
rename from meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.11/lower-rank.diff
rename to meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/lower-rank.diff
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
similarity index 58%
rename from meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb
rename to meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
index c3512e1..a1b7cbb 100644
--- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.11.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
@@ -5,11 +5,11 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \
                     file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
                     file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \
-                    file://gst-libs/ext/ffmpeg/LICENSE;md5=524b5ee4bdbbf755ebbb76727ba80b0d \
-                    file://gst-libs/ext/ffmpeg/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://gst-libs/ext/ffmpeg/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://gst-libs/ext/ffmpeg/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
-                    file://gst-libs/ext/ffmpeg/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+                    file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \
+                    file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
+                    file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
 HOMEPAGE = "http://www.gstreamer.net/"
 DEPENDS = "gstreamer gst-plugins-base zlib"
 
@@ -17,15 +17,20 @@  inherit autotools pkgconfig
 
 SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://lower-rank.diff \
+           file://configure-fix.patch \
 "
 
-SRC_URI[md5sum] = "0d23197ba7ac06ea34fa66d38469ebe5"
-SRC_URI[sha256sum] = "ff36a138e5af4ed8dcc459d6d6521fe66ed31ec29ba9a924dc3675c6749a692e"
+SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
+SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62"
 
 PR = "r0"
 
 EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" "
 
+# yasm not found, use --disable-yasm for a crippled build for libav
+EXTRA_OECONF_append_x86-64 = " --disable-yasm "
+EXTRA_OECONF_append_x86 = " --disable-yasm "
+
 FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
 FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
 FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"