@ -1,6 +1,6 @@
#
#
# Copyright (C) 2006-2017 OpenWrt.org
# Copyright (C) 2017 Ian Leonard <antonlacon@gmail.com>
# Copyright (C) 2017 Ian Leonard <antonlacon@gmail.com>
# Copyright (C) 2018 Ted Hess <thess@kitschensync.net>
#
#
# This is free software, licensed under the GNU General Public License v2.
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
# See /LICENSE for more information.
@ -9,12 +9,12 @@
i n c l u d e $( TOPDIR ) / r u l e s . m k
i n c l u d e $( TOPDIR ) / r u l e s . m k
PKG_NAME := ffmpeg
PKG_NAME := ffmpeg
PKG_VERSION := 3.2.9
PKG_VERSION := 3.2.10
PKG_RELEASE := 1
PKG_RELEASE := 1
PKG_SOURCE := $( PKG_NAME) -$( PKG_VERSION) .tar.xz
PKG_SOURCE := $( PKG_NAME) -$( PKG_VERSION) .tar.xz
PKG_SOURCE_URL := https://ffmpeg.org/releases/
PKG_SOURCE_URL := https://ffmpeg.org/releases/
PKG_HASH := 1131d37890ed3dcbc3970452b200a56ceb36b73eaa51d1c23c770c90f928537f
PKG_HASH := 3c1626220c7b68ff6be7312559f77f3c65ff6809daf645d4470ac0189926bdbc
PKG_MAINTAINER := Ted Hess <thess@kitschensync.net>, \
PKG_MAINTAINER := Ted Hess <thess@kitschensync.net>, \
Ian Leonard <antonlacon@gmail.com>
Ian Leonard <antonlacon@gmail.com>
@ -120,11 +120,8 @@ FFMPEG_CUSTOM_PROTOCOLS:= \
file http icecast pipe rtp tcp udp
file http icecast pipe rtp tcp udp
FFMPEG_MINI_DECODERS := \
FFMPEG_MINI_DECODERS := \
aac \
ac3 \
ac3 \
flac \
flac \
h264 \
hevc \
jpegls \
jpegls \
mp2 \
mp2 \
mp3 \
mp3 \
@ -134,10 +131,12 @@ FFMPEG_MINI_DECODERS:= \
mpegvideo \
mpegvideo \
opus \
opus \
png \
png \
vc1 \
vorbis \
vorbis \
wmav1 \
wmav2 \
FFMPEG_PATENTED_MINI_DECODERS := \
h264 \
hevc \
vc1 \
FFMPEG_MINI_DEMUXERS := \
FFMPEG_MINI_DEMUXERS := \
avi \
avi \
@ -154,8 +153,6 @@ FFMPEG_MINI_PROTOCOLS:= \
file
file
FFMPEG_AUDIO_DECODERS := \
FFMPEG_AUDIO_DECODERS := \
aac \
aac_latm \
ac3 \
ac3 \
adpcm_* \
adpcm_* \
alac \
alac \
@ -172,14 +169,9 @@ FFMPEG_AUDIO_DECODERS:= \
pcm_* \
pcm_* \
vorbis \
vorbis \
wavpack \
wavpack \
wmav1 \
wmav2 \
wmalossless \
wmapro \
zlib \
zlib \
FFMPEG_AUDIO_DEMUXERS := \
FFMPEG_AUDIO_DEMUXERS := \
aac \
ac3 \
ac3 \
aiff \
aiff \
amr \
amr \
@ -204,13 +196,27 @@ FFMPEG_AUDIO_DEMUXERS:= \
FFMPEG_AUDIO_PROTOCOLS := \
FFMPEG_AUDIO_PROTOCOLS := \
file http icecast rtp tcp udp
file http icecast rtp tcp udp
FFMPEG_PATENTED_DECODERS := \
atrac3 \
h264 \
hevc \
vc1 \
FFMPEG_PATENTED_MUXERS := \
h264 \
hevc \
FFMPEG_PATENTED_PARSERS := \
h264 \
hevc \
vc1 \
PKG_BUILD_DIR := $( BUILD_DIR) /$( PKG_NAME) -$( BUILD_VARIANT) /$( PKG_NAME) -$( PKG_VERSION)
PKG_BUILD_DIR := $( BUILD_DIR) /$( PKG_NAME) -$( BUILD_VARIANT) /$( PKG_NAME) -$( PKG_VERSION)
PKG_CONFIG_DEPENDS := \
PKG_CONFIG_DEPENDS := \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$( FFMPEG_CUSTOM_ENCODERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$( FFMPEG_CUSTOM_ENCODERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$( FFMPEG_CUSTOM_DECODERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$( FFMPEG_CUSTOM_DECODERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$( FFMPEG_CUSTOM_DEMUXERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$( FFMPEG_CUSTOM_MUXERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$( FFMPEG_CUSTOM_DEMUXERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$( FFMPEG_CUSTOM_DEMUXERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$( FFMPEG_CUSTOM_PARSERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$( FFMPEG_CUSTOM_PARSERS) ) \
$( patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$( FFMPEG_CUSTOM_PROTOCOLS) )
$( patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$( FFMPEG_CUSTOM_PROTOCOLS) )
@ -226,6 +232,10 @@ endef
d e f i n e P a c k a g e / f f m p e g / D e f a u l t / d e s c r i p t i o n
d e f i n e P a c k a g e / f f m p e g / D e f a u l t / d e s c r i p t i o n
FFmpeg is a a software package that can record, convert and stream digital
FFmpeg is a a software package that can record, convert and stream digital
audio and video in numerous formats.
audio and video in numerous formats.
FFmpeg licensing / patent issues are complex. It is the reponsibility of the
user to understand any requirements in this regard with its usage. See:
https://ffmpeg.org/legal.html for further information.
e n d e f
e n d e f
@ -313,7 +323,6 @@ endef
d e f i n e P a c k a g e / l i b f f m p e g - a u d i o - d e c
d e f i n e P a c k a g e / l i b f f m p e g - a u d i o - d e c
$( call Package /libffmpeg /Default )
$( call Package /libffmpeg /Default )
TITLE += ( audio)
TITLE += ( audio)
DEPENDS += @BUILD_PATENTED
VARIANT:= audio-dec
VARIANT:= audio-dec
e n d e f
e n d e f
@ -327,7 +336,7 @@ endef
d e f i n e P a c k a g e / l i b f f m p e g - f u l l
d e f i n e P a c k a g e / l i b f f m p e g - f u l l
$( call Package /libffmpeg /Default )
$( call Package /libffmpeg /Default )
TITLE += ( full)
TITLE += ( full)
DEPENDS += @BUILD_PATENTED +alsa-lib +PACKAGE_libopus:libopus
DEPENDS += +alsa-lib +PACKAGE_libopus:libopus
ifeq ( $( CONFIG_SOFT_FLOAT) ,y)
ifeq ( $( CONFIG_SOFT_FLOAT) ,y)
DEPENDS += +PACKAGE_shine:shine
DEPENDS += +PACKAGE_shine:shine
else
else
@ -347,7 +356,6 @@ endef
d e f i n e P a c k a g e / l i b f f m p e g - m i n i
d e f i n e P a c k a g e / l i b f f m p e g - m i n i
$( call Package /libffmpeg /Default )
$( call Package /libffmpeg /Default )
TITLE += ( mini)
TITLE += ( mini)
DEPENDS += @BUILD_PATENTED
VARIANT:= mini
VARIANT:= mini
e n d e f
e n d e f
@ -434,8 +442,18 @@ FFMPEG_CONFIGURE+= --disable-yasm
e n d i f
e n d i f
i f e q ( $( BUILD_VARIANT ) , f u l l )
i f e q ( $( BUILD_VARIANT ) , f u l l )
FFMPEG_DISABLE = \
$( foreach c, $( 2) , \
--disable-$( 1) = " $( c) " \
)
FFMPEG_CONFIGURE += \
FFMPEG_CONFIGURE += \
--enable-avresample \
--enable-avresample \
$( if $( CONFIG_BUILD_PATENTED) ,, \
$( call FFMPEG_DISABLE,decoder,$( FFMPEG_PATENTED_DECODERS) ) \
$( call FFMPEG_DISABLE,muxer,$( FFMPEG_PATENTED_MUXERS) ) \
$( call FFMPEG_DISABLE,parser,$( FFMPEG_PATENTED_PARSERS) ) ) \
$( if $( CONFIG_PACKAGE_libopus) ,--enable-libopus)
$( if $( CONFIG_PACKAGE_libopus) ,--enable-libopus)
ifeq ( $( CONFIG_SOFT_FLOAT) ,y)
ifeq ( $( CONFIG_SOFT_FLOAT) ,y)
FFMPEG_CONFIGURE += \
FFMPEG_CONFIGURE += \
@ -450,9 +468,8 @@ ifeq ($(BUILD_VARIANT),full)
endif
endif
FFMPEG_CONFIGURE += \
FFMPEG_CONFIGURE += \
--enable-gpl \
--enable-gpl \
\
$( if $( CONFIG_PACKAGE_lame-lib) ,--enable-libmp3lame) \
$( if $( CONFIG_PACKAGE_lame-lib) ,--enable-libmp3lame) \
$( if $( CONFIG_PACKAGE_libx264) ,--enable-libx264)
$( if $( CONFIG_PACKAGE_libx264) ,--enable-libx264 --enable-nonfree )
endif
endif
e n d i f
e n d i f
@ -573,7 +590,9 @@ ifeq ($(BUILD_VARIANT),mini)
--disable-everything \
--disable-everything \
$( call FFMPEG_ENABLE,decoder,$( FFMPEG_MINI_DECODERS) ) \
$( call FFMPEG_ENABLE,decoder,$( FFMPEG_MINI_DECODERS) ) \
$( call FFMPEG_ENABLE,demuxer,$( FFMPEG_MINI_DEMUXERS) ) \
$( call FFMPEG_ENABLE,demuxer,$( FFMPEG_MINI_DEMUXERS) ) \
$( call FFMPEG_ENABLE,protocol,$( FFMPEG_MINI_PROTOCOLS) )
$( call FFMPEG_ENABLE,protocol,$( FFMPEG_MINI_PROTOCOLS) ) \
$( if $( CONFIG_BUILD_PATENTED) , \
$( call FFMPEG_ENABLE,decoder,$( FFMPEG_PATENTED_MINI_DECODERS) ) )
e n d i f
e n d i f
i f n e q ( $( CONFIG_TARGET_x 86) , )
i f n e q ( $( CONFIG_TARGET_x 86) , )