summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avformat/mux: Store pointer to interleavement func in FFFormatContextAndreas Rheinhardt2021-11-19
| | | | | | | It avoids branches lateron and will allow to easily avoid the overhead of the linked list currently in use in case there is only one stream. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter: add a vflip_vulkan filterWu Jianhua2021-11-19
| | | | | | | | The following command is on how to apply vflip_vulkan filter: ffmpeg -init_hw_device vulkan -i input.264 -vf hwupload=extra_hw_frames=16,vflip_vulkan,hwdownload,format=yuv420p output.264 Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter: add a hflip_vulkan filterWu Jianhua2021-11-19
| | | | | | | | The following command is on how to apply hflip_vulkan filter: ffmpeg -init_hw_device vulkan -i input.264 -vf hwupload=extra_hw_frames=16,hflip_vulkan,hwdownload,format=yuv420p output.264 Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avutil/vulkan_glslang: fix compiling failure issueWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/overlay_vulkan: call av_vkfmt_from_pixfmt only one timeWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/scale_vulkan: call av_vkfmt_from_pixfmt only one timeWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/scale_vulkan: call av_pix_fmt_count_planes only one timeWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/chromaber_vulkan: call av_vkfmt_from_pixfmt only one timeWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/avgblur_vulkan: call av_vkfmt_from_pixfmt only one timeWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/overlay_vulkan: use FF_ARRAY_ELEMS instead of magic numberWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/scale_vulkan: use FF_ARRAY_ELEMS instead of magic numberWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/chromaber_vulkan: use FF_ARRAY_ELEMS instead of magic numberWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/avgblur_vulkan: use FF_ARRAY_ELEMS instead of magic numberWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/avgblur_vulkan: check if shader is created with successWu Jianhua2021-11-19
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* lavu/vulkan: add support for using libshaderc as a GLSL compilerLynne2021-11-19
| | | | | | | It's got a much better API that's actually maintained, it eliminates race conditions, it comes with a pkg-config file by default, and unfortunately isn't currently packaged by Debian or other large distributions.
* vulkan: fix checkheadersLynne2021-11-19
|
* lavfi/vulkan: split off lavfi-specific code into vulkan_filter.cLynne2021-11-19
| | | | | | | | | | | | | | | | | The issue is that libavfilter depends on libavcodec, and when doing a static build, if libavcodec also includes "libavfilter/vulkan.c", then during link-time, compiling programs will fail as there would be multiple definitions of the same symbols in both libavfilter and libavcodec's object files. Linkers are, however, more permitting if both files that include a common file that's used as a template are one-to-one identical. Hence, to make both files the same in the future, export all avfilter specific functions to a separate file. There is some work in progress to make templated files like this be compiled only once, so this is not a long-term solution. This also removes a macro that could be used to toggle SPIRV compilation capability on #include-time, as this could cause the files to be different.
* ffmpeg: Allocate InputStream.decoded_frame earlyJames Almer2021-11-19
| | | | | | Based on a commit by Andreas Rheinhardt. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: Allocate (In|Out)putStream.filter_frame earlyJames Almer2021-11-19
| | | | | | Based on a commit by Andreas Rheinhardt. Signed-off-by: James Almer <jamrial@gmail.com>
* x86/intmath: add VEX encoded versions of av_clipf() and av_clipd()James Almer2021-11-19
| | | | | | | Prevents mixing inlined SSE instructions and AVX instructions when the compiler generates the latter. Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/vulkan: add option to switch between shader compilers and cleanup glslangLynne2021-11-19
|
* lavu/vulkan: move common Vulkan code from libavfilter to libavutilLynne2021-11-19
|
* avfilter/af_drmeter: improve measurement precisionPaul B Mahol2021-11-18
|
* avfilter/af_drmeter: refactor number of bins outPaul B Mahol2021-11-18
|
* avformat/librist: correctly initialize logging_settingsGijs Peskens2021-11-18
| | | | | | Correct solution as suggested by Marton Balint on ffmpeg-devel Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/frame: Document the possibility of negative line sizesSoft Works2021-11-18
| | | | | Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/hwcontext_qsv: Remove redundant checkAndreas Rheinhardt2021-11-18
| | | | | | | | | | | | | It has already been checked immediately before that said AVDictionaryEntry exists; checking again is redundant. Furthermore, av_hwdevice_find_type_by_name() requires its argument to be non-NULL, so adding a codepath that automatically calls it with that parameter is nonsense. The same goes for the argument corresponding to %s. Fixes Coverity issue 1491394. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: Fix leak of AVBuffer and AVBufferRefAndreas Rheinhardt2021-11-18
| | | | | | | | | This av_buffer_create() does nothing but leak an AVBuffer and an AVBufferRef (except on allocation error). Fixes Coverity issue 1491393. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools: Constify values from av_dict_get()Chad Fraleigh2021-11-18
| | | | | | | | Treat values returned from av_dict_get() as const, since they are internal to AVDictionary. Signed-off-by: Chad Fraleigh <chadf@triularity.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/examples/metadata: Constify values from av_dict_get()Chad Fraleigh2021-11-18
| | | | | | | | Treat values returned from av_dict_get() as const, since they are internal to AVDictionary. Signed-off-by: Chad Fraleigh <chadf@triularity.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffmpeg: fix loosing gaps between audio frame timestamps when filteringPaul B Mahol2021-11-18
|
* vulkan_loader: fix typo in error messageLynne2021-11-18
|
* avformat/utils: Remove unused shorthand feature for auto-inserted BSFAndreas Rheinhardt2021-11-18
| | | | | | | | Besides being unused it should not be used at all: The order of options of bitstream filters is not guaranteed to be stable at all. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mxfenc: Make init function out of write_headerAndreas Rheinhardt2021-11-18
| | | | | | | | | The MXF muxers only write the header after they have received a packet; the actual write_header function does not write anything. So make an init function out of it. Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mxfenc: Remove redundant checkAndreas Rheinhardt2021-11-18
| | | | | | | | None of the muxers here has the AVFMT_NOSTREAMS flag set, so it is checked generically that there are streams. Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/hlsenc: Only write something if there is something to writeAndreas Rheinhardt2021-11-18
| | | | | | | | | | This is especially important in case avio_write() would be switched to an unsigned type like size_t, then a potential error from avio_read() (with negative return value) would no longer be handled gracefully by avio_write(). Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/hlsenc: Remove nonsense memsetAndreas Rheinhardt2021-11-18
| | | | | | | | | | | The memset here is both unnecessary (avio_read() ignores the previous content of the destination buffer) as well as nonsense (for a char buf[BUFSIZE] sizeof(buf) and sizeof(BUFSIZE) are not the same; the latter is sizeof(int)). Fixes Coverity issue #1465863. Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/http: Add short_seek_size optionDerek Buitenhuis2021-11-17
| | | | | | | | | | | | | | | In 45bfe8b838275235412777dd430206d9a24eb3ee, short_seek_threshold was removed from the public AVIO struct. Although this option was private and not intended to be used by public API users, it was nonetheless, because it provided functionality that could otherwise not be gained via public API. This was especially important for networked I/O like HTTP, where the internal size for lavf could be way to small depending on the specifics of a user's usecase, such as reading interlavd media files from cloud storage. Add an AVOption to make this functionality accessible to the HTTP client. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* fate: Add test for Dolby Vision RPU side dataDerek Buitenhuis2021-11-17
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/hevcdec: Export Dolby Vision RPUs as side dataDerek Buitenhuis2021-11-17
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avutil: Add Dolby Vision RPU side data typeDerek Buitenhuis2021-11-17
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avfilter/vf_gblur_vulkan: Fix use of uninitialized valueLimin Wang2021-11-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/gblur_vulkan: fix memory leakWu Jianhua2021-11-17
| | | | | | | Whether failed or not, the block of codes labeled with fail should be always run to ensure the av_free(kernel_def) is executed. Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter: add colorspectrum source video filterPaul B Mahol2021-11-16
|
* aarch64: Add Armv8.5-A BTI supportJonathan Wright2021-11-16
| | | | | | | | | | | | | | | | | Add Branch Target Identifiers (BTIs) to all functions defined in AArch64 assembly files. Most of the BTI landing pads are added automatically by the 'function' macro. BTI support is turned on or off at compile time based on the presence of the __ARM_FEATURE_BTI_DEFAULT feature macro. A binary compiled with BTI support can be executed on an Armv8-A processor without BTI support because the instructions are defined in NOP space. Signed-off-by: Jonathan Wright <jonathan.wright@arm.com> Signed-off-by: Elijah Ahmad <elijah.ahmad@arm.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: Use ret x<n> instead of br x<n> where possibleJonathan Wright2021-11-16
| | | | | | | | | | | | | | | | | | Change AArch64 assembly code to use: ret x<n> instead of: br x<n> "ret x<n>" is already used in a lot of places so this patch makes it consistent across the code base. This does not change behavior or performance. In addition, this change reduces the number of landing pads needed in a subsequent patch to support the Armv8.5-A Branch Target Identification (BTI) security feature. Signed-off-by: Jonathan Wright <jonathan.wright@arm.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* lavfi/vulkan: fix issues the previous commit introducedLynne2021-11-16
| | | | One typo and one think-before-you-paste.
* ffmpeg: rewrite setting the stream dispositionAnton Khirnov2021-11-16
| | | | | | | | | | | | | | | | | | | | | Currently, the code doing this is spread over several places and may behave in unexpected ways. E.g. automatic 'default' marking is only done for streams fed by complex filtergraphs. It is also applied in the order in which the output streams are initialized, which is effectively random. Move processing the dispositions at the end of open_output_file(), when we already have all the necessary information. Apply the automatic default marking only if no explicit -disposition options were supplied by the user, and apply it to the first stream of each type (excluding attached pics) when there is more than one stream of that type and no default markings were copied from the input streams. Explicitly document the new behavior. Changes the results of some tests, where the output file gets a default disposition, while it previously did not.
* cmdutils: add an option for listing stream dispositionsAnton Khirnov2021-11-16
|
* lavf: add "disposition" AVOption to AVStream AVClassAnton Khirnov2021-11-16
| | | | Use it to remove custom disposition parsing code from ffmpeg.c