summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* libavfilter/dnn_io_proc: Take step into consideration when crop frameWenbin Chen2024-04-04
| | | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Reviewed-by: Guo Yejun <yejun.guo@intel.com>
* libavfilter/dnn_backend_openvino: Check bbox's heightWenbin Chen2024-04-04
| | | | | | | Check bbox's height with frame's height rather than frame's width. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Reviewed-by: Guo Yejun <yejun.guo@intel.com>
* avcodec/vvc/vvc_inter_template: Fix left shift of negative numberAndreas Rheinhardt2024-04-04
| | | | | | Affected the vvc-conformance-WP_A_3 FATE test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Only enable iamfdec, iamfenc when neededAndreas Rheinhardt2024-04-03
| | | | | | | | | | Since 591e27d1e7b21b66f81c53f381356c5e6f1f0451 they would always be compiled even when nothing uses them; for shared builds the default linker behaviour is to include them even when not needed. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Fix iamfdec dependenciesAndreas Rheinhardt2024-04-03
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/developer: (security) researchers should be creditedMichael Niedermayer2024-04-03
| | | | | Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/libx265: do not arbitrarily limit color valuesJan Ekström2024-04-03
| | | | | | | | | | | Newer specifications such as H.273 have, and probably will further in the future add new values to these, so - instead of trying to update these limits - we should simply check if the values are not set to the value of "unspecified". This should allow newer avutil values such as IPT-C2 or YCgCo-R variants be passed to x265 itself, which apparently does its own validation further down the line.
* avfilter/{buffersrc,vf_setparams}: map IPT-C2, YCgCo-R variantsJan Ekström2024-04-03
|
* avcodec/options_table: map IPT-C2, YCgCo-R variants in colorspaceJan Ekström2024-04-03
|
* avutil/pix{desc,fmt}: add new matrix coefficients from H.273 v3Jan Ekström2024-04-03
| | | | | | | | | | | | * SMPTE ST 2128 IPT-C2 defines the coefficients utilized in DoVi Profile 5. Profile 5 can thus now be represented in VUI as {AVCOL_RANGE_JPEG, AVCOL_PRI_BT2020, AVCOL_TRC_SMPTE2084, AVCOL_SPC_IPT_C2, AVCHROMA_LOC_LEFT} (although other chroma sample locations are allowed). AVCOL_TRC_SMPTE2084 should in this case be interpreted as 'PQ with reshaping'. * YCgCo-Re and YCgCo-Ro define the bitexact YCgCo-R, where the number of bits added to a source RGB bit depth is 2 (i.e., even) and 1 (i.e., odd), respectively.
* configure: Add missing libdav1d/av1 decoders->dovi_rpu dependencyAndreas Rheinhardt2024-04-03
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Don't use av_uninitAndreas Rheinhardt2024-04-03
| | | | | | | GCC 9-13 do not emit warnings for this at all optimization levels even when -Wmaybe-uninitialized is not disabled. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_grayworld: Remove empty options and AVClassAndreas Rheinhardt2024-04-03
| | | | | | | | | | This filter only had an AVClass and empty options because up until recently, avfilter_init_str() errored out when options were provided for a filter without an AVClass. But setting (generic) options is necessary to take advantage of timeline support. So with avfilter_init_str() fixed, the AVClass and the options can be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_hflip: Remove empty options and AVClassAndreas Rheinhardt2024-04-03
| | | | | | | | | | This filter only had an AVClass and empty options because up until recently, avfilter_init_str() errored out when options were provided for a filter without an AVClass. But setting (generic) options is necessary to take advantage of timeline support. So with avfilter_init_str() fixed, the AVClass and the options can be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_vflip: Remove empty options and AVClassAndreas Rheinhardt2024-04-03
| | | | | | | | | | This filter only had an AVClass and empty options because up until recently, avfilter_init_str() errored out when options were provided for a filter without an AVClass. But setting (generic) options is necessary to take advantage of timeline support. So with avfilter_init_str() fixed, the AVClass and the options can be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_swapuv: Remove empty options and AVClassAndreas Rheinhardt2024-04-03
| | | | | | | | | | This filter only had an AVClass and empty options because up until recently, avfilter_init_str() errored out when options were provided for a filter without an AVClass. But setting (generic) options is necessary to take advantage of timeline support. So with avfilter_init_str() fixed, the AVClass and the options can be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Honour the short options documentationAndreas Rheinhardt2024-04-03
| | | | | | | | | | | | | | | | The documentation for filter arguments states that short options must precede long options (i.e. those of the form key=value). Yet if process_options() encounters arguments not abiding by this, it simply treats short options after a long option as if it were parsing short options for the first time. In particular, it overwrites options already set earlier, possibly via other short options. This is not how it is intended (as a comment in the code indicates). This commit modifies the code to reject further shorthand options after a long option has been encountered. After all, avfilter_init_str() errors out upon unrecognized options, so it is intended to be picky. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Use AV_DICT_DONT_STRDUP_(KEY|VAL) when possibleAndreas Rheinhardt2024-04-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tiff: Don't cast const away via bsearchAndreas Rheinhardt2024-04-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libvpxenc: Avoid unused-variable warning if VP9 enc is disabledAndreas Rheinhardt2024-04-03
| | | | | Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/proresdec2: Rename to proresdecAndreas Rheinhardt2024-04-03
| | | | | | | | | | Once upon a time, there used to be a LGPL and a GPL ProRes decoder in FFmpeg; the current decoder evolved from the second of these. But given that it is now the only ProRes decoder we have, it's file should simply be named proresdec.c (which also brings it in line with its header). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/ffprobe: Fix test requirementsAndreas Rheinhardt2024-04-03
| | | | | | | | The ffprobe-test file is generated via ffmpeg and several filters; the requirements for them were missing. Also deduplicate this while just at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/api: Fix requirements of fate-api-seekAndreas Rheinhardt2024-04-03
| | | | | | It relies on the fate-lavf-flv test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/lavf-container: Check earlier for presence of ffmpeg cliAndreas Rheinhardt2024-04-03
| | | | | | | | | Several other tests (e.g. concatdec) examine FATE_LAVF_CONTAINER in order to enable or disable tests that depend on samples created by the lavf-container tests; right now this procedure did not account for CONFIG_FFMPEG. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/libswscale: Disable ffmpeg-dependent tests without ffmpegAndreas Rheinhardt2024-04-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>