* [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled
@ 2016-03-30 19:36 Gustavo Zacarias
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Gustavo Zacarias @ 2016-03-30 19:36 UTC (permalink / raw)
To: buildroot
It avoids the crazy in handling all of the ffmpeg options here as well,
and potentially avoids target code duplication, hence resulting in a
size reduction.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/gstreamer1/gst1-libav/Config.in | 2 +
package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++---------------------------
2 files changed, 7 insertions(+), 74 deletions(-)
diff --git a/package/gstreamer1/gst1-libav/Config.in b/package/gstreamer1/gst1-libav/Config.in
index 4f9c2b8..8ef3e89 100644
--- a/package/gstreamer1/gst1-libav/Config.in
+++ b/package/gstreamer1/gst1-libav/Config.in
@@ -1,5 +1,7 @@
config BR2_PACKAGE_GST1_LIBAV
bool "gst1-libav"
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_GST1_PLUGINS_BASE
help
GStreamer plugin (formerly gst-ffmpeg).
diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
index 8f892d0..02ac394 100644
--- a/package/gstreamer1/gst1-libav/gst1-libav.mk
+++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
@@ -7,79 +7,10 @@
GST1_LIBAV_VERSION = 1.8.0
GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz
GST1_LIBAV_SITE = http://gstreamer.freedesktop.org/src/gst-libav
-GST1_LIBAV_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base
-GST1_LIBAV_CONF_EXTRA_OPTS = --cross-prefix=$(TARGET_CROSS) --target-os=linux
-
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-zlib
-GST1_LIBAV_DEPENDENCIES += zlib
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-zlib
-endif
-
-ifeq ($(BR2_PACKAGE_BZIP2),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-bzlib
-GST1_LIBAV_DEPENDENCIES += bzip2
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-bzlib
-endif
-
-# Generic CPU setup for bundled ffmpeg
-ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
-GST1_LIBAV_CONF_EXTRA_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
-else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
-GST1_LIBAV_CONF_EXTRA_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
-endif
-
-ifeq ($(BR2_X86_CPU_HAS_MMX),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-yasm
-GST1_LIBAV_DEPENDENCIES += host-yasm
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-yasm
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-mmx
-endif
-
-ifeq ($(BR2_X86_CPU_HAS_SSE),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-sse
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-sse
-endif
-
-ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-ssse3
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-ssse3
-endif
-
-# Explicitly disable everything that doesn't match for ARM
-# FFMPEG "autodetects" by compiling an extended instruction via AS
-# This works on compilers that aren't built for generic by default
-ifeq ($(BR2_ARM_CPU_ARMV4),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
-endif
-ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
-endif
-ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-neon
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-neon
-endif
-ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-vfp
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-vfp
-endif
-
-ifeq ($(BR2_POWERPC_CPU_HASH_ALTIVEC),y)
-GST1_LIBAV_CONF_EXTRA_OPTS += --enable-altivec
-else
-GST1_LIBAV_CONF_EXTRA_OPTS += --disable-altivec
-endif
-
-GST1_LIBAV_CONF_OPTS = \
- --with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPTS)"
+GST1_LIBAV_CONF_OPTS = --with-system-libav
+GST1_LIBAV_DEPENDENCIES = \
+ host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \
+ $(if $(BR2_PACKAGE_BZIP2),bzip2) \
+ $(if $(BR2_PACKAGE_XZ),xz)
$(eval $(autotools-package))
--
2.7.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] gst1-libav: add license info
2016-03-30 19:36 [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Gustavo Zacarias
@ 2016-03-30 19:36 ` Gustavo Zacarias
2016-03-30 20:17 ` Arnout Vandecappelle
2016-03-31 1:46 ` Thomas Petazzoni
2016-03-30 20:15 ` [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Arnout Vandecappelle
2016-03-31 1:45 ` Thomas Petazzoni
2 siblings, 2 replies; 7+ messages in thread
From: Gustavo Zacarias @ 2016-03-30 19:36 UTC (permalink / raw)
To: buildroot
Now that we use unbundled ffmpeg the licensing becomes much easier.
Relevant code is under ext/*, which according to COPYING and comments is
GPLv2+, except for ext/libswscale/gstffmpegscale.c which is LGPLv2+ -
however that's not built/used when using system ffmpeg.
The code under gst-libs/ is the bundled ffmpeg itself.
Tests are under LGPLv2+ as well but we don't build them since we
disabled gst-check support in the gstreamer1 package.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
index 02ac394..d878ec8 100644
--- a/package/gstreamer1/gst1-libav/gst1-libav.mk
+++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
@@ -12,5 +12,7 @@ GST1_LIBAV_DEPENDENCIES = \
host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \
$(if $(BR2_PACKAGE_BZIP2),bzip2) \
$(if $(BR2_PACKAGE_XZ),xz)
+GST1_LIBAV_LICENSE = GPLv2+
+GST1_LIBAV_LICENSE_FILES = COPYING
$(eval $(autotools-package))
--
2.7.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled
2016-03-30 19:36 [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Gustavo Zacarias
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
@ 2016-03-30 20:15 ` Arnout Vandecappelle
2016-03-30 20:31 ` Bernd Kuhls
2016-03-31 1:45 ` Thomas Petazzoni
2 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2016-03-30 20:15 UTC (permalink / raw)
To: buildroot
On 03/30/16 21:36, Gustavo Zacarias wrote:
> It avoids the crazy in handling all of the ffmpeg options here as well,
> and potentially avoids target code duplication, hence resulting in a
> size reduction.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/gstreamer1/gst1-libav/Config.in | 2 +
> package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++---------------------------
> 2 files changed, 7 insertions(+), 74 deletions(-)
>
> diff --git a/package/gstreamer1/gst1-libav/Config.in b/package/gstreamer1/gst1-libav/Config.in
> index 4f9c2b8..8ef3e89 100644
> --- a/package/gstreamer1/gst1-libav/Config.in
> +++ b/package/gstreamer1/gst1-libav/Config.in
> @@ -1,5 +1,7 @@
> config BR2_PACKAGE_GST1_LIBAV
> bool "gst1-libav"
> + select BR2_PACKAGE_FFMPEG
> + select BR2_PACKAGE_FFMPEG_SWSCALE
> select BR2_PACKAGE_GST1_PLUGINS_BASE
> help
> GStreamer plugin (formerly gst-ffmpeg).
It would be good to extend the help text with something like:
The codecs, muxers, bitstreams and filters to build can be
selected in the ffmpeg package.
Also, it's a bit unfortunate that if ffmpeg is selected automatically,
BR2_PACKAGE_FFMPEG_FFMPEG will be enabled by default. Well, the binary is pretty
small compared to all the codecs so it doesn't matter much.
> diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
> index 8f892d0..02ac394 100644
> --- a/package/gstreamer1/gst1-libav/gst1-libav.mk
> +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
> @@ -7,79 +7,10 @@
> GST1_LIBAV_VERSION = 1.8.0
> GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz
> GST1_LIBAV_SITE = http://gstreamer.freedesktop.org/src/gst-libav
> -GST1_LIBAV_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base
> -GST1_LIBAV_CONF_EXTRA_OPTS = --cross-prefix=$(TARGET_CROSS) --target-os=linux
> -
> -ifeq ($(BR2_PACKAGE_ZLIB),y)
> -GST1_LIBAV_CONF_EXTRA_OPTS += --enable-zlib
> -GST1_LIBAV_DEPENDENCIES += zlib
> -else
> -GST1_LIBAV_CONF_EXTRA_OPTS += --disable-zlib
> -endif
> -
> -ifeq ($(BR2_PACKAGE_BZIP2),y)
> -GST1_LIBAV_CONF_EXTRA_OPTS += --enable-bzlib
> -GST1_LIBAV_DEPENDENCIES += bzip2
> -else
> -GST1_LIBAV_CONF_EXTRA_OPTS += --disable-bzlib
> -endif
ext/libav/Makefile.am contains a condition on HAVE_BZ2, so I think this should
be kept.
And while you're at it: there is an optional dependency on xz (HAVE_LZMA) so
it would be nice to add that too (separate patch).
[Huge snip, yeah!]
> +GST1_LIBAV_CONF_OPTS = --with-system-libav
> +GST1_LIBAV_DEPENDENCIES = \
> + host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \
> + $(if $(BR2_PACKAGE_BZIP2),bzip2) \
> + $(if $(BR2_PACKAGE_XZ),xz)
Oops, here it is!
Small nit: I prefer a single dependency per line, it's a bit more verbose but
easier to read IMHO.
Since all my comments are actually addressed already:
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Regards,
Arnout
>
> $(eval $(autotools-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] gst1-libav: add license info
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
@ 2016-03-30 20:17 ` Arnout Vandecappelle
2016-03-31 1:46 ` Thomas Petazzoni
1 sibling, 0 replies; 7+ messages in thread
From: Arnout Vandecappelle @ 2016-03-30 20:17 UTC (permalink / raw)
To: buildroot
On 03/30/16 21:36, Gustavo Zacarias wrote:
> Now that we use unbundled ffmpeg the licensing becomes much easier.
> Relevant code is under ext/*, which according to COPYING and comments is
> GPLv2+, except for ext/libswscale/gstffmpegscale.c which is LGPLv2+ -
> however that's not built/used when using system ffmpeg.
AFAICS it's also not built with the bundled ffmpeg.
> The code under gst-libs/ is the bundled ffmpeg itself.
>
> Tests are under LGPLv2+ as well but we don't build them since we
> disabled gst-check support in the gstreamer1 package.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Regards,
Arnout
> ---
> package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk
> index 02ac394..d878ec8 100644
> --- a/package/gstreamer1/gst1-libav/gst1-libav.mk
> +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk
> @@ -12,5 +12,7 @@ GST1_LIBAV_DEPENDENCIES = \
> host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \
> $(if $(BR2_PACKAGE_BZIP2),bzip2) \
> $(if $(BR2_PACKAGE_XZ),xz)
> +GST1_LIBAV_LICENSE = GPLv2+
> +GST1_LIBAV_LICENSE_FILES = COPYING
>
> $(eval $(autotools-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled
2016-03-30 20:15 ` [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Arnout Vandecappelle
@ 2016-03-30 20:31 ` Bernd Kuhls
0 siblings, 0 replies; 7+ messages in thread
From: Bernd Kuhls @ 2016-03-30 20:31 UTC (permalink / raw)
To: buildroot
Arnout Vandecappelle <arnout@mind.be> wrote in
news:56FC33CA.1010502 at mind.be:
> Also, it's a bit unfortunate that if ffmpeg is selected automatically,
> BR2_PACKAGE_FFMPEG_FFMPEG will be enabled by default. Well, the binary
> is pretty small compared to all the codecs so it doesn't matter much.
Hi,
what about not enabling BR2_PACKAGE_FFMPEG_FFMPEG by default?
Regards, Bernd
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled
2016-03-30 19:36 [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Gustavo Zacarias
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
2016-03-30 20:15 ` [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Arnout Vandecappelle
@ 2016-03-31 1:45 ` Thomas Petazzoni
2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2016-03-31 1:45 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 30 Mar 2016 16:36:39 -0300, Gustavo Zacarias wrote:
> It avoids the crazy in handling all of the ffmpeg options here as well,
> and potentially avoids target code duplication, hence resulting in a
> size reduction.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/gstreamer1/gst1-libav/Config.in | 2 +
> package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++---------------------------
> 2 files changed, 7 insertions(+), 74 deletions(-)
Applied to master, after tweaking the help text as suggested by Arnout.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] gst1-libav: add license info
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
2016-03-30 20:17 ` Arnout Vandecappelle
@ 2016-03-31 1:46 ` Thomas Petazzoni
1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2016-03-31 1:46 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 30 Mar 2016 16:36:40 -0300, Gustavo Zacarias wrote:
> Now that we use unbundled ffmpeg the licensing becomes much easier.
> Relevant code is under ext/*, which according to COPYING and comments is
> GPLv2+, except for ext/libswscale/gstffmpegscale.c which is LGPLv2+ -
> however that's not built/used when using system ffmpeg.
>
> The code under gst-libs/ is the bundled ffmpeg itself.
>
> Tests are under LGPLv2+ as well but we don't build them since we
> disabled gst-check support in the gstreamer1 package.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++
> 1 file changed, 2 insertions(+)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-03-31 1:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30 19:36 [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Gustavo Zacarias
2016-03-30 19:36 ` [Buildroot] [PATCH 2/2] gst1-libav: add license info Gustavo Zacarias
2016-03-30 20:17 ` Arnout Vandecappelle
2016-03-31 1:46 ` Thomas Petazzoni
2016-03-30 20:15 ` [Buildroot] [PATCH 1/2] gst1-libav: switch to unbundled Arnout Vandecappelle
2016-03-30 20:31 ` Bernd Kuhls
2016-03-31 1:45 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.