Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Add ffmpeg support
@ 2010-06-12 16:22 Luca Ceresoli
  2010-06-12 16:22 ` [Buildroot] [PATCH 1/4] ffmpeg: add new package Luca Ceresoli
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Luca Ceresoli @ 2010-06-12 16:22 UTC (permalink / raw)
  To: buildroot

FFmpeg is a complete, cross-platform solution to record, convert and stream
audio and video. It includes libavcodec - the leading audio/video codec library.

This patchset adds support for building ffmpeg in buildroot.

Most high-level options are provided via kconfig options, and there is a hook
in the last commit to allow passing .configure any parameters not directly
supported (very handy for machine support, for example).

Note that this support is much more complete than the one in bug 401
(https://bugs.busybox.net/show_bug.cgi?id=401).

Thanks,
Luca

ffmpeg: add new package
ffmpeg: add commandline programs
ffmpeg: allow customization of codecs, (de)muxers and other components
ffmpeg: add user-defined configure parameters

 CHANGES                                            |    2 +-
 package/multimedia/Config.in                       |    1 +
 package/multimedia/ffmpeg/Config.in                |  145 +++++++++++++++++++
 .../ffmpeg-0.5.2-fix-sdl-config-search.patch       |   17 +++
 package/multimedia/ffmpeg/ffmpeg.mk                |  150 ++++++++++++++++++++
 5 files changed, 314 insertions(+), 1 deletions(-)

Luca

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/4] ffmpeg: add new package
@ 2010-06-14  8:45 Luca Ceresoli
  0 siblings, 0 replies; 8+ messages in thread
From: Luca Ceresoli @ 2010-06-14  8:45 UTC (permalink / raw)
  To: buildroot

Peter Korsgaard wrote:
> >>>>> "Luca" == Luca Ceresoli <luca@lucaceresoli.net> writes:
> 
>  Luca> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
> 
> Looks good - A few comments though:

Ok with almost all. See below.

> 
>  Luca> ---
>  Luca>  CHANGES                             |    2 +-
>  Luca>  package/multimedia/Config.in        |    1 +
>  Luca>  package/multimedia/ffmpeg/Config.in |   25 +++++++++++
>  Luca>  package/multimedia/ffmpeg/ffmpeg.mk |   79 +++++++++++++++++++++++++++++++++++
>  Luca>  4 files changed, 106 insertions(+), 1 deletions(-)
>  Luca>  create mode 100644 package/multimedia/ffmpeg/Config.in
>  Luca>  create mode 100644 package/multimedia/ffmpeg/ffmpeg.mk
> 
>  Luca> diff --git a/CHANGES b/CHANGES
>  Luca> index 3ba7195..6ca4fc9 100644
>  Luca> --- a/CHANGES
>  Luca> +++ b/CHANGES
>  Luca> @@ -4,7 +4,7 @@
>  
>  Luca>  	New GTK-based configurator, usable using 'make gconfig'.
>  
>  Luca> -	New packages: cgilua, copas, coxpcall, luafilesystem,
>  Luca> +	New packages: cgilua, copas, coxpcall, ffmpeg, luafilesystem,
>  Luca>  	luasocket, rings, wsapi, xavante
> 
> I would prefer if patches don't edit CHANGES - There's too high risk for
> merge conflicts.
> 
>  Luca> +config BR2_PACKAGE_FFMPEG_GPL
>  Luca> +	bool "Enable GPL code"
>  Luca> +	default n
>  Luca> +config BR2_PACKAGE_FFMPEG_NONFREE
>  Luca> +	bool "Enable nonfree code"
>  Luca> +	default n
> 
> 'n' is default, so there's no need for those lines.
> 
>  Luca> +ifeq ($(BR2_INET_IPV6),y)
>  Luca> +FFMPEG_CONF_OPT += --enable-ipv6
>  Luca> +else
>  Luca> +FFMPEG_CONF_OPT += --disable-ipv6
>  Luca> +endif
> 
> We do have a generic DISABLE_IPV6 if ffmpeg detects ipv6 support
> automatically even if --enable-ipv6 isn' passed.
> 
>  Luca> +# Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
>  Luca> +define FFMPEG_CONFIGURE_CMDS
>  Luca> +	(cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \
>  Luca> +	$(TARGET_CONFIGURE_OPTS) \
>  Luca> +	$(TARGET_CONFIGURE_ARGS) \
>  Luca> +	$(TARGET_CONFIGURE_ENV) \
>  Luca> +	$(FFMPEG_CONF_ENV) \
>  Luca> +	./configure \
>  Luca> +		--enable-cross-compile	\
>  Luca> +		--cross-prefix=$(TARGET_CROSS) \
>  Luca> +		--sysroot=$(STAGING_DIR) \
>  Luca> +		--host-cc=$(HOSTCC) \
>  Luca> +		--cc=$(TARGET_CC) \
>  Luca> +		--arch=$(BR2_ARCH) \
>  Luca> +		--extra-cflags=-fPIC \
>  Luca> +		$(DISABLE_NLS) \
>  Luca> +		$(DISABLE_LARGEFILE) \
>  Luca> +		$(DISABLE_IPV6) \
>  Luca> +		$(FFMPEG_CONF_OPT) \
> 
> Does ffmpeg configure handle the -q (quiet) flag? If so, please add
> $(QUIET) as well.

It doesn't.

> 
> Is --cc needed? Doesn't it just use the CC environment variable? If not,
> what about TARGET_CFLAGS / TARGET_LDFLAGS?
> 
>  Luca> +	)
>  Luca> +endef
>  Luca> +
>  Luca> +# Override FFMPEG_INSTALL_TARGET_OPT: FFmpeg does not support install-strip
>  Luca> +FFMPEG_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
> 
> FYI, in the future I would like to get rid of the 'make install vs make
> install-strip', but for now this is fine.
> 
> -- 
> Bye, Peter Korsgaard
> 

Luca

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-06-14  8:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-12 16:22 [Buildroot] Add ffmpeg support Luca Ceresoli
2010-06-12 16:22 ` [Buildroot] [PATCH 1/4] ffmpeg: add new package Luca Ceresoli
2010-06-13 11:54   ` Peter Korsgaard
2010-06-12 16:22 ` [Buildroot] [PATCH 2/4] ffmpeg: add commandline programs Luca Ceresoli
2010-06-12 16:22 ` [Buildroot] [PATCH 3/4] ffmpeg: allow customization of codecs, (de)muxers and other components Luca Ceresoli
2010-06-13 12:01   ` Peter Korsgaard
2010-06-12 16:22 ` [Buildroot] [PATCH 4/4] ffmpeg: add user-defined configure parameters Luca Ceresoli
  -- strict thread matches above, loose matches on Subject: below --
2010-06-14  8:45 [Buildroot] [PATCH 1/4] ffmpeg: add new package Luca Ceresoli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox