summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* avutil/hwcontext_vulkan: fix typo in undefZhao Zhili2022-03-14
|
* avutil/cpu: add AVX512 Icelake flagWu Jianhua2022-03-10
| | | | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com> Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* arm64: Add Armv8.3-A PAC support to assembly filesAndre Kempe2022-03-09
| | | | | | | | | | | This patch adds optional support for Arm Pointer Authentication Codes. PAC support is turned on or off at compile time using additional compiler flags. Unless any of these is enabled explicitly, no additional code will be emitted at all. Signed-off-by: André Kempe <andre.kempe@arm.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avutil: [loongarch] Update loongson_intrinsics.h to v1.1.0Hao Chen2022-03-01
| | | | | | | | | The loongson_intrinsics.h file is updated from v1.0.3 version to v1.1.0. Some spelling mistakes are fixed and new functions are added. Signed-off-by: Hao Chen <chenhao@loongson.cn> Reviewed-by: 殷时友 <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: support for CUVA Vivid HDR metadataLimin Wang2022-03-01
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil: make lzo always compileJames Almer2022-02-26
| | | | | | | | Having optionally installed headers is a bad idea as there's no way to know if they are present or not (unless a define is added to avconfig.h, but that's just ugly). Signed-off-by: James Almer <jamrial@gmail.com>
* Remove unnecessary libavutil/(avutil|common|internal).h inclusionsAndreas Rheinhardt2022-02-24
| | | | | | | | | | Some of these were made possible by moving several common macros to libavutil/macros.h. While just at it, also improve the other headers a bit. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/avassert: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Remove obsolete version.h inclusionsAndreas Rheinhardt2022-02-24
| | | | | | | Forgotten in e7bd47e657bbf9e1ce9915e93bc80cb1a29fb7f3. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/display: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/integer: Don't include common.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixelutils: Don't include common.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/samplefmt: Don't include attributes.h, avutil.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/imgutils: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | | | | It is a remnant of an FF_API_* inclusion (back from when they were in avutil.h and not in version.h). Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/eval: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | | | It has been added for an FF_API_* at a time when these were in avutil.h. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/file: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/fifo: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/audio_fifo: Avoid avutil.h inclusionAndreas Rheinhardt2022-02-24
| | | | | Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/log: Don't include avutil.hAndreas Rheinhardt2022-02-24
| | | | | | | | | | | | It has been included since af5f434f8c0fb3b4ee3b206ebc1946ca660a8abe for deprecation reasons, but removing it has been forgotten after it had served is purpose. So remove it. For convenience, include version.h instead as LIBAVUTIL_VERSION_INT is supposed to be used when creating AVClasses. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/vulkan: avoid using strlen as a loop conditionLynne2022-02-22
| | | | Whatever.
* avutil/x86/emms: Don't unnecessarily include lavu/cpu.hAndreas Rheinhardt2022-02-21
| | | | | | | | | | | | | | | | | Only include it if it is needed, namely if __MMX__ is undefined. X86 is currently the only arch where lavu/cpu.h is basically automatically included (for internal development): #if ARCH_X86 is true, lavu/internal.h (which is basically included everywhere) includes lavu/x86/emms.h which can mask missing inclusions of lavu/cpu.h if the developer works on x86/x64. This has happened in 8e825ec3ab09d877f12dcf05d76902a8bb9c8b11 and also earlier (see 6d2365882f281f9452b31b91edb2e6a2d4f5ff08). By including said header only if necessary ordinary developer machines will behave like non-x86 arches, so that missing inclusions of cpu.h won't go unnoticed any more. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/hwcontext: clarify behavior on av_hwframe_map() failureAnton Khirnov2022-02-17
| | | | | Clear anything that av_hwframe_map() might have done to the destination frame, but leave caller-provided fields unchanged.
* lavu/hwcontext_opencl: clear dangling pointers on map failureAnton Khirnov2022-02-17
|
* lavu/fifo: add a test for _cb functionsAnton Khirnov2022-02-15
| | | | | Makes an auto-growing FIFO and performs a sequence of randomly-sized writes/peeks/reads.
* lavu/fifo: fix a corner case in av_fifo_grow2()Anton Khirnov2022-02-15
| | | | | | | When the fifo is grown by exactly the current write offset, it would end up with offset_w = nb_elems. If av_fifo_write_from_cb() is called in such a state, the user callback would get callled with *nb_elems=0, which will then cause the write to return without writing anything.
* lavu/hwcontext_qsv: fix a potential infinite loopAnton Khirnov2022-02-15
| | | | | Current code will loop forever if MFXVideoVPP_Init() fails. Also, simplify the code.
* lavu/pixfmt: deprecate AV_PIX_FMT_XVMCAnton Khirnov2022-02-15
| | | | It is no longer used for anything.
* avutil/tx: Fix documentation of av_tx_uninit()Andreas Rheinhardt2022-02-11
| | | | | | Adapt it to the actual (sane) behaviour. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/fifo: fix regressionHaihao Xiang2022-02-09
| | | | | | | | | | | offset_w might be updated after growing the FIFO Fix ticket #9630 Tested-by: U. Artie Eoff <ullysses.a.eoff@intel.com> Reviewed-by: mkver Reviewed-by: U. Artie Eoff <ullysses.a.eoff@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* libavutil: include assembly with full path from source rootAlexander Kanavin2022-02-08
| | | | | | | | Otherwise nasm writes the full host-specific paths into .o output, which breaks binary reproducibility. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avutil: use getauxval(3) for CPU capabilities on linux/android ARMAman Karmani2022-02-07
| | | | | | | | | | getauxval is marginally faster, and works even when procfs is not mounted support on Linux was added in glibc 2.16 support on Android was added in 4.4 (API 20) fixes #6578 Signed-off-by: Aman Karmani <aman@tmm1.net>
* lavu/tx: wrap missed string in NULL_IF_CONFIG_SMALLLynne2022-02-07
| | | | It's the only one that isn't defined through the macros used elsewhere.
* lavu/tx: disable debugging information when CONFIG_SMALLLynne2022-02-07
|
* lavu/tx: refactor assembly codelet definitionLynne2022-02-07
| | | | | | | | | | | This commit does some refactoring to make defining assembly codelets smaller, and fixes compiler redefinition warnings. It also allows for other assembly versions to reuse the same boilerplate code as x86. Finally, it also adds the out_of_place flag to all assembly codelets. This changes nothing, as out-of-place operation was assumed to be available anyway, but this makes it more explicit.
* avutil/fifo: Deprecate old FIFO APIAnton Khirnov2022-02-07
| | | | | | | | Users should switch to the superior AVFifo API. Unfortunately AVFifoBuffer fields cannot be marked as deprecated because it would trigger a warning wherever fifo.h is #included, due to inlined av_fifo_peek2().
* lavu/threadmessage: switch to new FIFO APIAnton Khirnov2022-02-07
|
* lavu/audio_fifo: switch to new FIFO APIAnton Khirnov2022-02-07
|
* lavu/audio_fifo: drop an unnecessary includeAnton Khirnov2022-02-07
| | | | Nothing in audio_fifo.h uses anything from fifo.h
* lavu/tests/fifo: switch to the new APIAnton Khirnov2022-02-07
|
* lavu/fifo: add a flag for automatically growing the FIFO as neededAnton Khirnov2022-02-07
| | | | | This will not increase the FIFO beyond 1MB, unless the caller explicitly specifies otherwise.
* lavu/fifo: Add new AVFifo API based upon the notion of element sizeAnton Khirnov2022-02-07
| | | | | | | | | | | | | | | | | | Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers), but the current FIFO API deals exclusively in bytes, requiring extra complexity in all these callers. Add a new AVFifo API creating a FIFO with an element size that may be larger than a byte. All operations on such a FIFO then operate on complete elements. This API does not reuse AVFifoBuffer and its API at all, but instead uses an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated in a future commit once all of its users have been switched to the new API. Not reusing AVFifoBuffer also allowed to use the full range of size_t from the beginning.
* lavu/fifo: disallow overly large fifo sizesAnton Khirnov2022-02-07
| | | | | | | | | | | | | | | The API currently allows creating FIFOs up to - UINT_MAX: av_fifo_alloc(), av_fifo_realloc(), av_fifo_grow() - SIZE_MAX: av_fifo_alloc_array() However the usable limit is determined by - rndx/wndx being uint32_t - av_fifo_[size,space] returning int so no FIFO should be larger than the smallest of - INT_MAX - UINT32_MAX - SIZE_MAX (which should be INT_MAX an all commonly used platforms). Return an error on trying to allocate FIFOs larger than this limit.
* avutil/fifo: Use av_fifo_generic_peek_at() for av_fifo_generic_peek()Andreas Rheinhardt2022-02-07
| | | | | | | Avoids code duplication. It furthermore properly checks for buf_size to be > 0 before doing anything. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* x86/tx_float: avoid redefining macrosLynne2022-02-02
| | | | FFT16_FN was used for fft8 and for fft16 afterwards.
* hwcontext_vulkan: use VkPhysicalDeviceTimelineSemaphoreFeaturesZhao Zhili2022-02-01
| | | | | | | VkPhysicalDeviceVulkan12Features isn't implemented on MoltenVK yet. VkPhysicalDeviceTimelineSemaphoreFeatures is less versatile but simple. None of device_features_1_1 nor device_features_1_2 has real usage yet, keep the code for future.
* avutil/tests/adler32: Remove unnecessary volatileAndreas Rheinhardt2022-01-29
| | | | | | And use an ordinary stack variable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: fix typoTimo Rothenpieler2022-01-29
|
* libavutil/hwcontext_opencl: fix a bug for mapping qsv frame to openclnyanmisaka2022-01-29
| | | | | | | | | | | | | | | mfxHDLPair was added to qsv, so modify qsv->opencl map function as well. Now the following commandline works: ffmpeg -v verbose -init_hw_device vaapi=va:/dev/dri/renderD128 \ -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device ocl \ -hwaccel qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v h264_qsv \ -i input.264 -vf "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \ hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \ -c:v h264_qsv output.264 Signed-off-by: nyanmisaka <nst799610810@gmail.com> Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* x86/tx_float: mark AVX2 functions as AVXSLOWLynne2022-01-29
| | | | | | | | | | | | | Makes Bulldozer prefer AVX functions rather than AVX2, which are 64% slower: AVX: 117653 decicycles in av_tx (fft), 1048535 runs, 41 skips AVX2: 193385 decicycles in av_tx (fft), 1048561 runs, 15 skips The only difference between both is that vgatherdpd is used in the former. We don't want to mark them with the new SLOW_GATHER flag however, since gathers are still faster on Haswell/Zen 2/3 than plain loads.
* lavu/tx: do not unconditionally free subcontexts if initialization failsLynne2022-01-29
| | | | | | | | | If a codelet initializes 2 subtransforms, and the second one fails, the failure would free all subcontexts. Instead, if there are subcontexts still left, don't free the array. If all initializations fail, the init() function will return, and reset_ctx() from the previous step will clean up all contained subtransforms.