Commit graph

77 commits

Author SHA1 Message Date
Josef Schlehofer
61741b3249 ffmpeg: update to version 3.4.9 (security fix)
Fixes:
CVE-2020-13904
CVE-2020-2044
CVE-2020-20453
CVE-2020-22015
CVE-2020-22019
CVE-2020-22033
CVE-2020-22021
CVE-2020-22037
CVE-2020-35965
CVE-2021-38114
CVE-2021-38171
CVE-2021-38291

Refresh patches

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2021-10-30 01:13:24 -07:00
Jeffery To
a12555cc06 treewide: Enable VFP/NEON optimizations for aarch64
For speexdsp, support for NEON on aarch64 was added in 1.2.0[1].

[1]: https://github.com/xiph/speexdsp/pull/8

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit dec17eb36c)
2020-05-14 22:45:07 +08:00
Jeffery To
595342148e treewide: Update ARM NEON/VFP detection
With openwrt/openwrt@8dcc108760, the ARM
FPU compiler options are no longer part of CONFIG_TARGET_OPTIMIZATION.

This updates various packages that look for NEON/VFP support to search
CONFIG_CPU_TYPE instead.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 2d99ee3004)
[adapted patch for pulseaudio using autotools build]
2020-05-14 22:45:03 +08:00
Jeffery To
fc2a591b53 treewide: Use default PKG_BUILD_DIR when possible
This removes lines that set PKG_BUILD_DIR when the set value is no
different from the default value.

Specifically, the line is removed if the assigned value is:

* $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)

  The default PKG_BUILD_DIR was updated[1] to incorporate BUILD_VARIANT
  if it is set, so now this is identical to the default value.

* $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)

  if PKG_SOURCE_SUBDIR is set to $(PKG_NAME)-$(PKG_VERSION), making it
  the same as the previous case

* $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

  This is the same as the default PKG_BUILD_DIR when there is no
  BUILD_VARIANT.

* $(BUILD_DIR)/[name]-$(PKG_VERSION)

  where [name] is a string that is identical to PKG_NAME

[1]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=e545fac8d968864a965edb9e50c6f90940b0a6c9

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 53e1692ae9)
2020-04-12 19:24:15 -07:00
Rosen Penev
bd24f9bb34
ffmpeg: disable x86 asm for old CPU types
This is a workaround for NASM being totally broken.

I have two patches, one for master and another for 19.07 that upstream is
not merging.

https://patchwork.ozlabs.org/patch/1221696/
https://patchwork.ozlabs.org/patch/1221697/

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 013162d079)
2020-02-16 19:51:45 -08:00
Ian Leonard
dbef699276
ffmpeg: update to 3.4.7
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
(cherry picked from commit 948c4da0af)
2020-02-16 19:51:37 -08:00
Rosen Penev
c53055aa1e
ffmpeg: Fix fdkaac patches
The patch created patch files in the ffmpeg build directory, which did
absolutely nothing. Properly backported them.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 9af78c5498)
2020-02-16 19:51:22 -08:00
Rosen Penev
9d6855be1f
ffmpeg: Fix pkgconfig files to be more cross compile friendly
Before:

prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=/usr/include

After:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Numbered the other patch file.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 7477663489)
2020-02-16 19:50:47 -08:00
Sven Eckelmann
1142f52078
treewide: Change .*GPL.*+ licenses to SPDX compatible identifier
The CONTRIBUTING.md requests an (or multiple) SPDX identifier for GPL
licenses. But a lot of packages did use a different, non-SPDX style with a
"+" at the end instead of "-or-later".

Signed-off-by: Sven Eckelmann <sven@narfation.org>
(cherry-picked from bbb1ea7345)
2019-09-26 19:36:25 -07:00
Ian Leonard
f2896e3db5 ffmpeg: install ffserver and ffprobe when using custom versions
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-07 13:37:22 -07:00
Ian Leonard
2b7ce89192 ffmpeg: update to 3.4.6
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-04-08 03:36:37 -07:00
Ian Leonard
66b69137c1 ffmpeg: build fix for fdk-aac 2.0
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-02-07 17:40:45 -08:00
Ian Leonard
7d8d79064c ffmpeg: disable assembly on MIPS
Disable use of assembly on MIPS to allow it to build. MIPS is not
expected to be high performance in OpenWrt, and this allows it to still
be used for media identification as updated versions of ffmpeg are
brought in.

The error is in

libavcodec/mips/aacdec_mips.c: In function 'imdct_and_windowing_mips'

