Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-09swscale/utils: Remove obsolete 3DNow referenceAndreas Rheinhardt
swscale does not use 3DNow any more since commit 608319a311a31f7d85333a7b08286c00be38eab6. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-09-10swscale/la: Optimize hscale functions with lasx.Hao Chen
ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -s 640x480 -y /dev/null -an before: 101fps after: 138fps Signed-off-by: Hao Chen <chenhao@loongson.cn> Reviewed-by: yinshiyou-hf@loongson.cn Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-09-10swscale/output: add support for Y210LE and Y212LEPhilip Langdale
2022-09-10swscale/output: add support for XV30LEPhilip Langdale
2022-09-10swscale/output: add support for XV36LEPhilip Langdale
2022-09-10swscale/output: add support for P012Philip Langdale
This generalises the existing P010 support.
2022-09-06swscale/input: add support for Y212LEPhilip Langdale
2022-09-06swscale/input: add support for XV30LEPhilip Langdale
2022-09-06swscale/input: add support for P012Philip Langdale
As we now have three of these formats, I added macros to generate the conversion functions.
2022-09-06swscale/input: add support for XV36LEPhilip Langdale
2022-08-26libswscale: add support for VUYX formatPhilip Langdale
As we already have support for VUYA, I figured I should do the small amount of work to support VUYX as well. That means a little refactoring to share code.
2022-08-19swscale/input: add rgbaf16 input supportTimo Rothenpieler
This is by no means perfect, since at least ddagrab will return scRGB data with values outside of 0.0f to 1.0f for HDR values. Its primary purpose is to be able to work with the format at all.
2022-08-18libswscale: Enable hscale_avx2 for all input sizes.Alan Kelly
ff_shuffle_filter_coefficients shuffles the tail as required. Signed-off-by: Anton Khirnov <anton@khirnov.net>
2022-08-07swscale/output: add VUYA output supportJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2022-08-05swscale/input: add VUYA input supportJames Almer
Reviewed-by: Philip Langdale <philipl@overt.org> Signed-off-by: James Almer <jamrial@gmail.com>
2022-07-19swscale: add NV16 input/outputMatthieu Bouron
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2022-06-15all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt
This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-05-28swscale/aarch64: add hscale specializationsSwinney, Jonathan
This patch adds code to support specializations of the hscale function and adds a specialization for filterSize == 4. ff_hscale8to15_4_neon is a complete rewrite. Since the main bottleneck here is loading the data from src, this data is loaded a whole block ahead and stored back to the stack to be loaded again with ld4. This arranges the data for most efficient use of the vector instructions and removes the need for completion adds at the end. The number of iterations of the C per iteration of the assembly is increased from 4 to 8, but because of the prefetching, there must be a special section without prefetching when dstW < 16. This improves speed on Graviton 2 (Neoverse N1) dramatically in the case where previously fs=8 would have been required. before: hscale_8_to_15__fs_8_dstW_512_neon: 1962.8 after : hscale_8_to_15__fs_4_dstW_512_neon: 1220.9 Signed-off-by: Jonathan Swinney <jswinney@amazon.com> Signed-off-by: Martin Storsjö <martin@martin.st>
2022-05-10lib*/version: Move library version functions into files of their ownAndreas Rheinhardt
This avoids having to rebuild big files every time FFMPEG_VERSION changes (which it does with every commit). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-16libswscale: Split version.hMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2022-02-25swscale: Take the destination range into account for yuv->rgb->yuv conversionsMartin Storsjö
The range parameters need to be set up before calling sws_init_context (which selects which fastpaths can be used; this gets called by sws_getContext); solely passing them via sws_setColorspaceDetails isn't enough. This fixes producing full range YUV range output when doing YUV->YUV conversions between different YUV color spaces. Signed-off-by: Martin Storsjö <martin@martin.st>
2022-02-17libswscale: Re-factor ff_shuffle_filter_coefficients.Alan Kelly
Make the code more readable and follow the style guide. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-02-17libswscale: Check and propagate memory allocation errors from ↵Alan Kelly
ff_shuffle_filter_coefficients. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-12-23swscale: add P210/P410/P216/P416 outputrcombs
2021-12-21libswscale: Test AV_CPU_FLAG_SLOW_GATHER for hscale functions.Alan Kelly
This is instead of EXTERNAL_AVX2_FAST so that the avx2 hscale functions are only used where they are faster.
2021-12-16libswscale: Adds ff_hscale8to15_4_avx2 and ff_hscale8to15_X4_avx2 for all ↵Alan Kelly
filter sizes. Fixes so that fate under 64 bit Windows passes. These functions replace all ff_hscale8to15_*_ssse3 when avx2 is available. Signed-off-by: James Almer <jamrial@gmail.com>
2021-11-29swscale: add P210/P410/P216/P416 inputrcombs
2021-10-24swscale/utils: Improve return codes of sws_setColorspaceDetails()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-10-24swscale/utils: Set all threads to the same colorspace even on failureMichael Niedermayer
Fixes: ./ffplay dav.y4m -vf "scale=hd1080:threads=4" Found-by: Paul Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-09-26swscale: add input/output support for X2BGR10LEManuel Stoeckl
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-09-20Replace all occurences of av_mallocz_array() by av_calloc()Andreas Rheinhardt
They do the same. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-20swscale/swscale: Fix races when using unaligned strides/dataAndreas Rheinhardt
In this case the current code tries to warn once; to do so, it uses ordinary static ints to store whether the warning has already been emitted. This is both a data race (and therefore undefined behaviour) as well as a race condition, because it is really possible for multiple threads to be the one thread to emit the warning. This is actually common since the introduction of the new multithreaded scaling API. This commit fixes this by using atomic integers for the state; furthermore, these are not static anymore, but rather contained in the user-facing SwsContext (i.e. the parent SwsContext in case of slice-threading). Given that these atomic variables are not intended for synchronization at all (but only for atomicity, i.e. only to output the warning once), the atomic operations use memory_order_relaxed. This affected the nv12, nv21, yuv420, yuv420p10, yuv422, yuv422p10 and yuv444 filter-overlay FATE-tests. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-20libswscale/options: Add parent_log_context_offset to AVClassAndreas Rheinhardt
This allows to associate log messages from slice contexts to the user-visible SwsContext. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-06sws: implement slice threadingAnton Khirnov
2021-09-06sws: add a new scaling APIAnton Khirnov
2021-07-09swscale/utils: Use full chroma interpolation for rgb4/8 and dither noneMichael Niedermayer
Dither none is only implemented in full chroma interpolation for these rgb formats Its also a obscure choice (producing less nice images) that implementing it in the other code-paths makes no sense Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-07-03sws: rename SwsContext.swscale to convert_unscaledAnton Khirnov
That function pointer is now used only for unscaled conversion.
2021-07-03sws: separate the calls to scaled vs unscaled conversionAnton Khirnov
Call the scaler function directly rather than through a function pointer. Drop the now-unused return value from ff_getSwsFunc() and rename the function to reflect its new role. This will be useful in the following commits, where it will become important that the amount of output is different for scaled vs unscaled case.
2021-07-03sws: do not reallocate scratch buffers for each sliceAnton Khirnov
2021-07-02libswscale: Make sws_init_context thread safe.Peter Lundblad
Call ff_sws_rgb2rgb_init via ff_thread_once instead of checking one of the variables it updates. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-04-27libswscale: Remove unused deprecated functions, make used ones staticAndreas Rheinhardt
Deprecated in 3b905b9fe611efb3282aa4c5c659e1870d91a83b. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
2020-10-11swscale/utils: override forced-zero formats back to full rangeJan Ekström
Fixes vf_scale outputting RGB AVFrames with limited range flagged in case either input or output specifically sets the range. This is the reverse of the logic utilized for RGB and PAL8 content in sws_setColorspaceDetails.
2020-10-11swscale/utils: split range override check into its own functionJan Ekström
2020-08-08swscale: do not drop half of bits from 16bit bayer formatsPaul B Mahol
2020-06-14swscale/utils: return better error code from initFilter()Limin Wang
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-14swscale/utils: reindentLimin Wang
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-13swscale/utils: remove FF_ALLOC_ARRAY_OR_GOTO macrosLimin Wang
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-12swscale: Add swscale input/output support for X2RGB10LEFei Wang
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2020-05-12libswscale: fix for floating point formats, require full chromaMark Reid
upon more floating point testing, looks like I missed adding this bit. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-05libswscale: add output support for AV_PIX_FMT_GBRAPF32Mark Reid
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>