aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avutil/frame: add helper for getting side data from arrayJan Ekström2024-03-202-5/+29
|
* avutil/frame: add helper for adding existing side data to arrayJan Ekström2024-03-202-0/+69
|
* avutil/frame: add helper for adding side data to arrayJan Ekström2024-03-206-0/+161
| | | | | Additionally, add an API test to check that the no-duplicates addition works after duplicates have been inserted.
* avutil/frame: split side data removal out to non-AVFrame functionJan Ekström2024-03-201-8/+16
| | | | This will make it possible to reuse logic in further commits.
* avutil/frame: split side_data_from_buf to base and AVFrame funcJan Ekström2024-03-201-8/+17
|
* avutil/frame: add helper for freeing arrays of side dataJan Ekström2024-03-202-0/+16
|
* avutil/frame: split side data list wiping out to non-AVFrame functionJan Ekström2024-03-201-9/+14
| | | | This will make it possible to to reuse logic in further commits.
* lavc/vvc: Fix check whether QG is in first tile colFrank Plowman2024-03-201-1/+1
| | | | | | | | | | | The second part of this condition is intended to check whether the current quantisation group is in the first CTU column of the current tile. The issue is that ctb_to_col_bd gives the x-ordinate of the first column of the current tile *in CTUs*, while xQg gives the x-ordinate of the quantisation group *in samples*. Rectify this by shifting xQg by ctb_log2_size to get xQg in CTUs before comparing. Fixes FFVVC issues #201 and #203.
* avformat/codec2: Don't allocate Codec2Context for muxerAndreas Rheinhardt2024-03-201-1/+0
| | | | | | | Only the demuxers use it. Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/iamfenc: Remove unused headersAndreas Rheinhardt2024-03-201-5/+0
| | | | | | | Forgotten in c95c8a0158073be84338d84c46529561bcc70a03. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/iamfenc: Align check and error messageAndreas Rheinhardt2024-03-201-1/+1
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/iamfenc: Remove always-false checkAndreas Rheinhardt2024-03-201-5/+0
| | | | | | | | This muxer does not have the AVFMT_NOSTREAMS flag; therefore it is checked generically that there is at least a stream. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffmpeg: set extra_hw_frames to account for frames held in queuesMark Thompson2024-03-193-1/+40
| | | | | | | | | | Since e0da916b8f5b079a4865eef7f64863f50785463d the ffmpeg utility has held multiple frames output by the decoder in internal queues without telling the decoder that it is going to do so. When the decoder has a fixed-size pool of frames (common in some hardware APIs where the output frames must be stored as an array texture) this could lead to the pool being exhausted and the decoder getting stuck. Fix this by telling the decoder to allocate additional frames according to the queue size.
* fftools/ffplay: use correct buffersink channel layout parametersMarton Balint2024-03-191-0/+2
| | | | | | Regression since 0995e1f1b31f6e937a1b527407ed3e850f138098. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/muxers/gif: apply consistency fixesStefano Sabatini2024-03-191-8/+7
|
* doc/muxers/flv: apply misc consistency fixesStefano Sabatini2024-03-191-5/+1
|
* doc/muxers: add flacStefano Sabatini2024-03-191-0/+20
|
* avcodec/mpeg12dec: extract only one type of CC substreamMarth642024-03-191-3/+61
| | | | | | | | | | | | | | | | | | | | | In MPEG-2 user data, there can be different types of Closed Captions formats embedded (A53, SCTE-20, or DVD). The current behavior of the CC extraction code in the MPEG-2 decoder is to not be aware of multiple formats if multiple exist, therefore allowing one format to overwrite the other during the extraction process since the CC extraction shares one output buffer for the normalized bytes. This causes sources that have two CC formats to produce flawed output. There exist real-world samples which contain both A53 and SCTE-20 captions in the same MPEG-2 stream, and that manifest this problem. Example of symptom: THANK YOU (expected) --> THTHANANK K YOYOUU (actual) The solution is to pick only the first CC substream observed with valid bytes, and ignore the other types. Additionally, provide an option for users to manually "force" a type in the event that this matters for a particular source. Signed-off-by: Marth64 <marth64@proxyid.net>
* avformat/matroska: use named constants for ITU-T T.35 metadataJames Almer2024-03-192-3/+6
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: use named constants for ITU-T T.35 metadataJames Almer2024-03-191-5/+7
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h2645_sei: use named constants for ITU-T T.35 metadataJames Almer2024-03-192-4/+8
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: use named constants for ITU-T T.35 metadataJames Almer2024-03-192-5/+35
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* libavfi/dnn: add LibTorch as one of DNN backendWenbin Chen2024-03-197-4/+624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official website: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take following steps as reference: 1. download LibTorch C++ library in https://pytorch.org/get-started/locally/, please select C++/Java for language, and other options as your need. Please download cxx11 ABI version: (libtorch-cxx11-abi-shared-with-deps-*.zip). 2. unzip the file to your own dir, with command unzip libtorch-shared-with-deps-latest.zip -d your_dir 3. export libtorch_root/libtorch/include and libtorch_root/libtorch/include/torch/csrc/api/include to $PATH export libtorch_root/libtorch/lib/ to $LD_LIBRARY_PATH 4. config FFmpeg with ../configure --enable-libtorch \ --extra-cflag=-I/libtorch_root/libtorch/include \ --extra-cflag=-I/libtorch_root/libtorch/include/torch/csrc/api/include \ --extra-ldflags=-L/libtorch_root/libtorch/lib/ 5. make To run FFmpeg DNN inference with LibTorch backend: ./ffmpeg -i input.jpg -vf \ dnn_processing=dnn_backend=torch:model=LibTorch_model.pt -y output.jpg The LibTorch_model.pt can be generated by Python with torch.jit.script() api. https://pytorch.org/tutorials/advanced/cpp_export.html. This is pytorch official guide about how to convert and load torchscript model. Please note, torch.jit.trace() is not recommanded, since it does not support ambiguous input size. Signed-off-by: Ting Fu <ting.fu@intel.com> Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Reviewed-by: Guo Yejun <yejun.guo@intel.com>
* tools/target_dec_fuzzer: adjust threshold for AV_CODEC_ID_IFF_ILBMMichael Niedermayer2024-03-191-1/+1
| | | | | | | | Fixes: timeout Fixes: 66444/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IFF_ILBM_fuzzer-4812862400823296 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dem_fuzzer: add libavformat/demux.hMichael Niedermayer2024-03-191-1/+1
| | | | | | | needed for FFInputFormat Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/fate: advise on --assert-level=2Nicolas Gaullier2024-03-191-0/+8
| | | | | Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate/atrac: Add atrac->aea, atrac->matroska remux testsAndreas Rheinhardt2024-03-193-2/+198
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/aeadec: Use sample rate as time baseAndreas Rheinhardt2024-03-191-0/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/aeadec: Export titleAndreas Rheinhardt2024-03-191-3/+12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/hwcontext_vulkan: check PCI ID if possibleHaihao Xiang2024-03-191-7/+23
| | | | | | | | Otherwise the derived device and the source device might have different PCI ID in a multiple-device system. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* doc/muxers: add fitsStefano Sabatini2024-03-181-0/+8
|
* doc/muxers: add filmstripStefano Sabatini2024-03-181-0/+6
|
* doc/muxers: add film_cpkStefano Sabatini2024-03-181-0/+11
|
* doc/muxers: add ffmetadataStefano Sabatini2024-03-182-0/+18
|
* avutil/hwcontext_d3d11va: add logging to dxgi debug interfacesTimo Rothenpieler2024-03-181-1/+9
|
* avutil/hwcontext_d3d11va: prefer DXGI 1.1 factory when availableTimo Rothenpieler2024-03-181-1/+3
| | | | | | A lot of modern stuff straight up fails on the old 1.0 factory, which is masked by the fact that it's only used when an explicit adapter is specified.
* avutil/hwcontext_d3d11va: remove check for d3d11 debug layer dllTimo Rothenpieler2024-03-181-7/+3
| | | | | | | | | | At least on latest Win 11 and Visual Studio 2022, that DLL does not exist anymore and can't be installed via any of the usual means. However, debugging works just fine regardless, so this check makes debugging impossible. D3D11CreateDevice will fail anyway if debugging is not supported, so let's rely on that instead.
* tests/ref/lavf-fate/hevc.flv: Fix ref fileAndreas Rheinhardt2024-03-181-2/+2
| | | | | | Unbreaks the lavf-fate-hevc.flv FATE test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/lavf-container: correct operator; unbreak buildGyan Doshi2024-03-181-1/+1
|
* Changelog: Add Support PacketTypeMetadata of PacketType in enhanced flvSteven Liu2024-03-181-0/+1
| | | | | Reviewed-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* fate/flvenc: support enhanced flv PacketTypeMetadataZhu Pengfei2024-03-184-4/+9
| | | | | Signed-off-by: Zhu Pengfei <411294962@qq.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/flvenc: support enhanced flv PacketTypeMetadataZhu Pengfei2024-03-181-0/+139
| | | | | Signed-off-by: Zhu Pengfei <411294962@qq.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/flvdec: support enhanced flv PacketTypeMetadataZhu Pengfei2024-03-181-1/+176
| | | | | Signed-off-by: Zhu Pengfei <411294962@qq.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavc/vaapi_decode: Don't update buffer number if allocataion failFei Wang2024-03-181-6/+3
| | | | Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* lavc/vaapi_encode: Enable block level bitrate controlFei Wang2024-03-183-2/+24
| | | | Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* lavu/hwcontext_qsv: Join the download/upload session to the main sessionHaihao Xiang2024-03-181-0/+24
| | | | | | | This may reduce the number of internal threads when using hwupload or hwdownload filter. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavc/qsvdec: Do not print warning when draining cached framesHaihao Xiang2024-03-181-1/+3
| | | | | | | | | When all cached frames are drained, the output mfxSyncPoint pointer is NULL and MFX_ERR_MORE_DATA is returned, hence needn't print warning for this expected behavior, otherwise the user might think the output from qsv decoders are wrong. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avformat/crypto: Avoid cast, use proper printf specifierAndreas Rheinhardt2024-03-181-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/aeaenc: Fix printf-specifierAndreas Rheinhardt2024-03-181-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ccaption_dec: Use static_assert instead of _Static_assertAndreas Rheinhardt2024-03-181-3/+4
| | | | | | The latter is not supported by MSVC 19.27. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>