regarding: 'asm' has impossible constraints in multiple locations.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-02-07 17:08:23 -08:00
Ian Leonard
295f6b3b41 ffmpeg: update to 3.4.5
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-02-07 16:46:53 -08:00
Ted Hess
7b49f60567 ffmpeg: Add choices to libffmpeg-custom to select and build CLI programs
Add postproc to libffmpeg-custom if x264 selected

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-11-11 17:32:41 -05:00
Ted Hess
c44e1d43a3 ffmpeg: Resolve libx264, BUILD_PATENTED anomalies
libx264 will be included in both hard & soft float libffmpeg-full builds if selected
and BUILD_PATENTED=y. Otherwise, it is not included in libffmpeg-full

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-11-11 14:06:13 -05:00
Ted Hess
b4d191995c ffmpeg: Resolve hard/float builds with work-around dependencies
Hard float includes: libx264, mp3lame
Soft float includes: shine (mp3 encoder)

fdk-aac will not be available in libffmpeg-full due to incompatible license with libx264.
Custom builds can override licensing restrictions but results may not be re-distributable.

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-11-09 13:32:28 -05:00
Ted Hess
c2cc90a3dd ffmpeg: Configuration fixes for optional codec libraries
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-10-04 15:39:42 -04:00
Alexander Ryzhov
eff80c5fa3 ffmpeg: pack libpostproc for hard float archs only
Signed-off-by: Alexander Ryzhov <github@ryzhov-al.ru>
2018-09-10 15:31:51 +03:00
Rosen Penev
683d833150
ffmpeg: Add CPE ID for proper CVE tracking
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-08-19 15:19:32 -07:00
Ted Hess
8b37cf3b06 ffmpeg: Add build overrides for some specific CPUs: Octeon, X86 and 24kf.
Octeon: Rename octeonplus to oction+
MIPS 24kf: Inline ASM fails to build (unknown reason)
X86: Configure finds NASM and assumes YASM if name explictly set (wrong switches)

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-08-15 09:01:39 -04:00
Ted Hess
8067051bfc ffmpeg: Add cpu_type to configure opts. Upgrade to 3.2.12
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-08-12 17:36:28 -04:00
Ted Hess
75f0499469 ffmpeg/libx264: Replacing YASM with NASM and fixing ffmpeg/x264 module dependency
Both libraries on X86 platforms require NASM instead of YASM going forward.

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-06-28 19:54:09 -04:00
Ian Leonard
a70227e578 ffmpeg: libffmpeg-full to lgpl; include fdk-aac support
Change libffmpeg-full to, by default, use the LGPL license. This
allows libffmpeg-full to gain support for libfdk-aac.

When libx264 is selected, this changes to GPL, and libfdk-aac
support is lost. Libx264 support is prioritized when both are
selected, which maintains the status quo of what happens now.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-04-22 13:48:58 -07:00
Ian Leonard
50b76be748 ffmpeg: fixup for patent related changes
Have encoders and demuxers selectively disabled for patents in
libffmpeg-full too. Assume same codecs covered as decoders and
muxers, respectively. Include vc1 in muxer's too.

Don't invoke --enable-nonfree in libffmpeg-full. It results in:
License: nonfree and unredistributable

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-03-27 17:58:19 -07:00
Ted Hess
1fa9c1bc5f ffmpeg: Update to 3.2.10.
Re-organize configuration options to allow non-patented/un-licensed builds.
Include AAC and WMA codecs without BUILD_PATENTED

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-03-22 13:54:43 -04:00
Rosen Penev
553e3fb63c ffmpeg: Remove BUILD_PATENTED for MPEG2 video.
According to the MPEG-LA, the last patent expired February 13, 2018.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-02-14 12:51:49 -08:00
Rosen Penev
224964e06b
ffmpeg: Remove BUILD_PATENTED for AC3
Dolby Digital patents expired February 1, 2017.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-01-25 19:00:01 -08:00
Matthias Schiffer
00fce347a5
treewide: fix incorrect *_BUILD_DEPENDS
Build depends refer to source package names, not binary package names.

In many cases, PKG_BUILD_DEPENDS simply duplicated runtime dependencies of
a source package's binary packages; as the corresponding source packages
are implicitly added as bulid dependencies, PKG_BUILD_DEPENDS can simply be
dropped in these cases. In the other cases, *_BUILD_DEPENDS is fixed to
refer to the correct source package name.

Dependency of mysql-server is adjusted from libncursesw to libncurses
(as libncursesw is a virtual package provided by libncurses), so the build
dependency on ncurses is emitted unconditionally.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-09 16:36:02 +01:00
Ted Hess
7fd7ea45fa ffmpeg: Adjusting some build dependencies. Update to 3.2.9
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-11-29 17:31:31 -05:00
Ian Leonard
bed874edad ffmpeg: 3.2.8 update
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-10-05 09:17:29 -07:00
Ted Hess
808b28d173 ffmpeg: Add mpeg layer 2 audio support and mpeg2 demuxer to libffmpeg-mini
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-08-30 15:45:21 -04:00
Ian Leonard
08554be366 ffmpeg: fixup mpeg support in libffmpeg-mini
The demuxers mpegps is for VOB support and mpegvideo is for raw mpeg video.
mpegps was intended to be included with libffmpeg-mini; mpegvideo was not.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-08-19 11:55:18 -07:00
Ian Leonard
adc293d3d9 ffmpeg: enable lto build for arm and x86_64
This toggles on Link-Time Optimization for arm and x86-64.

