Commit Graph

113 Commits

Author SHA1 Message Date
Ross Burton
b997e4dc9c ffmpeg: fix build with binutils 2.43 on arm with commerical codecs
binutils 2.43 is stricter with label names, so rename a label to stop
assembler errors.

[ YOCTO #15570 ]

(From OE-Core rev: 06d29af58521b94518c924468db34d0eed1cb056)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-09 22:33:38 +01:00
Dmitry Baryshkov
29f38b334d ffmpeg: backport patch to fix errors with GCC 14
On ARMv7 compilation of ffmpeg breaks if Vulkan support is enabled.
Backport a patch from the trunk to fix compilation issues:

| src/libavcodec/vulkan_av1.c: In function 'vk_av1_create_params':
| src/libavcodec/vulkan_av1.c:214:43: error: initialization of 'long long unsigned int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
|   214 |         .videoSessionParametersTemplate = NULL,
|       |                                           ^~~~
| src/libavcodec/vulkan_av1.c:214:43: note: (near initialization for '(anonymous).videoSessionParametersTemplate')
| make: *** [/oe/build/tmp-rpb_wayland-glibc/work/armv7at2hf-neon-linaro-linux-gnueabi/ffmpeg/6.1.1/ffmpeg-6.1.1/ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1
| make: *** Waiting for unfinished jobs....
| src/libavcodec/vulkan_decode.c: In function 'ff_vk_decode_prepare_frame':
| src/libavcodec/vulkan_decode.c:191:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
|   191 |     vkpic->img_view_ref  = NULL;
|       |                          ^
| src/libavcodec/vulkan_decode.c:192:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
|   192 |     vkpic->img_view_out  = NULL;
|       |                          ^
| src/libavcodec/vulkan_decode.c:193:26: error: assignment to 'VkImageView' {aka 'long long unsigned int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion]
|   193 |     vkpic->img_view_dest = NULL;
|       |                          ^
| make: *** [/oe/build/tmp-rpb_wayland-glibc/work/armv7at2hf-neon-linaro-linux-gnueabi/ffmpeg/6.1.1/ffmpeg-6.1.1/ffbuild/common.mak:81: libavcodec/vulkan_decode.o] Error 1

(From OE-Core rev: 52001cabd021b7c856acf426b668b99a72561de0)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-18 08:44:41 +01:00
Dmitry Baryshkov
5496c01487 ffmpeg: backport patches to use new Vulkan AV1 codec API
Backport two patches from ffmpeg git to fix compilation with the newest
Vulkan API.

(From OE-Core rev: a9393391613cd81643744daf930eaabf2ced79b7)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-30 22:20:16 +01:00
Wang Mingyu
0c7eca932f ffmpeg: upgrade 6.1 -> 6.1.1
Changelog:
==========
- avcodec/mpegvideo_enc: Dont copy beyond the image
- avfilter/vf_minterpolate: Check pts before division
- avfilter/avf_showwaves: Check history_nb_samples
- avformat/flacdec: Avoid double AVERRORS
- avfilter/vf_vidstabdetect: Avoid double AVERRORS
- avcodec/vaapi_encode: Avoid double AVERRORS
- avfilter/vf_swaprect: round coordinates down
- avfilter/vf_swaprect: Use height for vertical variables
- avfilter/vf_swaprect: assert that rectangles are within memory
- avfilter/af_alimiter: Check nextpos before use
- avfilter/f_reverse: Apply PTS compensation only when pts is available
- avfilter/af_stereowiden: Check length
- avformat/mov: Fix MSAN issue with stsd_id
- avcodec/jpegxl_parser: Check get_vlc2()
- avfilter/vf_weave: Fix odd height handling
- avfilter/edge_template: Fix small inputs with gaussian_blur()
- avfilter/vf_gradfun: Do not overread last line
- avfilter/avf_showspectrum: fix off by 1 error
- avcodec/jpegxl_parser: Add padding to cs_buffer
- avformat/mov: do not set sign bit for chunk_offsets
- avcodec/jpeglsdec: Check Jpeg-LS LSE
- avcodec/osq: Implement flush()
- configure: Enable section_data_rel_ro for FreeBSD and NetBSD aarch64 / arm
- avcodec/cbs_h266: more restrictive check on pps_tile_idx_delta_val
- avcodec/jpeg2000htdec: check if block decoding will exceed internal precision
- tools/target_dec_fuzzer: Adjust threshold for VMIX
- avcodec/av1dec: Fix resolving zero divisor
- avformat/mov: Ignore duplicate ftyp
- avformat/mov: Fix integer overflow in mov_read_packet().
- lavc/qsvdec: return 0 if more data is required
- avcodec/jpegxl_parser: check ANS cluster alphabet size vs bundle size
- libavformat/vvc: Make probe more conservative
- hwcontext_vulkan: guard unistd.h include
- lavc/Makefile: build vulkan decode code if vulkan_av1 has been enabled
- lavc/dvdsubenc: only check canvas size when it is actually set
- avcodec/decode: validate hw_frames_ctx when AVHWAccel.free_frame_priv is used
- avcoded/fft: Fix memory leak if ctx2 is used
- avcodec/fft: Use av_mallocz to avoid invalid free/uninit

(From OE-Core rev: e9ca6bdd43069c0b25115ae70dc09f0dda93ab1f)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-07 12:24:57 +00:00
Markus Volk
daee9d9eae ffmpeg: Upgrade 6.0 -> 6.1
-Remove patches that made it upstream

(From OE-Core rev: faa32bbb35e92a14b8064715c12e1007fd106b34)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-20 15:30:53 +00:00
Martin Jansa
65569df51b ffmpeg: drop PE, PR from /usr/src/debug paths
(From OE-Core rev: 25f821023c057ed2632ed1f99a6e28dfe857a5d8)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-20 15:30:52 +00:00
Benjamin Bara
0fdd8f8c84 ffmpeg: avoid neon on unsupported machines
Disable neon if the machine does not support it.

(From OE-Core rev: 0c3a6a74531d3860a3849a1f53f6709d6a0e88a5)

Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-04 20:14:14 +01:00
Narpat Mali
081f4ecaed ffmpeg: add CVE_STATUS for CVE-2023-39018
CVE-2023-39018 belongs to ffmpeg-cli-wrapper (Java wrapper around the FFmpeg CLI)
and not ffmpeg itself. As per CVE description, it is mentioned as FFmpeg 0.7.0 which
is the version for ffmpeg-cli-wrapper and ffmpeg don't have 0.7.0 version at all.

Debian & Bugzilla trackers have already marked as NOT-FOR-US/RESOLVED-INVALID.
As it won't be affecting the ffmpeg package so, we can ignore the CVE-2023-39018
in ffmpeg recipe.

References:
https://github.com/bramp/ffmpeg-cli-wrapper
https://github.com/FFmpeg/FFmpeg
https://security-tracker.debian.org/tracker/CVE-2023-39018
https://bugzilla.suse.com/show_bug.cgi?id=CVE-2023-39018

(From OE-Core rev: c21ed498b423c13463a4ae0bb475883cc7901847)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-21 11:34:12 +01:00
Khem Raj
61bcec8a28 ffmpeg: Fix wrong code found with gas/2.41
(From OE-Core rev: 692e414aed5313ff275b69e93179aa7c559700f3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-01 09:51:21 +01:00
Khem Raj
67b51c40be ffmpeg: Use bfd linker on i386 when lld is distro linker default
(From OE-Core rev: fc155090b8cfb62f1114b3e5f86fc4dacfb3bc89)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-27 21:07:53 +01:00
Khem Raj
3195bb74c4 ffmpeg: Fix build on riscv
(From OE-Core rev: 5f2dfecab15142b659b09edd7673f4714626513b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-10 11:36:34 +01:00
Ross Burton
bf2c3c3d94 ffmpeg: add v4l2 PACKAGECONFIG
Can't be enabled by default as v4l-utils is in meta-oe.

(From OE-Core rev: c7a200553b720b9a58c5e6702a89b9ea49f70f74)

(From OE-Core rev: 1d290bd4373dea5fd035593249a1f31afe54b789)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-09 07:50:14 +01:00
Ross Burton
e846f0bea3 Revert "ffmpeg: move ffmpeg config into packageconfig"
There's very little reason to expose "build shared libraries", "build
position-independent code", or "enable threads" as recipe-specific
packageconfig options.  Revert the commit which did this and explicitly
set the relevant options in EXTRA_OECONF.

This reverts commit b6e67e3d28.

(From OE-Core rev: ec62603a348154d837d5f0cbd52bb12468973341)

(From OE-Core rev: 521a084190f72fc7a8783571829bd697e2baa1f0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-09 07:50:14 +01:00
Khem Raj
e6cb422333 ffmpeg: Disable asm and rvv on riscv32
ffmpeg 6.0 has added assembly routines which uses rv64i ISA
unconditionally, ideally it should check for ISA before using those
instructions.

Fixes errors like
<instantiation>:1:1: error: instruction requires the following: RV64I Base Instruction Set
ld t0, (a1)
^
src/libavcodec/riscv/pixblockdsp_rvi.S:24:1: note: while in macro instantiation
.irp row, 0, 1, 2, 3, 4, 5, 6, 7
^
<instantiation>:3:9: error: instruction requires the following: RV64I Base Instruction Set
        sd zero, ((0 * 16) + 0)(a0)
        ^

(From OE-Core rev: 010b068bcc126dbbc1e2032997e8d83360a7de35)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-13 11:56:07 +01:00
Alexander Kanavin
476c25f200 ffmpeg: update 5.1.2 -> 6.0
Add a patch to gstreamer1.0-libav to address an API compatibility fail.

(From OE-Core rev: 2ebea6658458ca926af58b4904cecdbec7416e04)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-13 11:56:06 +01:00
Dmitry Baryshkov
31756b7d74 ffmpeg: fix build failure when vulkan is enabled
The patch fixes the following errors observed when building ffmpeg in
vulkan-enabled distros:

| src/libavutil/hwcontext_vulkan.c:363:7: error: 'VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME' undeclared here (not in a function); did you mean 'VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME'?
|   363 |     { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME,                FF_VK_EXT_NO_FLAG                },
|       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|       |       VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME
| src/libavutil/hwcontext_vulkan.c:364:7: error: 'VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME' undeclared here (not in a function); did you mean 'VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME'?
|   364 |     { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME,                FF_VK_EXT_NO_FLAG                },
|       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|       |       VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME

(From OE-Core rev: b16c8696be9d56edb5ff77210abfff9a784fad89)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-26 11:49:00 +00:00
Chen Qi
4e7394ffef ffmpeg: fix configure failure on noexec /tmp host
The configure scripts uses /tmp to execute some generated files.
If /tmp is noexec, then we meet the following error.

  | Unable to create and execute files in /tmp.  Set the TMPDIR environment
  | variable to another directory and make sure that it is not mounted noexec.
  | Sanity test failed.

(From OE-Core rev: 6099b88c4decb285fd3519d5565909c15d935030)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-09 09:57:25 +00:00
Alexander Kanavin
5ef4b23d94 ffmpeg: use nasm patched-in debug-prefix-map option to restore reproducibility
Latest nasm requires this as it otherwise writes full paths into its output.

(From OE-Core rev: e94e714b890734bcc74977c7c9de40eda8463b60)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-06 12:03:47 +00:00
Narpat Mali
c867f67bdb ffmpeg: fix for CVE-2022-3965
A vulnerability classified as problematic was found in ffmpeg. This vulnerability affects the function
smc_encode_stream of the file libavcodec/smcenc.c of the component QuickTime Graphics Video Encoder. The
manipulation of the argument y_size leads to out-of-bounds read. The attack can be initiated remotely.
The name of the patch is 13c13109759090b7f7182480d075e13b36ed8edd. It is recommended to apply a patch to
fix this issue. The identifier of this vulnerability is VDB-213544.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2022-3965

Upstream Fix:
13c1310975

(From OE-Core rev: b88c96fe8964614978aa25a65dd34fc3c05c664c)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-27 23:54:50 +00:00
Narpat Mali
2a642aa2b1 ffmpeg: fix for CVE-2022-3964
A vulnerability classified as problematic has been found in ffmpeg. This affects an unknown part of the file
libavcodec/rpzaenc.c of the component QuickTime RPZA Video Encoder. The manipulation of the argument y_size
leads to out-of-bounds read. It is possible to initiate the attack remotely. The name of the patch is
92f9b28ed84a77138105475beba16c146bdaf984. It is recommended to apply a patch to fix this issue. The associated
identifier of this vulnerability is VDB-213543.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2022-3964

Upstream Fix:
92f9b28ed8

(From OE-Core rev: 4595f85e7ce867d68ca9d6a6e3ad2544565be3cc)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-27 23:54:50 +00:00
Alexander Kanavin
b7336ce8cc ffmpeg: upgrade 5.1.1 -> 5.1.2
(From OE-Core rev: 32da2113e553a3f81f4dcc5834e3fe30f48e4709)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-08 22:47:15 +00:00
Richard Purdie
7822534a9e ffmpeg: upgrade 5.1 -> 5.1.1
(From OE-Core rev: 2bd779e7cb790423be6a170423d83d850b2e6d1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-17 07:47:08 +01:00
Alexander Kanavin
461f6575fa ffmpeg: update 5.0.1 -> 5.1
(From OE-Core rev: 861bb6a01a7ced150333a57890844a123ed8bd6e)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-10 08:25:28 +01:00
Alexander Kanavin
f023ea5f7d ffmpeg: upgrade 5.0 -> 5.0.1
(From OE-Core rev: 90f35ceb209a51dfe0cd29e1d8646fcc501b7269)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-05 21:17:37 +01:00
Richard Purdie
b0130fcf91 meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX license identifiers
An automated conversion using scripts/contrib/convert-spdx-licenses.py to
convert to use the standard SPDX license identifiers. Two recipes in meta-selftest
were not converted as they're that way specifically for testing. A change in
linux-firmware was also skipped and may need a more manual tweak.

(From OE-Core rev: ceda3238cdbf1beb216ae9ddb242470d5dfc25e0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20 16:45:25 +00:00
Khem Raj
21e5b78d9a ffmpeg: Remove --disable-msa2 mips option
This is now deleted option in 5.0+

(From OE-Core rev: e6140f11429e66e7ceadc932f2d6946c1270a19f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-26 06:27:00 +00:00
Alexander Kanavin
5ecb96d56f ffmpeg: upgrade 4.4.1 -> 5.0
libavresample has been removed; libswresample is the replacement.

(From OE-Core rev: 5555bca01750024a786a1f78d573d02f12b45686)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20 11:57:29 +00:00
Khem Raj
000f71e0f7 ffmpeg: Fix build on ppc32
Fixes
| powerpc-yoe-linux/11.2.0/ld: libavformat/libavformat.so: undefined reference to `__atomic_fetch_sub_8'

(From OE-Core rev: d140306257a38615b84bc7f7595a4b2b5e97b808)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08 20:22:11 +00:00
Alexander Kanavin
338c36ac82 ffmpeg: submit patch upstream
(From OE-Core rev: 8d5f979ec84297f09490e3acee97c96094251fb3)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-06 11:09:53 +00:00
Alexander Kanavin
c537fbff68 ffmpeg: update 4.4 -> 4.4.1
(From OE-Core rev: f3afff95455153a89df1d0b15b6173b910863be8)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03 11:12:25 +00:00
Kiran Surendran
1c1dd2097f ffmpeg: fix CVE-2021-38114
backport from upstream

(From OE-Core rev: fe9cdf74f7ef3637ed7c600182f8a0ba40510d2a)

Signed-off-by: Kiran Surendran <kiran.surendran@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-23 17:42:26 +01:00
Kiran Surendran
bcf0b25248 ffmpeg: fix CVE-2021-38171
backport from upstream

(From OE-Core rev: 3cb40cabc79e4c9b4ffaf99543368b0c57d18df1)

Signed-off-by: Kiran Surendran <kiran.surendran@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-26 14:36:48 +01:00
Ross Burton
c4bc29f593 ffmpeg: fix LICENSE
Expat isn't a license name we have, use MIT instead.

(From OE-Core rev: b1821691c2d7eafb29cf182fc1f2ec7b0cc8340f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:27:20 +01:00
Ross Burton
873808b0f2 ffmpeg: update LICENSE
"BSD" is ambiguous, ffmpeg comprises of several licenses which are
BSD-like.

(From OE-Core rev: 50ba15c0a6867fcb0498a2c2c5449aa96e5f4bde)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-04 08:44:11 +01:00
Trevor Woerner
b0bc3f523f ffmpeg: add libatomic for armv5
The GNU Atomic library is a GCC support runtime library for atomic
operations not supported by hardware.

Otherwise we get the following when building:

	| arm-oe-linux-gnueabi-gcc -mcpu=arm926ej-s -mfpu=vfp -mfloat-abi=hard -marm --sysroot=.../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  --sysroot=.../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot -mcpu=arm926ej-s -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-link=:libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample   -o ffprobe_g fftools/cmdutils.o fftools/ffprobe.o  -lavdevice -lavfilter -lavformat -lavcodec -lavresample -lswresample -lswscale -lavutil  -lm -lxcb -lxcb-shm -lxcb-shape -lxcb-xfixes -lasound -lXv -lX11 -lXext -pthread -lm -lm -lbz2 -lz -pthread -lm -llzma -lz -ltheoraenc -ltheoradec -logg -lm -lm -lm -pthread -lm -lXv -lX11 -lXext
	| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_fetch_sub_8'
	| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_store_8'
	| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_load_8'
	| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_fetch_add_8'
	| collect2: error: ld returned 1 exit status

(From OE-Core rev: 677568b2cacf4db9468a08127ee2d19e6544f438)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:11 +01:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Tony Tascioglu
9da5e45c73 ffmpeg: fix CVE-2021-33815
avcodec/exr: More strictly check dc_count

Fixes: out of array access
Fixes: exr/deneme

Found-by: Burak Çarıkçı <burakcarikci@crypttech.com>
(From OE-Core rev: e03fda4df5d2865d5ac516f45aa120e2caf7de47)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2021-33815
Upstream-Status: Backport [26d3c81bc5ef2f8c3f09d45eaeacfb4b1139a777]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Tony Tascioglu
d6044c86b0 ffmpeg: fix CVE-2020-22033 and CVE-2020-22019
avfilter/vf_vmafmotion: Check dimensions

Fixes: out of array access
Fixes: Ticket8241
Fixes: Ticket8246
Fixes: CVE-2020-22019
Fixes: CVE-2020-22033

(From OE-Core rev: 451a945efb21221cfeeb4e641c5aa8bf4ae18c89)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2020-22033
CVE: CVE-2020-22019
Upstream-Status: Backport [82ad1b76751bcfad5005440db48c46a4de5d6f02]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Tony Tascioglu
01d224ae48 ffmpeg: fix CVE-2020-22021
avfilter/vf_yadif: Fix handing of tiny images

Fixes: out of array access
Fixes: Ticket8240
Fixes: CVE-2020-22021

(From OE-Core rev: b30f647225ecc71207696df3951716e85b886ca4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2020-22021
Upstream-Status: Backport [7971f62120a55c141ec437aa3f0bacc1c1a3526b]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Tony Tascioglu
92704af67d ffmpeg: fix CVE-2020-22015
avformat/movenc: Check pal_size before use

Fixes: assertion failure
Fixes: out of array read
Fixes: Ticket8190
Fixes: CVE-2020-22015

(From OE-Core rev: 5953c24ecd2e540483443284111abc883fdb1a10)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2020-22015
Upstream-Status: Backport [4c1afa292520329eecd1cc7631bc59a8cca95c46]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Tony Tascioglu
e3adc62076 ffmpeg: fix CVE-2020-20453
avcodec/aacenc: Avoid 0 lambda

Fixes: Ticket8003
Fixes: CVE-2020-20453

(From OE-Core rev: 66478fa2b913f69bcad1a1989f716c9c30953fee)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2020-20453
Upstream-Status: Backport [a7a7f32c8ad0179a1a85d0a8cff35924e6d90be8]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Tony Tascioglu
7de4c20e62 ffmpeg: fix-CVE-2020-20446
avcodec/aacpsy: Avoid floating point division by 0 of norm_fac

Fixes: Ticket7995
Fixes: CVE-2020-20446

(From OE-Core rev: d3806b2add3060649c2d488fb9208a106573d523)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

CVE: CVE-2020-20446
Upstream-Status: Backport [223b5e8ac9f6461bb13ed365419ec485c5b2b002]

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28 23:47:00 +01:00
Khem Raj
576ddf658d ffmpeg: Link in libatomic on riscv32
It needs some functions from libatomic e.g.
libavformat/libavformat.so: undefined reference to `__atomic_fetch_sub_8'

(From OE-Core rev: d5e4a55f3d8ed79afca11cbeac6f9f478537a83b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-11 23:50:59 +01:00
Carlos Rafael Giani
f67a12d243 ffmpeg: Add libopus packageconfig
(From OE-Core rev: 2c70334f847ecb872b3cf1061b3a8ed86557fddb)

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-27 13:21:38 +01:00
Khem Raj
c553b55a48 ffmpeg: Fix build on mips
configure is not able to decode, right options to compiler, it needs to
be set according to default tune manually. Fixes build issue on mips
e.g.

 {standard input}: Assembler messages:
| {standard input}:2162: Error: opcode not supported on this processor: mips32r2 (mips32r2) `dmult $22,$22'
| {standard input}:2164: Error: opcode not supported on this processor: mips32r2 (mips32r2) `dsrl $5,$5,32'
| make: *** [/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/ffmpeg/4.4-r0/ffmpeg-4.4/ffbuild/common.mak:67: libavcodec/aptxenc.o] Error 1

(From OE-Core rev: b254db634fc888ae75e843c8a9108e71ffff3f77)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Alexander Kanavin
2153aa26e3 ffmpeg: update 4.3.2 -> 4.4
Drop mips64_cpu_detection.patch as upstream
has changed the code in a way that's difficult
to rebase. I have confirmed that builds on qemumip64 still
work, and the patch does not say clearly what was the
way to reproduce the failure it's aiming to address.

(From OE-Core rev: 7db3aed539044bed1c7d3cf7b91f55caed974fe2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Yann Dirson
e9929301d4 ffmpeg: disable GPL features by default
--disable-gpl is the upstream default, and using GPL features violates
the license when linking into non-GPL programs.

Enabling it by default breaks user expectations, may cause people to
violate the GPL by mistake.

(From OE-Core rev: ae9273f7e3b6bbf6cbdbdfbd32634cebe5c1b0ce)

Signed-off-by: Yann Dirson <yann@blade-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-28 22:28:26 +01:00
Randy MacLeod
7bf522c752 ffmpeg: upgrade 4.3.1 -> 4.3.2
Remove 2 patches that are included in the n4.3.2 tag.
The commits were cherry-picked back to the 4.3 branch so they
have different commit ids than in the patches:

6d886b6586 lavf/srt: fix build fail when used the libsrt 1.4.1
a53ffb15d8 avcodec/exr: Check ymin vs. h
4f0bdff292 avformat/vividas: improve extradata packing checks in track_header()

(From OE-Core rev: ffdce193f3ab5b8cb16979ee9ae29322b7294c38)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-11 14:00:36 +00:00
Suji Velupillai
b6e67e3d28 ffmpeg: move ffmpeg config into packageconfig
Move ffmpeg configuration options to Yocto PACKAGECONFIG options.

(From OE-Core rev: 30b68fa0386fa525df92ebce4d63e501598e65fe)

Signed-off-by: Suji Velupillai <suji.velupillai@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-13 17:01:13 +00:00
Khairul Rohaizzat Jamaluddin
da5e394782 ffmpeg: Fix CVE-2020-35964, CVE-2020-35965
Backport the CVE patches from upstream:
27a99e2c7d
3e5959b345

CVE:
CVE-2020-35964
CVE-2020-35965

(From OE-Core rev: 526ee4ca2c493de1ac494b69e5ce9a9e55835c3a)

Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-13 23:13:46 +00:00