summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avcodec/ac3: Implement ac3_exponent_min for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement float_to_fixed24 for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/dv: Don't pretend initializing work chunks can failAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Use assert to check for things that can't failAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Use bytestream API for byte-aligned readsAndreas Rheinhardt2024-04-07
| | | | | | This also allows to remove the padding from these buffers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Deduplicate optionsAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Avoid code duplicationAndreas Rheinhardt2024-04-07
| | | | | | This also fixes misindentated code. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Avoid duplicate variablesAndreas Rheinhardt2024-04-07
| | | | | | Also simplify assigningfake strides. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv: Return proper error codeAndreas Rheinhardt2024-04-07
| | | | | | Also forward said error code in the encoder. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv(dec|enc): Use union for temp/temp16Andreas Rheinhardt2024-04-07
| | | | | | | | These pointers already point to the same buffers, so using a union is possible and avoids the overhead of syncing the pointers (and saves some memory). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv: Inline common alloc/free functions in their callersAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Don't zero unnecessarilyAndreas Rheinhardt2024-04-07
| | | | | | | A decoder's private data has already been zeroed (apart from options) before init is called. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc/vvc: Error if SPS ID is duplicated within CVSFrank Plowman2024-04-07
| | | | | | | | | | | | | | | | | | | | Key line from the spec is: "All SPS NAL units with a particular value of sps_seq_parameter_set_id in a CVS shall have the same content." Prior to this patch, the VVC decoder's behaviour on encountering a duplicated SPS ID (within the entire bitstream, not restricted to a CVS) was simply to replace the entry in the SPS lookup table with the new data. Illegal bitstreams with multiple SPSs in the same CVS sharing an ID but differing elsewhere could cause all manner of issues. The patch tracks which SPS IDs have been used in the given CVS using the new sps_id_used field of VVCParamSets. If it encounters an SPS with an ID already in use and whose content differs from the previous SPS, it throws an AVERROR_INVALIDDATA. Signed-off-by: Frank Plowman <post@frankplowman.com>
* avcodec/libdav1d: Don't cast const away unnecessarilyAndreas Rheinhardt2024-04-06
| | | | | | Possible since c89f6ae6899e0f3ffb4f51da1f1776ab16f5b3a0. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf/lrc: fix comments in headersStefano Sabatini2024-04-06
|
* avcodec/liblc3dec: retrieve duration of the last packet from the demuxerAntoine SOULIER2024-04-06
| | | | Use the packet duration field to invalid last samples of the last frame.
* avcodec/liblc3dec: fix extradata sizeAntoine SOULIER2024-04-06
|
* avcodec/liblc3dec: fix typo in macro name, fix compilationAntoine SOULIER2024-04-06
|
* avocdec/ass: simplify linebreaksOneric2024-04-06
| | | | | | ff_ass_subtitle_header_* still used explicit CRLF linebreaks eventhough they will get normalised to LF later since commit 7bf1b9b35769b37684dd2f18a54f01d852a540c8. Just directly use LF.
* avcodec/ass,webvttdec: implement more portable curly brace escapesOneric2024-04-06
| | | | | | | | | | | | | Unlike what the old comment suggested, standard ASS has no character escape mechanism, but a closing curly bracket doesn't even need one. For manual authored sub files using a full-width variant of an appropriate font and with scaling and spacing modifiers is a common workaround. This is not an option here, but we can still make things much less bad. Now the desired opening bracket still shows up in libass, and standard renders will merely display a backslash in its place instead of stripping the following text like before.
* avcodec/ass,webvttdec: fix handling of backslashesOneric2024-04-06
| | | | | | | Backslashes cannot be escaped by a backslash in any ASS renderer, but unless followed by specific characters it is just printed out. Insert a word-joiner character after a backslash to break up active sequences without changing the visual output.
* avcodec/webvttdec: honour bidi marksOneric2024-04-06
|
* doc/encoders: add missing libxvid optionJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/encoders: remove non-existent flagJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomenc: remove variable redefinitionJames Almer2024-04-05
| | | | | | | Missed in 5e0eac3d4566839598f6d6fe5d77770023d6713a. Reported-by: Niklas Haas <ffmpeg@haasn.xyz> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomenc: bump the minimum required version to 2.0.0James Almer2024-04-05
| | | | | | | | v2.0.0 is already four years old and even newer versions are available on stable distro releases. With this we stop setting codec capabilities during static data initialization. Signed-off-by: James Almer <jamrial@gmail.com>
* fate/ffmpeg: Avoid dependency on samplesAndreas Rheinhardt2024-04-05
| | | | | | | | | | | | | | | Creating vsynth_lena.yuv needs the FATE suite, yet several tests in ffmpeg.mak without a dependency on samples used it as input file. Fix this by using vsynth1.yuv (which does not have such a dependency) instead. Also use vsynth1.yuv in fate-shortest to avoid the samples dependency in this test, too. Fixes ticket #10947. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/wavpack: Remove always-false checkAndreas Rheinhardt2024-04-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dsd: Hoist branch out of loopAndreas Rheinhardt2024-04-04
| | | | | | | | This is possible by not converting from LSBF to MSBF; instead add LSBF LUTs. This approach necessitates reversing the initial values. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dsddec: Fix decoding LSBF samplesAndreas Rheinhardt2024-04-04
| | | | | | | | | | ff_dsd2pcm_translate() works internally by converting LSBF input to MSBF upon reading; its buffer is therefore always MSBF and should therefore be initialized with MSBF silence; but this is not true since e3d8963c3cb5b8cd31460dd9b3b9dba2a2343bf5 which this patch effectively reverts. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/wavpack: Only initialize DSD data when encountering DSDAndreas Rheinhardt2024-04-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Add test for DSDAndreas Rheinhardt2024-04-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dsd: Use double for LUTsAndreas Rheinhardt2024-04-04
| | | | | | Needed to make DSD->PCM conversion bitexact across arches. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/wavpack: Fix leak and segfault on reallocation errorAndreas Rheinhardt2024-04-04
| | | | | | | | | | | | | | av_realloc_f() frees the buffer it is given on allocation failure. But in this case, the buffer is an array of ownership pointers, causing leaks on error. Furthermore, the count of pointers is unchanged on error and the codec's close function uses it to free said ownership pointers, causing a NPD. This is a regression since 46412a8935e4632b2460988bfce4152c7dccce22. Fix this by switching to av_realloc_array(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/lossless_videoencdsp: Don't presume alignment in diff_bytesAndreas Rheinhardt2024-04-04
| | | | | | | | | | | The alignment of all the parameters in diff_bytes can be anything the despite the documentation claiming otherwise. 8ecd38312210d48ec9e50d78fc223d60e71a30ed was based around said documentation and is therefore insufficient to fix e.g. the misaligned loads that happen in the huffyuvbgra and huffyuvbgr24 vsynth FATE-tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ppc/h264dsp: Fix left shifts of negative numbersAndreas Rheinhardt2024-04-04
| | | | | | PPC equivalent of c756b3fca240df75ffa28e75f2eb34834c10294d. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec, avformat/ffjni: fix duplicate JNI symbolsLeo Izen2024-04-04
| | | | | | | | | Use SHLIBOBJS and STLIBOBJS in the Makefiles for avcodec and avformat, and add a stub ffjni.c to libavformat, which allows the symbols to be duplicated for shared builds but not static builds. Signed-off-by: Leo Izen <leo.izen@gmail.com> Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* avformat/pcm: Use 64bit in bitrate computationMichael Niedermayer2024-04-04
| | | | | | | | Fixes: signed integer overflow: 65792 * 65312 cannot be represented in type 'int' Fixes: 67819/clusterfuzz-testcase-minimized-ffmpeg_dem_WADY_fuzzer-5236100912185344 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mxfdec: Check index_edit_rateMichael Niedermayer2024-04-04
| | | | | | | | Fixes: Assertion b >=0 failed at libavutil/mathematics.c:62 Fixes: 67811/clusterfuzz-testcase-minimized-ffmpeg_dem_MXF_fuzzer-5108429687422976 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swscale/utils: Fix xInc overflowMichael Niedermayer2024-04-04
| | | | | | | | Fixes: signed integer overflow: 2 * 1073741824 cannot be represented in type 'int' Fixes: 67802/clusterfuzz-testcase-minimized-ffmpeg_SWS_fuzzer-6249515855183872 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/iamf_parse: Check sound_systemMichael Niedermayer2024-04-04
| | | | | | | | Fixes: index 13 out of bounds for type 'const struct IAMFSoundSystemMap [13]' Fixes: 67796/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-4554553191104512 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/wavarc: fix signed integer overflow in block type 6/19Michael Niedermayer2024-04-04
| | | | | | | | Fixes: signed integer overflow: -2088796289 + -91276551 cannot be represented in type 'int' Fixes: 67772/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-6533568953122816 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/liblc3enc: don't force unspec channel layoutsJames Almer2024-04-04
| | | | | | We only care about channel count. Layout details will be ignored either way. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/liblc3dec: sanitize channel count in avctxJames Almer2024-04-04
| | | | | | Should prevent out of array accesses. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/liblc3: add encoding/decoding support of LC3 audio codecAntoine Soulier via ffmpeg-devel2024-04-04
| | | | | | | The LC3 audio codec is the default codec of Bluetooth LE audio. This is a wrapper over the liblc3 library (https://github.com/google/liblc3). Signed-off-by: Antoine Soulier <asoulier@google.com>
* Changelog: fix typos for 7.0 sectionMarth642024-04-04
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* swscale/ppc/swscale_ppc_template: Reindent after the previous commitAndreas Rheinhardt2024-04-04
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* swscale/ppc/swscale_ppc_template: Remove code not passing checkasmAndreas Rheinhardt2024-04-04
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vvc: Rename vvc_?foo->fooAndreas Rheinhardt2024-04-04
| | | | | | | | A namespace is unnecessary here given that all these files are already in the vvc subfolder. Reviewed-by: Nuo Mi <nuomi2021@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* changelog: update for 7.0Jean-Baptiste Kempf2024-04-04
| | | | Signed-off-by: James Almer <jamrial@gmail.com>