- 23 May, 2022 7 commits
-
-
Martin Storsjö authored
Since every DLL can use an individual CRT on Windows, having an exported function that opens a FILE* won't work if that FILE* is going to be used from a different DLL (or from user application code). Internally within the libraries, the issue can be worked around by duplicating the function in all libraries (this already happened implicitly because the function resided in file_open.c) and renaming the function to ff_fopen_utf8 (so that it doesn't end up exported from the DLLs) and duplicating it in all libraries that use it. This makes the avpriv_fopen_utf8 / ff_fopen_utf8 function work in the exact same way as the existing avpriv_open / ff_open, with the same setup as introduced in e743e7ae. That mechanism doesn't work for external users, thus deprecate the existing function. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Provide a header based inline reimplementation of it. Using av_fopen_utf8 doesn't work outside of the libraries when built with MSVC as shared libraries (in the default configuration, where each DLL gets a separate statically linked CRT). Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Tong Wu authored
Fixes: $ ffmpeg.exe -init_hw_device d3d11va=d3d11 -init_hw_device \ qsv=qsv@d3d11 -s:v WxH -pix_fmt nv12 -i input.yuv -vf \ "hwupload=extra_hw_frames=16,hwmap=derive_device=d3d11va,format=d3d11,\ hwmap=derive_device=qsv,format=qsv" -f null - Reviewed-by:
Soft Works <softworkz@hotmail.com> Signed-off-by:
Tong Wu <tong1.wu@intel.com> Signed-off-by:
Haihao Xiang <haihao.xiang@intel.com>
-
Tong Wu authored
In d3d11va_create_staging_texture(), during the hwmap process, the ctx->internal->priv is not initialized, resulting in the texDesc.Format not initialized. Now pass the format value from d3d11va_transfer_data() to fix it. $ ffmpeg.exe -y -hwaccel qsv -init_hw_device d3d11va=d3d11 \ -init_hw_device qsv=qsv@d3d11 -c:v h264_qsv \ -i input.h264 -vf "hwmap=derive_device=d3d11va,format=d3d11,hwdownload,format=nv12" \ -f null - Reviewed-by:
Soft Works <softworkz@hotmail.com> Signed-off-by:
Tong Wu <tong1.wu@intel.com> Signed-off-by:
Haihao Xiang <haihao.xiang@intel.com>
-
Tong Wu authored
Fixes: $ ffmpeg.exe -y -hwaccel qsv -init_hw_device d3d11va=d3d11 \ -init_hw_device qsv=qsv@d3d11 -c:v h264_qsv -i input.h264 \ -vf "hwmap=derive_device=d3d11va,format=d3d11" -f null - Reviewed-by:
Soft Works <softworkz@hotmail.com> Signed-off-by:
Tong Wu <tong1.wu@intel.com> Signed-off-by:
Haihao Xiang <haihao.xiang@intel.com>
-
Steven Liu authored
plot_freqs should free colors before return error when ff_get_video_buffer failed Signed-off-by:
Steven Liu <lq@chinaffmpeg.org>
-
Zhao Zhili authored
buf_ptr is uninitialized and accessed when function return.
-
- 21 May, 2022 5 commits
-
-
Lynne authored
When the SLOW_GATHER flag was added to the AVX2 version, this made FMA3-features not enabled on Zen CPUs. As FMA3 adds 6-7% across all platforms that support it, in the interest of saving space, this commit removes the AVX version and replaces it with an FMA3 version. The only CPUs affected are Sandy Bridge and Bulldozer, which have AVX support, but no FMA3 support. In the future, if there's a demand for it, a version of the function duplicated for AVX can be added.
-
Lynne authored
On Zen 3: Before: 1484285 decicycles in av_tx (fft), 131072 runs, 0 skips After: 1415243 decicycles in av_tx (fft), 131072 runs, 0 skips
-
Lynne authored
Instead of having a fixed -64 prio penalty, make the penalties more granular. As the prio is based on the register size in bits, decrementing it by 129 makes AVX SLOW functions be avoided in favor of any SSE versions.
-
Lynne authored
-
- 20 May, 2022 9 commits
-
-
Gyan Doshi authored
Addresses #9784
-
Andreas Rheinhardt authored
Do this by making this test a transcode test. Also fix the test requirements and don't add this test to FATE_AFILTER; instead use a new variable and a new target for flvenc-tests. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Also add a fate-filter-overlays target containing all these tests and fix the requirements of the tests; furthermore, remove unnecessary scale filters from filter-overlay-rgba?_rgba. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Also fix the requirements of these tests: Only the anaglyph tests need a scale filter, yet it has been inserted for all tests without any check for its presence. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Lots of tests use the framecrc command together with some filters, so adding a special function for it seems worthwhile. This commit adds one new one and modifies an already existing one: All users of FILTERDEMDEC already use framecrc and the more general FILTERDEMDECENCMUX can be used in scenarios where more control over the used encoders/muxers is needed, so use this in cases where an actual input file is involved. Furthermore, add FILTERFRAMECRC for the cases where no demuxing/decoding occurs, because the input is generated via lavfi. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
It is unused and given that one needs an encoder to produce packets from AVFrames (as output by filters) this is likely to remain so, because FILTERDEMDECENCMUX is better for these scenarios. The only case where one can use filters without encoders is with the lavfi input device: It outputs AVPackets which could be copied without another conversion to AVFrames. Yet the variable to check for this is CONFIG_LAVFI_INDEV, but FILTERDEMDECMUX is designed to work with demuxers (i.e. CONFIG_*_DEMUXER). So there is no usecase for FILTERDEMDECMUX. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Lynne authored
Its performance loss ranges from either being just as fast as individual loads (Skylake), a few percent slower (Alderlake), 8% slower (Zen 3), to completely disasterous (older/other CPUs). Sadly, gathers never panned out fast on x86, even with the benefit of time and implementation experience. This also saves a register, as there's no need to fill out an additional register mask. Zen 3 (16384-point transform): Before: 1561050 decicycles in av_tx (fft), 131072 runs, 0 skips After: 1449621 decicycles in av_tx (fft), 131072 runs, 0 skips Alderlake: 2% slower on big transforms (65536), to 1% (131072), to a few percent for smaller sizes.
-
- 19 May, 2022 8 commits
-
-
Andreas Rheinhardt authored
It copies, not moves the channel layout. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
It is only needed for the options in mpegvideoenc.h. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
ERContext currently has an embedded MECmpContext, despite only needing exactly one function from it. This is wasteful because MECmpContext is pretty large (135 pointers, 1080 B for eight byte pointers). So keep only what is needed. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Limin Wang authored
Signed-off-by:
Limin Wang <lance.lmwang@gmail.com>
-
Limin Wang authored
Signed-off-by:
Limin Wang <lance.lmwang@gmail.com>
-
Limin Wang authored
Signed-off-by:
Limin Wang <lance.lmwang@gmail.com>
-
Vignesh Venkatasubramanian authored
Add support for AVIF muxing in the image2 muxer. Tested with this example: ffmpeg -lavfi testsrc=duration=1:size=320x320 -g 1 -flags global_header -c:v libaom-av1 -f image2 img-%2d.avif Signed-off-by:
Vignesh Venkatasubramanian <vigneshv@google.com>
-
- 18 May, 2022 1 commit
-
-
softworkz authored
Signed-off-by:
softworkz <softworkz@hotmail.com> Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
- 16 May, 2022 2 commits
-
-
Andreas Rheinhardt authored
av_dict_set() expects a different set of flags, namely the AV_DICT_* flags. Using AV_OPT_FLAG_DECODING_PARAM (or any AV_OPT_FLAG_*) ic av_dict_set() is therefore completely wrong and given that av_dict_set() just doesn't care about whether the string it receives has anything to do with a decoding parameter or not, it should just be removed without replacement. (The numerical value of AV_OPT_FLAG_DECODING_PARAM currently coincides with AV_DICT_IGNORE_SUFFIX. Given that the dictionaries we are dealing with here are always empty (i.e. NULL) before the calls to av_dict_set(), this flag changes nothing. It would be different if it were equal to one of the AV_DICT_DONT_STRDUP_* values.) Reviewed-by:
Jan Ekström <jeebjp@gmail.com> Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Gyan Doshi authored
-
- 15 May, 2022 5 commits
-
-
Andreas Rheinhardt authored
It is unneeded, as this decoder does not call ff_get_buffer(). Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Move AC3HeaderInfo into ac3_parser_internal.h and the rest into a new header ac3defs.h. This also breaks an include cycle of ac3.h and ac3tab.h (the latter now only needs ac3defs.h). Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Removed in 7b11eead. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Paul B Mahol authored
-
- 14 May, 2022 2 commits
-
-
Paul B Mahol authored
-
Gyan Doshi authored
Allows to process CENC-encrypted media segments. Option arg syntax is same as that for option decryption_key in MOV demuxer
-
- 13 May, 2022 1 commit
-
-
Paul B Mahol authored
-