Compile tested on arm/bcm47xx, arm/mvebu, arm/imx6 and x86-64/generic

(Also compile tested on mips/ar71xx where it failed so this change is currently for specific arches.)

Size savings for libffmpeg were 2-3% when measured with libffmpeg-full and libffmpeg-mini.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-08-10 22:30:15 -07:00
Ian Leonard
3998494f28 ffmpeg: let ffmpeg choose necessary parsers for audio-dec and custom
This change allows ffmpeg's configure script to determine the necessary parsers based on
selected decoders & encoders. For libffmpeg-audio-dec, this changes from our selecting:

aac, ac3, flac, mpegaudio, opus and aac_latm

to ffmpeg's configure script selecting:

aac_latm, ac3, flac, mpegaudio

for minor space savings and a simpler Makefile to manage on our end.

In libffmpeg-custom, don't select any parsers when choosing decoders/encoders. I'm undecided
on removing the parser selection in its entirety here.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-08-10 22:30:15 -07:00
Ian Leonard
c2fa282431 ffmpeg: update to 3.2.7
Removes the x86 optimization disables from the SOFT_FLOAT portion. There are no i386 profiles that do
not use hard float, so these options accomplish nothing.

Target-os=linux rules out dxva2 and vda, so disable statements are unnecessary.

For x86-64 users of libffmpeg-full, optimize around performance instead of size.

Remove patented flag requirement from mp2 and mp3 audio files in libffmpeg-custom per expiration.

Tidies up some of the configure steps where only one option is being changed or cosmetic consistency.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-08-10 22:30:15 -07:00
Ted Hess
0fc6b2ec31 ffmpeg: add avresample to libffmpeg-full
Some projects, like freeswitch-stable, require avresample in
libffmpeg-full.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-07-17 12:26:29 -04:00
Ian Leonard
12c706bc0e ffmpeg: update to 3.2.6, correct arm optimization check
mpfu=neon implies neon-vfpv3, so enable vfp when just neon is found.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-07-06 15:21:06 -07:00
Ian Leonard
79b73ba321 ffmpeg: update to 3.2.5
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2017-05-26 18:51:17 -07:00
Ian Leonard
edc982430c 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-17 15:39:18 -05:00
Ted Hess
785159fcaf ffmpeg: Upgrade to 3.2.2. Remove Speex support
Signed-off-by: Ted Hess <thess@kitschensync.net>
2017-01-06 13:47:30 -05:00
Ted Hess
e327156211 ffmpeg: Build without altivec on powerpc hfp platforms
Signed-off-by: Ted Hess <thess@kitschensync.net>
2016-10-11 13:39:41 -04:00
Ian Leonard
3b624ce56e 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-26 18:58:39 -07:00
Daniel Golle
1913622d9b ffmpeg: allow building without yasm
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-09-03 14:58:27 +02:00
Daniel Golle
efc746428a ffmpeg: enable assembly on targets with fpu
Also no longer disable run-time CPU detection for fpu targets except
arm which is built for each variant (neon, vfp).
This vastly improves performance on x86 which now supports building ASM
code with yasm and makes use of a broad spectrum of extensions
depending on their availability at run-time.

In future, such differentiation should also be introduced for MIPS
to at least conditionally enable the output of MIPS32r2 instructions as
well as DSPr1 and DSPr2 if the target supports that dispite them having
CONFIG_SOFT_FLOAT=y set.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-09-02 02:34:47 +02:00
Ted Hess
ec133992b7 ffmpeg: Dependency cleanup
Custom builds need to select x264 and/or lame-lib explictly. Automatic
CONFIG_ALL builds of ffmpeg-full include x264 and lame.

Signed-off-by: Ted Hess <thess@kitschensync.net>
2016-08-19 18:50:29 -04:00
Adrian Panella
3f124e2b8e ffmpeg: Update to 2.8.7. Add support for x264 and libmp3lame
Add support for libmp3lame & libx264 to 'full' and optional in 'custom'.
Enable some optimizations according to ARCH and CPU type.
Cleaup options and dependencies.

Signed-off-by: Adrian Panella <ianchi74@outlook.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
2016-08-02 11:21:08 -04:00
Ian Leonard
d2c8f9ecd2 ffmpeg: update to 2.7.6
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2016-02-22 15:43:58 -08:00
Ian Leonard
ae9521d067 ffmpeg: update to 2.7.4
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2015-12-28 19:39:07 -08:00
Ted Hess
8de9653955 ffmpeg: Update to latest - 2.7.2
Signed-off-by: Ted Hess <thess@kitschensync.net>
2015-07-21 11:20:50 -04:00