[Buildroot] [PATCH v2 04/20] package/ffmpeg: bump version to 6.1.1

Andreas Ziegler br015 at umbiko.net
Wed Apr 10 07:51:11 UTC 2024


Hi Bernd,

I would like to suggest some enhancements to your patch.

On 2024-04-07 13:44, Bernd Kuhls wrote:
> 
...
>  package/ffmpeg/Config.in                      |  9 +-
>  package/ffmpeg/ffmpeg.hash                    |  2 +-
>  package/ffmpeg/ffmpeg.mk                      | 12 +--
...
> diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
> index 52029c2ade..599e1ddfc7 100644
> --- a/package/ffmpeg/Config.in
> +++ b/package/ffmpeg/Config.in
> @@ -18,6 +18,7 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
>  menuconfig BR2_PACKAGE_FFMPEG
>  	bool "ffmpeg"
>  	depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	help
>  	  FFmpeg is a complete, cross-platform solution to record,
>  	  convert and stream audio and video.
> @@ -74,11 +75,6 @@ config BR2_PACKAGE_FFMPEG_XCBGRAB
>  	help
>  	  X11 screen grabbing using libxcb.
> 
> -config BR2_PACKAGE_FFMPEG_AVRESAMPLE
> -	bool "Build libavresample"
> -	help
> -	  Avresample is a audio conversion library for compatibility.
> -

Since libswresample is the replacement for libavresample, it would be 
convenient to retain this config option:

config BR2_PACKAGE_FFMPEG_SWRESAMPLE
	bool "Build libswresample"
	help
	  The libswresample library performs highly optimized audio re-
	  sampling, rematrixing and sample format conversion operations.

>  config BR2_PACKAGE_FFMPEG_POSTPROC
>  	bool "Build libpostproc"
>  	depends on BR2_PACKAGE_FFMPEG_GPL
> @@ -186,3 +182,6 @@ config BR2_PACKAGE_FFMPEG_EXTRACONF
>  	  ./configure commandline.
> 
>  endif
> +
> +comment "ffmpeg needs a toolchain w/ threads"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS
...
> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index ce285bcc60..acd5a7d8b2 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -4,7 +4,7 @@
>  #
>  
> ################################################################################
> 
> -FFMPEG_VERSION = 4.4.4
> +FFMPEG_VERSION = 6.1.1
>  FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
>  FFMPEG_SITE = https://ffmpeg.org/releases
>  FFMPEG_INSTALL_STAGING = YES
> @@ -32,10 +32,6 @@ FFMPEG_CONF_OPTS = \
>  	--disable-gray \
>  	--enable-swscale-alpha \
>  	--disable-small \
> -	--enable-dct \
> -	--enable-fft \
> -	--enable-mdct \
> -	--enable-rdft \

avfilter and avdevice are enabled by default and might also be removed.

>  	--disable-crystalhd \
>  	--disable-dxva2 \
>  	--enable-runtime-cpudetect \
> @@ -93,12 +89,6 @@ else
>  FFMPEG_CONF_OPTS += --disable-libv4l2
>  endif
> 
> -ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y)
> -FFMPEG_CONF_OPTS += --enable-avresample
> -else
> -FFMPEG_CONF_OPTS += --disable-avresample
> -endif
> -

This would become:

ifeq ($(BR2_PACKAGE_FFMPEG_SWRESAMPLE),y)
FFMPEG_CONF_OPTS += --enable-swresample
else
FFMPEG_CONF_OPTS += --disable-swresample
endif

>  ifeq ($(BR2_PACKAGE_FFMPEG_FFPROBE),y)
>  FFMPEG_CONF_OPTS += --enable-ffprobe
>  else

...

Searching for additional space-saving options, I found that libavfilter 
/libavdevice may be omitted, if no filters /no devices are specified:

# libavfilter is unnecessary if no filters are configured
ifeq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),)
	FFMPEG_CONF_OPTS += --disable-avfilter
endif

# libavdevice is unnecessary if no devices are selected
ifeq ($(BR2_PACKAGE_FFMPEG_INDEVS)$(BR2_PACKAGE_FFMPEG_OUTDEVS),)
	FFMPEG_CONF_OPTS += --disable-avdevice
endif

Kind regards,
Andreas



More information about the buildroot mailing list