summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* avcodec/dovi_rpu: attach ext blocks to framesNiklas Haas2024-04-03
|
* avcodec/dovi_rpu: parse extension blocksNiklas Haas2024-04-03
| | | | | | | | We split the inner loop between v1 and v2 extension blocks to print a warning where an extension block was encountered in an unexpected context. Co-authored-by: quietvoid <tcChlisop0@gmail.com>
* avcodec/dovi_rpu: add ext_blocks array to DOVIContextNiklas Haas2024-04-03
|
* avcodec/dovi_rpu: verify RPU data CRC32Niklas Haas2024-04-03
| | | | | | | | | The Dolby Vision RPU contains a CRC32 to validate the payload against. The implementation is CRC32/MPEG-2. The CRC is only verified with the AV_EF_CRCCHECK flag. Co-authored-by: quietvoid <tcChlisop0@gmail.com>
* avcodec/dovi_rpu: strip container in separate stepNiklas Haas2024-04-03
| | | | | | | | | This ensures that `gb` in the following section is fully byte-aligned, points at the start of the actual RPU, and ends on the CRC terminator. This is important for both calculation of the CRC, as well as dovi extension block parsing (which aligns to byte boundaries in various places).
* avcodec/dovi_rpu: switch to AVERROR_INVALIDDATANiklas Haas2024-04-03
| | | | Instead of AVERROR(EINVAL)
* avutil/dovi_meta: add dolby vision extension blocksNiklas Haas2024-04-03
| | | | | | | | | As well as accessors plus a function for allocating this struct with extension blocks, Definitions generously taken from quietvoid/dovi_tool, which is assembled as a collection of various patent fragments, as well as output by the official Dolby Vision bitstream verifier tool.
* avutil/dovi_meta: add AVDOVIDataMapping.nlq_pivotsquietvoid2024-04-03
| | | | | | | | | The NLQ pivots are not documented but should be present in the header for profile 7 RPU format. It has been verified using Dolby's verification toolkit. Signed-off-by: quietvoid <tcChlisop0@gmail.com> Signed-off-by: Niklas Haas <git@haasn.dev>
* configure: Separate subsystem for Immersive Audio ModelEugene Zemtsov2024-04-03
| | | | | | | | | | This change allows users to build libavfomat without support for Immersive Audio Model by specifying --disable-iamf. It helps to save on binary size in cases where it's important. Co-authored-by: James Almer <jamrial@gmail.com> Signed-off-by: Eugene Zemtsov <eugene@chromium.org> Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/vaapi_encode: convert from lambda to qpHaihao Xiang2024-04-03
| | | | | | | When AV_CODEC_FLAG_QSCALE is set, the value of avctx->global_quality is lambda. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavc/vaapi_encode: Add VAAPI version check for BLBRCFei Wang2024-04-03
| | | | | | Fix build fail when VAAPI version less than 0.39.2. Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* avcodec/d3d12va_decode: remove extra spaces for declarationTong Wu2024-04-03
| | | | Signed-off-by: Tong Wu <tong1.wu@intel.com>
* avformat/isom: don't drop the known layout when parsing AAC decSpecificInfoJames Almer2024-04-02
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: Uninit layout in ff_mp4_read_dec_config_descr()Michael Niedermayer2024-04-02
| | | | | | | | | Fixes: memleak Fixes: 67442/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-5068813261406208 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/exr: Dont use 64bits to hold 6bitsMichael Niedermayer2024-04-03
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>