2014-07-16 16:31:58 +00:00
|
|
|
#
|
2019-12-15 05:27:35 +00:00
|
|
|
# Copyright (C) 2017-2020 Ian Leonard <antonlacon@gmail.com>
|
2018-03-07 22:07:02 +00:00
|
|
|
# Copyright (C) 2018 Ted Hess <thess@kitschensync.net>
|
2014-07-16 16:31:58 +00:00
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=ffmpeg
|
2023-09-16 10:36:17 +00:00
|
|
|
PKG_VERSION:=5.1.3
|
2023-10-04 19:51:51 +00:00
|
|
|
PKG_RELEASE:=4
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2015-12-29 03:39:07 +00:00
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
2017-01-05 18:24:56 +00:00
|
|
|
PKG_SOURCE_URL:=https://ffmpeg.org/releases/
|
2023-09-16 10:36:17 +00:00
|
|
|
PKG_HASH:=1b113593ff907293be7aed95acdda5e785dd73616d7d4ec90a0f6adbc5a0312e
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
|
|
|
|
Ian Leonard <antonlacon@gmail.com>
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2019-10-14 18:49:54 +00:00
|
|
|
PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later LGPL-3.0-or-later
|
2014-07-16 16:31:58 +00:00
|
|
|
PKG_LICENSE_FILES:=COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 COPYING.LGPLv3
|
2018-08-19 22:19:32 +00:00
|
|
|
PKG_CPE_ID:=cpe:/a:ffmpeg:ffmpeg
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2021-03-14 11:45:29 +00:00
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
FFMPEG_CUSTOM_ENCODERS:= \
|
|
|
|
ac3 \
|
|
|
|
jpegls \
|
|
|
|
mpeg1video \
|
|
|
|
mpeg2video \
|
|
|
|
mpeg4 \
|
|
|
|
pcm_s16be \
|
|
|
|
pcm_s16le \
|
|
|
|
png \
|
|
|
|
vorbis \
|
|
|
|
zlib \
|
|
|
|
|
|
|
|
FFMPEG_CUSTOM_DECODERS:= \
|
|
|
|
aac \
|
|
|
|
ac3 \
|
2014-07-16 17:43:49 +00:00
|
|
|
alac \
|
|
|
|
amrnb \
|
|
|
|
amrwb \
|
|
|
|
ape \
|
2014-07-16 16:31:58 +00:00
|
|
|
atrac3 \
|
|
|
|
flac \
|
|
|
|
gif \
|
|
|
|
h264 \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
hevc \
|
2014-07-16 16:31:58 +00:00
|
|
|
jpegls \
|
|
|
|
mp2 \
|
|
|
|
mp3 \
|
|
|
|
mpeg1video \
|
|
|
|
mpeg2video \
|
|
|
|
mpeg4 \
|
|
|
|
mpegvideo \
|
2014-07-16 17:43:49 +00:00
|
|
|
mpc7 \
|
|
|
|
mpc8 \
|
2014-07-16 16:31:58 +00:00
|
|
|
pcm_s16be \
|
|
|
|
pcm_s16le \
|
|
|
|
png \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
vc1 \
|
2014-07-16 16:31:58 +00:00
|
|
|
vorbis \
|
2014-07-16 17:43:49 +00:00
|
|
|
wavpack \
|
2014-07-16 16:31:58 +00:00
|
|
|
wmav1 \
|
|
|
|
wmav2 \
|
|
|
|
zlib \
|
|
|
|
|
|
|
|
FFMPEG_CUSTOM_MUXERS:= \
|
|
|
|
ac3 \
|
2023-10-03 04:46:43 +00:00
|
|
|
avi \
|
2014-07-16 16:31:58 +00:00
|
|
|
ffm \
|
|
|
|
h264 \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
hevc \
|
2014-07-16 16:31:58 +00:00
|
|
|
mp3 \
|
|
|
|
mp4 \
|
|
|
|
mpeg1video \
|
|
|
|
mpeg2video \
|
|
|
|
mpegts \
|
|
|
|
ogg \
|
|
|
|
rtp \
|
|
|
|
|
|
|
|
FFMPEG_CUSTOM_DEMUXERS:= \
|
|
|
|
aac \
|
|
|
|
ac3 \
|
2014-07-16 17:43:49 +00:00
|
|
|
amr \
|
|
|
|
ape \
|
2014-07-16 16:31:58 +00:00
|
|
|
avi \
|
|
|
|
flac \
|
|
|
|
ffm \
|
|
|
|
h264 \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
hevc \
|
2014-07-16 16:31:58 +00:00
|
|
|
matroska \
|
|
|
|
mov \
|
|
|
|
mp3 \
|
|
|
|
mpegps \
|
|
|
|
mpegts \
|
|
|
|
mpegvideo \
|
2014-07-16 17:43:49 +00:00
|
|
|
mpc \
|
|
|
|
mpc8 \
|
2014-07-16 16:31:58 +00:00
|
|
|
ogg \
|
|
|
|
rm \
|
|
|
|
rtsp \
|
2014-07-16 17:43:49 +00:00
|
|
|
rtp \
|
2014-07-16 16:31:58 +00:00
|
|
|
sdp \
|
|
|
|
v4l2 \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
vc1 \
|
2014-07-16 17:43:49 +00:00
|
|
|
wav \
|
|
|
|
wv \
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
FFMPEG_CUSTOM_PARSERS:= \
|
|
|
|
aac \
|
2014-07-16 17:43:49 +00:00
|
|
|
flac \
|
2014-07-16 16:31:58 +00:00
|
|
|
ac3 \
|
|
|
|
h264 \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
hevc \
|
2014-07-16 16:31:58 +00:00
|
|
|
mpegaudio \
|
|
|
|
mpeg4video \
|
|
|
|
mpegvideo \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
vc1 \
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
FFMPEG_CUSTOM_PROTOCOLS:= \
|
2015-04-26 16:34:54 +00:00
|
|
|
file http icecast pipe rtp tcp udp
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
FFMPEG_MINI_DECODERS:= \
|
|
|
|
ac3 \
|
|
|
|
flac \
|
|
|
|
jpegls \
|
2017-08-29 20:56:04 +00:00
|
|
|
mp2 \
|
2014-07-16 16:31:58 +00:00
|
|
|
mp3 \
|
|
|
|
mpeg1video \
|
|
|
|
mpeg2video \
|
|
|
|
mpeg4 \
|
|
|
|
mpegvideo \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
opus \
|
2014-07-16 16:31:58 +00:00
|
|
|
png \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
vorbis \
|
2018-03-07 22:07:02 +00:00
|
|
|
|
|
|
|
FFMPEG_PATENTED_MINI_DECODERS:= \
|
|
|
|
h264 \
|
|
|
|
hevc \
|
|
|
|
vc1 \
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2015-05-17 19:42:52 +00:00
|
|
|
FFMPEG_MINI_DEMUXERS:= \
|
2014-07-16 16:31:58 +00:00
|
|
|
avi \
|
|
|
|
flac \
|
|
|
|
matroska \
|
|
|
|
mov \
|
|
|
|
mp3 \
|
2017-08-19 17:22:26 +00:00
|
|
|
mpegps \
|
2014-07-16 16:31:58 +00:00
|
|
|
mpegts \
|
2017-08-29 20:56:04 +00:00
|
|
|
mpegvideo \
|
ffmpeg: Update 2.8.8, add codecs, update dlna profile, correct libopus use
Update ffmpeg to 2.8.8.
Adds HEVC, Opus, VC-1 and Vorbis to custom and minidlna profiles. This should
more closely match formats media being streamed on the local network via
DLNA/UPNP.
Removes raw aac, ac3 and h264 from minidlna profile. Most players expect
this content to come within a container (mkv, mov, mp4, mpegts, etc...),
so this was unnecessary for the profile's goals.
Remove libopus from being selected by the -custom's audio-dec profile, and as
a depend on -audio-dec. -audio-dec uses ffmpeg's internal Opus decoder, not
the external library.
Don't select specific parsers in libffmpeg-mini profile. The demuxers separate
streams from containers. Parsers break up the streams. These are not needed
for DLNA/UPNP. If a parser is needed, the ffmpeg configure script should grab
it.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-09-03 18:15:49 +00:00
|
|
|
ogg \
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2015-05-17 19:42:52 +00:00
|
|
|
FFMPEG_MINI_PROTOCOLS:= \
|
2017-08-08 06:54:09 +00:00
|
|
|
file
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2014-07-16 17:43:49 +00:00
|
|
|
FFMPEG_AUDIO_DECODERS:= \
|
|
|
|
ac3 \
|
|
|
|
adpcm_* \
|
|
|
|
alac \
|
|
|
|
amrnb \
|
|
|
|
amrwb \
|
|
|
|
ape \
|
|
|
|
atrac3 \
|
|
|
|
flac \
|
|
|
|
mp2 \
|
|
|
|
mp3* \
|
|
|
|
mpc7 \
|
|
|
|
mpc8 \
|
2015-05-20 06:48:24 +00:00
|
|
|
opus \
|
2014-07-16 17:43:49 +00:00
|
|
|
pcm_* \
|
|
|
|
vorbis \
|
|
|
|
wavpack \
|
|
|
|
zlib \
|
|
|
|
|
|
|
|
FFMPEG_AUDIO_DEMUXERS:= \
|
|
|
|
ac3 \
|
|
|
|
aiff \
|
|
|
|
amr \
|
|
|
|
ape \
|
|
|
|
avi \
|
|
|
|
flac \
|
|
|
|
ffm \
|
|
|
|
matroska \
|
|
|
|
mp3 \
|
|
|
|
mov \
|
|
|
|
mpc \
|
|
|
|
mpc8 \
|
|
|
|
mpegts \
|
|
|
|
ogg \
|
|
|
|
rm \
|
|
|
|
rtsp \
|
|
|
|
rtp \
|
|
|
|
sdp \
|
|
|
|
wav \
|
|
|
|
wv \
|
|
|
|
|
|
|
|
FFMPEG_AUDIO_PROTOCOLS:= \
|
2015-04-26 16:34:54 +00:00
|
|
|
file http icecast rtp tcp udp
|
2014-07-16 17:43:49 +00:00
|
|
|
|
2018-03-07 22:07:02 +00:00
|
|
|
FFMPEG_PATENTED_DECODERS:= \
|
|
|
|
atrac3 \
|
|
|
|
h264 \
|
|
|
|
hevc \
|
|
|
|
vc1 \
|
|
|
|
|
|
|
|
FFMPEG_PATENTED_MUXERS:= \
|
|
|
|
h264 \
|
|
|
|
hevc \
|
2018-03-28 00:58:19 +00:00
|
|
|
vc1 \
|
|
|
|
|
|
|
|
FFMPEG_PATENTED_DEMUXERS:=$(FFMPEG_PATENTED_MUXERS)
|
2018-03-07 22:07:02 +00:00
|
|
|
|
|
|
|
FFMPEG_PATENTED_PARSERS:= \
|
|
|
|
h264 \
|
|
|
|
hevc \
|
|
|
|
vc1 \
|
2014-07-16 17:43:49 +00:00
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$(FFMPEG_CUSTOM_ENCODERS)) \
|
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$(FFMPEG_CUSTOM_DECODERS)) \
|
2018-03-07 22:07:02 +00:00
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$(FFMPEG_CUSTOM_MUXERS)) \
|
2014-07-16 16:31:58 +00:00
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
|
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
|
|
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
|
|
|
|
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
|
|
|
define Package/ffmpeg/Default
|
|
|
|
TITLE:=FFmpeg
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
URL:=https://ffmpeg.org/
|
|
|
|
DEPENDS+= +libpthread
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/ffmpeg/Default/description
|
|
|
|
FFmpeg is a a software package that can record, convert and stream digital
|
|
|
|
audio and video in numerous formats.
|
2018-03-07 22:07:02 +00:00
|
|
|
|
|
|
|
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.
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define Package/ffmpeg
|
|
|
|
$(call Package/ffmpeg/Default)
|
|
|
|
SECTION:=multimedia
|
|
|
|
CATEGORY:=Multimedia
|
|
|
|
TITLE+= program
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
DEPENDS+= +libffmpeg-full
|
2014-07-16 16:31:58 +00:00
|
|
|
VARIANT:=full
|
|
|
|
endef
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
define Package/ffmpeg-custom
|
|
|
|
$(call Package/ffmpeg/Default)
|
|
|
|
SECTION:=multimedia
|
|
|
|
CATEGORY:=Multimedia
|
|
|
|
TITLE+= program (custom)
|
|
|
|
DEPENDS+= @!ALL libffmpeg-custom
|
|
|
|
VARIANT:=custom
|
|
|
|
endef
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/ffmpeg/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains the FFmpeg command line tool.
|
|
|
|
endef
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
Package/ffmpeg-custom/description = $(Package/ffmpeg/description)
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
define Package/ffprobe
|
|
|
|
$(call Package/ffmpeg/Default)
|
|
|
|
SECTION:=multimedia
|
|
|
|
CATEGORY:=Multimedia
|
|
|
|
TITLE+= CLI media identifier
|
|
|
|
DEPENDS+= +libffmpeg-full
|
|
|
|
VARIANT:=full
|
|
|
|
endef
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
define Package/ffprobe-custom
|
|
|
|
$(call Package/ffmpeg/Default)
|
|
|
|
SECTION:=multimedia
|
|
|
|
CATEGORY:=Multimedia
|
|
|
|
TITLE+= CLI media identifier (custom)
|
|
|
|
DEPENDS+= @!ALL libffmpeg-custom
|
|
|
|
VARIANT:=custom
|
|
|
|
endef
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/ffprobe/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains the FFprobe command line tool.
|
|
|
|
endef
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
Package/ffprobe-custom/description = $(Package/ffprobe/description)
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
define Package/libffmpeg/Default
|
|
|
|
$(call Package/ffmpeg/Default)
|
|
|
|
SECTION:=libs
|
|
|
|
CATEGORY:=Libraries
|
|
|
|
TITLE+= libraries
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
DEPENDS+= +libpthread +zlib +libbz2
|
2014-07-16 16:31:58 +00:00
|
|
|
PROVIDES:= libffmpeg
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
2017-11-29 22:05:09 +00:00
|
|
|
# Package build suppressed when CONFIG_ALL=y
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/libffmpeg-custom
|
|
|
|
$(call Package/libffmpeg/Default)
|
2014-07-19 14:56:59 +00:00
|
|
|
TITLE+= (custom)
|
2017-11-29 22:05:09 +00:00
|
|
|
DEPENDS+= @!ALL \
|
|
|
|
+FFMPEG_CUSTOM_SELECT_libopus:libopus \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
+PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib \
|
|
|
|
+FFMPEG_CUSTOM_SELECT_libshine:shine \
|
|
|
|
+PACKAGE_fdk-aac:fdk-aac
|
2014-07-16 16:31:58 +00:00
|
|
|
VARIANT:=custom
|
|
|
|
MENU:=1
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/libffmpeg-custom/config
|
|
|
|
source "$(SOURCE)/Config.in"
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/libffmpeg-custom/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains customized FFmpeg shared libraries.
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
2014-07-16 17:43:49 +00:00
|
|
|
define Package/libffmpeg-audio-dec
|
|
|
|
$(call Package/libffmpeg/Default)
|
|
|
|
TITLE+= (audio)
|
|
|
|
VARIANT:=audio-dec
|
2022-10-24 12:40:11 +00:00
|
|
|
CONFLICTS:=libffmpeg-full
|
2014-07-16 17:43:49 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/libffmpeg-audio-dec/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains FFmpeg shared libraries for audio decoding
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/libffmpeg-full
|
|
|
|
$(call Package/libffmpeg/Default)
|
|
|
|
TITLE+= (full)
|
2019-12-15 06:08:56 +00:00
|
|
|
DEPENDS+= +alsa-lib +libgnutls +PACKAGE_libopus:libopus \
|
2018-11-08 23:51:36 +00:00
|
|
|
+SOFT_FLOAT:shine \
|
|
|
|
+!SOFT_FLOAT:lame-lib \
|
2020-03-23 00:10:15 +00:00
|
|
|
+PACKAGE_libx264:libx264 \
|
|
|
|
+!PACKAGE_libx264:fdk-aac
|
2014-07-16 16:31:58 +00:00
|
|
|
VARIANT:=full
|
2022-11-09 14:11:00 +00:00
|
|
|
PROVIDES+=libffmpeg-mini libffmpeg-audio-dec
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/libffmpeg-full/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains full-featured FFmpeg shared libraries.
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
define Package/libffmpeg-mini
|
|
|
|
$(call Package/libffmpeg/Default)
|
|
|
|
TITLE+= (mini)
|
|
|
|
VARIANT:=mini
|
2022-10-24 12:40:11 +00:00
|
|
|
CONFLICTS:=libffmpeg-full
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Package/libffmpeg-mini/description
|
|
|
|
$(call Package/ffmpeg/Default/description)
|
|
|
|
.
|
|
|
|
This package contains minimal-featured FFmpeg shared libraries.
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
2018-08-12 21:36:28 +00:00
|
|
|
# Strip off FPU notation
|
|
|
|
REAL_CPU_TYPE:=$(firstword $(subst +, ,$(CONFIG_CPU_TYPE)))
|
2018-08-15 12:58:40 +00:00
|
|
|
# Fixup cpu types recogized by ffmpeg configure
|
|
|
|
REAL_CPU_TYPE:=$(subst octeonplus,octeon+,$(REAL_CPU_TYPE))
|
2018-08-12 21:36:28 +00:00
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
FFMPEG_CONFIGURE:= \
|
|
|
|
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
|
|
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
|
|
./configure \
|
|
|
|
--enable-cross-compile \
|
|
|
|
--cross-prefix="$(TARGET_CROSS)" \
|
|
|
|
--arch="$(ARCH)" \
|
2018-08-12 21:36:28 +00:00
|
|
|
$(if $(REAL_CPU_TYPE),--cpu=$(call qstrip,$(REAL_CPU_TYPE)),) \
|
2014-07-16 16:31:58 +00:00
|
|
|
--target-os=linux \
|
|
|
|
--prefix="/usr" \
|
2014-07-19 13:10:33 +00:00
|
|
|
--pkg-config="pkg-config" \
|
2014-07-16 16:31:58 +00:00
|
|
|
--enable-shared \
|
|
|
|
--enable-static \
|
2014-07-19 13:10:33 +00:00
|
|
|
--enable-pthreads \
|
|
|
|
--enable-zlib \
|
|
|
|
--disable-doc \
|
2014-07-16 16:31:58 +00:00
|
|
|
--disable-debug \
|
|
|
|
\
|
2016-09-01 22:41:45 +00:00
|
|
|
--disable-lzma \
|
|
|
|
--disable-vaapi \
|
|
|
|
--disable-vdpau \
|
|
|
|
--disable-outdevs
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_SOFT_FLOAT),y)
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
2014-07-16 16:31:58 +00:00
|
|
|
--disable-altivec \
|
2017-01-05 18:24:56 +00:00
|
|
|
--disable-vsx \
|
|
|
|
--disable-power8 \
|
|
|
|
--disable-armv5te \
|
|
|
|
--disable-armv6 \
|
|
|
|
--disable-armv6t2 \
|
|
|
|
--disable-fast-unaligned \
|
2016-09-01 22:41:45 +00:00
|
|
|
--disable-runtime-cpudetect
|
2014-07-16 16:31:58 +00:00
|
|
|
|
2020-05-12 08:03:07 +00:00
|
|
|
else ifneq ($(findstring arm,$(CONFIG_ARCH))$(findstring aarch64,$(CONFIG_ARCH)),)
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
2016-09-01 22:41:45 +00:00
|
|
|
--disable-runtime-cpudetect
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
# XXX: GitHub issue 3320 ppc cpu with fpu but no altivec (WNDR4700)
|
2016-10-11 17:38:59 +00:00
|
|
|
else ifneq ($(findstring powerpc,$(CONFIG_ARCH)),)
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
2016-10-11 17:38:59 +00:00
|
|
|
--disable-altivec
|
2019-02-03 23:30:45 +00:00
|
|
|
endif
|
|
|
|
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
# selectively disable optimizations according to arch/cpu type
|
2016-05-16 02:05:49 +00:00
|
|
|
ifneq ($(findstring arm,$(CONFIG_ARCH)),)
|
2017-08-08 07:09:21 +00:00
|
|
|
FFMPEG_CONFIGURE+= --enable-lto
|
|
|
|
|
2020-05-10 19:02:05 +00:00
|
|
|
ifneq ($(findstring vfp,$(CONFIG_CPU_TYPE)),)
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= --enable-vfp
|
2017-07-06 22:11:11 +00:00
|
|
|
else
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= --disable-vfp
|
2016-05-16 02:05:49 +00:00
|
|
|
endif
|
2020-05-10 19:02:05 +00:00
|
|
|
ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),)
|
2017-07-06 22:11:11 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-neon \
|
|
|
|
--enable-vfp
|
|
|
|
else
|
2017-08-08 06:54:09 +00:00
|
|
|
FFMPEG_CONFIGURE+= --disable-neon
|
2016-05-16 02:05:49 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2020-05-12 08:03:07 +00:00
|
|
|
ifneq ($(findstring aarch64,$(CONFIG_ARCH)),)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-lto \
|
|
|
|
--enable-neon \
|
|
|
|
--enable-vfp
|
|
|
|
endif
|
|
|
|
|
2017-08-08 07:09:21 +00:00
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
|
FFMPEG_CONFIGURE+= --enable-lto
|
|
|
|
endif
|
|
|
|
|
2020-02-16 06:24:21 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_X86ASM),y)
|
2018-11-10 07:49:22 +00:00
|
|
|
FFMPEG_CONFIGURE += --enable-x86asm
|
2018-06-28 23:53:19 +00:00
|
|
|
else
|
2018-11-10 07:49:22 +00:00
|
|
|
FFMPEG_CONFIGURE += --disable-x86asm
|
2018-06-28 23:53:19 +00:00
|
|
|
endif
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
|
2016-05-16 02:05:49 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
2018-03-07 22:07:02 +00:00
|
|
|
|
|
|
|
FFMPEG_DISABLE= \
|
|
|
|
$(foreach c, $(2), \
|
|
|
|
--disable-$(1)="$(c)" \
|
|
|
|
)
|
|
|
|
|
2016-05-16 02:05:49 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
2019-12-15 06:08:56 +00:00
|
|
|
--enable-gnutls \
|
2018-03-07 22:07:02 +00:00
|
|
|
$(if $(CONFIG_BUILD_PATENTED),, \
|
|
|
|
$(call FFMPEG_DISABLE,decoder,$(FFMPEG_PATENTED_DECODERS)) \
|
|
|
|
$(call FFMPEG_DISABLE,muxer,$(FFMPEG_PATENTED_MUXERS)) \
|
2018-03-28 00:58:19 +00:00
|
|
|
$(call FFMPEG_DISABLE,demuxer,$(FFMPEG_PATENTED_DEMUXERS)) \
|
2018-03-07 22:07:02 +00:00
|
|
|
$(call FFMPEG_DISABLE,parser,$(FFMPEG_PATENTED_PARSERS))) \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
$(if $(CONFIG_PACKAGE_libopus),--enable-libopus)
|
|
|
|
ifeq ($(CONFIG_SOFT_FLOAT),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-small \
|
|
|
|
\
|
|
|
|
$(if $(CONFIG_PACKAGE_shine),--enable-libshine)
|
|
|
|
else
|
2017-08-08 06:54:09 +00:00
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
|
FFMPEG_CONFIGURE+= --enable-hardcoded-tables
|
|
|
|
else
|
|
|
|
FFMPEG_CONFIGURE+= --enable-small
|
|
|
|
endif
|
2018-04-22 19:40:31 +00:00
|
|
|
FFMPEG_CONFIGURE+= $(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame)
|
2018-11-11 15:48:29 +00:00
|
|
|
endif
|
|
|
|
# x264 support and fdk-aac support can't coexist and be distributed.
|
|
|
|
# Prioritize x264 over fdk-aac in default builds (maintain status-quo).
|
|
|
|
ifneq ($(CONFIG_PACKAGE_libx264),)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-gpl \
|
|
|
|
--enable-libx264
|
|
|
|
else
|
|
|
|
FFMPEG_CONFIGURE+= $(if $(CONFIG_PACKAGE_fdk-aac),--enable-libfdk-aac)
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
endif
|
2016-05-16 02:05:49 +00:00
|
|
|
endif
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
|
|
|
|
|
|
FFMPEG_ENABLE= \
|
|
|
|
$(foreach c, $(2), \
|
|
|
|
$(if $($(3)_$(c)),--enable-$(1)="$(c)") \
|
|
|
|
)
|
|
|
|
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_LARGE),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-hardcoded-tables
|
|
|
|
else
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-small
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_GPL),y)
|
|
|
|
FFMPEG_CONFIGURE+= --enable-gpl
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_GPLV3),y)
|
|
|
|
FFMPEG_CONFIGURE+= --enable-version3
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_NONFREE),y)
|
|
|
|
FFMPEG_CONFIGURE+= --enable-nonfree
|
|
|
|
endif
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
ifneq ($(CONFIG_FFMPEG_CUSTOM_PROGRAMS),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
2014-07-19 13:10:33 +00:00
|
|
|
--disable-programs \
|
2014-07-16 16:31:58 +00:00
|
|
|
--disable-avfilter \
|
2018-11-09 19:59:15 +00:00
|
|
|
--disable-swresample
|
|
|
|
endif
|
|
|
|
|
2023-10-04 19:51:51 +00:00
|
|
|
ifneq ($(CONFIG_PACKAGE_ffmpeg-custom),n)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-avfilter \
|
|
|
|
--enable-ffmpeg
|
|
|
|
endif
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
2014-07-16 16:31:58 +00:00
|
|
|
--disable-swscale \
|
|
|
|
--disable-everything \
|
|
|
|
$(call FFMPEG_ENABLE,encoder,$(FFMPEG_CUSTOM_ENCODERS),CONFIG_FFMPEG_CUSTOM_ENCODER) \
|
|
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_CUSTOM_DECODERS),CONFIG_FFMPEG_CUSTOM_DECODER) \
|
|
|
|
$(call FFMPEG_ENABLE,muxer,$(FFMPEG_CUSTOM_MUXERS),CONFIG_FFMPEG_CUSTOM_MUXER) \
|
|
|
|
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_CUSTOM_DEMUXERS),CONFIG_FFMPEG_CUSTOM_DEMUXER) \
|
|
|
|
$(call FFMPEG_ENABLE,parser,$(FFMPEG_CUSTOM_PARSERS),CONFIG_FFMPEG_CUSTOM_PARSER) \
|
|
|
|
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_CUSTOM_PROTOCOLS),CONFIG_FFMPEG_CUSTOM_PROTOCOL) \
|
|
|
|
|
2014-07-16 17:43:49 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_adpcm),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-decoder=adpcm_ima_wav \
|
|
|
|
--enable-decoder=adpcm_ima_qt \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-decoder=adpcm_ms
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libfdk-aac),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-libfdk-aac --enable-encoder=libfdk_aac
|
|
|
|
endif
|
2014-07-16 17:43:49 +00:00
|
|
|
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libmp3lame),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
|
|
--enable-libmp3lame --enable-encoder=libmp3lame
|
2014-07-16 17:43:49 +00:00
|
|
|
endif
|
|
|
|
|
2014-08-28 20:16:59 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libopus),y)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-libopus --enable-decoder=libopus --enable-encoder=libopus
|
2014-08-28 20:16:59 +00:00
|
|
|
endif
|
|
|
|
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libshine),y)
|
2016-05-16 02:05:49 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-libshine --enable-encoder=libshine
|
2016-05-16 02:05:49 +00:00
|
|
|
endif
|
2014-07-16 17:43:49 +00:00
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libx264),y)
|
2016-05-16 02:05:49 +00:00
|
|
|
FFMPEG_CONFIGURE+= \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-libx264 --enable-encoder=libx264
|
2018-11-09 19:59:15 +00:00
|
|
|
else
|
|
|
|
FFMPEG_CONFIGURE+= --disable-postproc
|
2014-07-16 17:43:49 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BUILD_VARIANT),audio-dec)
|
|
|
|
|
|
|
|
FFMPEG_ENABLE= \
|
|
|
|
$(foreach c, $(2), \
|
|
|
|
--enable-$(1)="$(c)" \
|
|
|
|
)
|
|
|
|
|
|
|
|
FFMPEG_CONFIGURE+= \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-small \
|
|
|
|
--enable-gpl \
|
|
|
|
\
|
2014-07-19 13:10:33 +00:00
|
|
|
--disable-programs \
|
2014-07-16 17:43:49 +00:00
|
|
|
--disable-avfilter \
|
|
|
|
--disable-postproc \
|
|
|
|
--disable-swresample \
|
|
|
|
--disable-swscale \
|
|
|
|
--disable-everything \
|
|
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_AUDIO_DECODERS)) \
|
|
|
|
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_AUDIO_DEMUXERS)) \
|
|
|
|
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_AUDIO_PROTOCOLS)) \
|
2017-09-26 20:04:27 +00:00
|
|
|
--disable-decoder=pcm_bluray,pcm_dvd
|
2014-07-16 16:31:58 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BUILD_VARIANT),mini)
|
|
|
|
|
|
|
|
FFMPEG_ENABLE= \
|
|
|
|
$(foreach c, $(2), \
|
|
|
|
--enable-$(1)="$(c)" \
|
|
|
|
)
|
|
|
|
|
|
|
|
FFMPEG_CONFIGURE+= \
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
--enable-small \
|
|
|
|
\
|
2014-07-19 13:10:33 +00:00
|
|
|
--disable-programs \
|
2014-07-19 14:56:59 +00:00
|
|
|
--disable-avdevice \
|
2014-07-16 16:31:58 +00:00
|
|
|
--disable-avfilter \
|
|
|
|
--disable-postproc \
|
|
|
|
--disable-swresample \
|
|
|
|
--disable-swscale \
|
|
|
|
--disable-everything \
|
|
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \
|
|
|
|
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_MINI_DEMUXERS)) \
|
2018-03-07 22:07:02 +00:00
|
|
|
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_MINI_PROTOCOLS)) \
|
|
|
|
$(if $(CONFIG_BUILD_PATENTED), \
|
|
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_PATENTED_MINI_DECODERS)))
|
2014-07-16 16:31:58 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq ($(CONFIG_TARGET_x86),)
|
2017-08-08 06:54:09 +00:00
|
|
|
TARGET_CFLAGS+= -fomit-frame-pointer
|
2014-07-16 16:31:58 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
define Build/Configure
|
|
|
|
( cd $(PKG_BUILD_DIR); $(FFMPEG_CONFIGURE) )
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/Compile
|
2021-03-14 11:45:29 +00:00
|
|
|
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
2014-07-16 16:31:58 +00:00
|
|
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
|
|
|
all install
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/InstallDev/custom
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avformat,avutil} $(1)/usr/include/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.{a,so*} $(1)/usr/lib/
|
2018-11-09 19:59:15 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_PROGRAMS),y)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avfilter,swresample}.{a,so*} $(1)/usr/lib/
|
2023-10-04 19:51:51 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
|
|
ifneq ($(CONFIG_PACKAGE_ffmpeg-custom),n)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavfilter.{a,so*} $(1)/usr/lib/
|
|
|
|
endif
|
2018-11-09 19:59:15 +00:00
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
|
2018-11-09 19:59:15 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libx264),y)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpostproc $(1)/usr/include/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.{a,so*} $(1)/usr/lib/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpostproc.pc $(1)/usr/lib/pkgconfig/
|
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
2018-04-22 19:40:31 +00:00
|
|
|
# Only ffmpeg with libx264 is GPL (yes libpostproc); all other builds are lgpl (no libpostproc)
|
2014-07-16 16:31:58 +00:00
|
|
|
define Build/InstallDev/full
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
2020-03-31 23:34:45 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale} $(1)/usr/include/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.{a,so*} $(1)/usr/lib/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.pc $(1)/usr/lib/pkgconfig/
|
2018-06-28 23:53:19 +00:00
|
|
|
ifneq ($(CONFIG_PACKAGE_libx264),)
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpostproc $(1)/usr/include/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.{a,so*} $(1)/usr/lib/
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpostproc.pc $(1)/usr/lib/pkgconfig/
|
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
2014-07-19 15:46:30 +00:00
|
|
|
define Build/InstallDev/mini
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avformat,avutil} $(1)/usr/include/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.{a,so*} $(1)/usr/lib/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
|
|
|
|
endef
|
|
|
|
|
2014-07-16 17:43:49 +00:00
|
|
|
Build/InstallDev/audio-dec = $(Build/InstallDev/custom)
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
# XXX: attempt at installing "best" dev files available
|
|
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
|
|
# XXX: only install "custom" dev files if -full & -mini are not selected
|
|
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
|
|
|
|
Build/InstallDev = $(Build/InstallDev/custom)
|
|
|
|
endif
|
|
|
|
endif
|
2014-07-16 17:43:49 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),audio-dec)
|
|
|
|
# XXX: only install "audio-dec" dev files if -full & -mini are not selected
|
|
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
|
|
|
|
Build/InstallDev = $(Build/InstallDev/audio-dec)
|
|
|
|
endif
|
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
|
|
# XXX: always install "full" dev files if -full is selected
|
|
|
|
Build/InstallDev = $(Build/InstallDev/full)
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),mini)
|
|
|
|
# XXX: only install "mini" dev files if -full is not selected
|
|
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full),)
|
|
|
|
Build/InstallDev = $(Build/InstallDev/mini)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
define Package/ffmpeg/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
|
|
|
|
endef
|
|
|
|
|
2018-11-09 19:59:15 +00:00
|
|
|
Package/ffmpeg-custom/install = $(Package/ffmpeg/install)
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/ffprobe/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffprobe $(1)/usr/bin/
|
|
|
|
endef
|
|
|
|
|
2019-06-07 20:23:41 +00:00
|
|
|
Package/ffprobe-custom/install = $(Package/ffprobe/install)
|
|
|
|
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/libffmpeg-custom/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.so.* $(1)/usr/lib/
|
2018-11-09 19:59:15 +00:00
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libx264),y)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
|
|
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_PROGRAMS),y)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avfilter,swresample}.so.* $(1)/usr/lib/
|
|
|
|
endif
|
2023-10-04 19:51:51 +00:00
|
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
|
|
ifneq ($(CONFIG_PACKAGE_ffmpeg-custom),n)
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavfilter.so.* $(1)/usr/lib/
|
|
|
|
endif
|
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
2018-04-22 19:40:31 +00:00
|
|
|
# Only ffmpeg with libx264 is GPL (yes libpostproc); all other builds are lgpl (no libpostproc)
|
2014-07-16 16:31:58 +00:00
|
|
|
define Package/libffmpeg-full/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
2020-03-31 23:34:45 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.so.* $(1)/usr/lib/
|
2018-06-28 23:53:19 +00:00
|
|
|
ifneq ($(CONFIG_PACKAGE_libx264),)
|
ffmpeg: update to 3.2.4, add libshine support, add fdk-aac support to custom, cleanup
Also makes the following changes:
Updates project URL and moves libpthread to a common dependency;
Makes libopus support in libffmpeg-full contingent on selecting the
libopus package, like other external libraries;
Adds note regarding disabling altivec in ppc hard-float;
Reorganizes SIMD sections to be together;
Drops the need to specify decoder=libopus from -full, done by default;
Adds encoder=libopus to custom.
Expand options for libffmpeg-custom:
Build licensing: GPL, GPLv3, LGPLv3
Building for performance or size
Drops version 3 of GPL for -audio-dec, -mini, and -full. Version 3 is
at the discretion of the packager, per:
http://ffmpeg.org/doxygen/trunk/md_LICENSE.html
Add enable-nonfree toggle support to libffmpeg-custom build licensing
to allow inclusion of libfdk-aac.
Use ffmpeg's names for its external libraries in libffmpeg-custom config
Alphabetize same
Correct @BUILD_PATENTED flags for libffmpeg variants
Split libffmpeg-full into hard/soft float:
Hard float configures itself for lame / libx264 using GPL license
Soft float for libshine and LGPL license
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-02-08 04:17:33 +00:00
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
|
|
|
|
endif
|
2014-07-16 16:31:58 +00:00
|
|
|
endef
|
|
|
|
|
2014-07-19 14:56:59 +00:00
|
|
|
define Package/libffmpeg-mini/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.so.* $(1)/usr/lib/
|
|
|
|
endef
|
|
|
|
|
2014-07-16 17:43:49 +00:00
|
|
|
Package/libffmpeg-audio-dec/install = $(Package/libffmpeg-custom/install)
|
2014-07-16 16:31:58 +00:00
|
|
|
|
|
|
|
$(eval $(call BuildPackage,ffmpeg))
|
|
|
|
$(eval $(call BuildPackage,ffprobe))
|
2018-11-09 19:59:15 +00:00
|
|
|
$(eval $(call BuildPackage,ffmpeg-custom))
|
|
|
|
$(eval $(call BuildPackage,ffprobe-custom))
|
2016-05-16 02:05:49 +00:00
|
|
|
$(eval $(call BuildPackage,libffmpeg-audio-dec))
|
2014-07-16 16:31:58 +00:00
|
|
|
$(eval $(call BuildPackage,libffmpeg-full))
|
|
|
|
$(eval $(call BuildPackage,libffmpeg-mini))
|
2017-11-29 22:05:09 +00:00
|
|
|
$(eval $(call BuildPackage,libffmpeg-custom))
|