[FFmpeg-devel] [PATCH 1/5] vulkan: merge FFVkSPIRVShader and FFVkPipeline into FFVkShader

2024-09-29 Thread Lynne via ffmpeg-devel
Pipelines are just shaders. There's no reason to treat them differently. This also lets us implement shader objects and is an overall cleanup. --- libavfilter/vf_avgblur_vulkan.c | 28 +- libavfilter/vf_blend_vulkan.c | 24 +- libavfilter/vf_bwdif_vulkan.c | 29 +- libavfilter/vf_chro

[FFmpeg-devel] [PATCH 3/5] vulkan: use shader objects if supported

2024-09-29 Thread Lynne via ffmpeg-devel
Shader objects finally allow completely independent shaders. --- libavutil/vulkan.c | 51 +++--- libavutil/vulkan.h | 5 ++--- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 71581b91a9..8b1c1eb7

[FFmpeg-devel] [PATCH 2/5] vulkan: move shader data execution state to execution pools

2024-09-29 Thread Lynne via ffmpeg-devel
This finally permits using fully compiled shaders across multiple execution contexts. --- libavutil/vulkan.c | 157 + libavutil/vulkan.h | 81 ++- 2 files changed, 153 insertions(+), 85 deletions(-) diff --git a/libavutil/vulkan.c b

[FFmpeg-devel] [PATCH 5/5] vulkan: check if current buffer has finished execution before picking another

2024-09-29 Thread Lynne via ffmpeg-devel
This saves resources, as dependencies are freed/reclaimed with a lower latency, and provies a speedup. --- libavcodec/vulkan_decode.c | 4 ++-- libavcodec/vulkan_encode.c | 2 +- libavfilter/vf_nlmeans_vulkan.c | 2 +- libavfilter/vulkan_filter.c | 6 +++--- libavutil/hwcontext_v

[FFmpeg-devel] [PATCH 4/5] vulkan: always enable GL_EXT_scalar_block_layout

2024-09-29 Thread Lynne via ffmpeg-devel
This makes std430 (which we use everywhere already) fully match C layout. Extension was made mandatory in 1.2. --- libavutil/hwcontext_vulkan.c | 1 + libavutil/vulkan.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c inde

Re: [FFmpeg-devel] [RFC] 7.1 Release

2024-09-29 Thread Lynne via ffmpeg-devel
On 29/09/2024 02:09, Michael Niedermayer wrote: On Tue, Sep 24, 2024 at 05:47:54PM +0200, Michael Niedermayer wrote: On Wed, Aug 14, 2024 at 02:41:55PM +0200, Michael Niedermayer wrote: Hi all Are there any upcoming LTS releases that want to/could include FFmpeg 7.1 ? If so please reply here a

Re: [FFmpeg-devel] [PATCH] avformat/aeadec, avcodec/atrac1: Fix 8 and 4-channel ATRAC1 support

2024-09-29 Thread asivery via ffmpeg-devel
Pinging the patch. I've merged the fate test case patch into the functionality one, and rebased onto the current master. Here are the two sample files required by the FATE test: https://0x0.st/Xaw2.aea/boxboy333_house_music_multitrack.aea https://0x0.st/Xaw_.pcm/boxboy333_house_music_multitrack.pc

[FFmpeg-devel] [PATCH 1/3] hwcontext_vulkan: fix VUID-VkPhysicalDeviceImageFormatInfo2-usage-requiredbitmask

2024-09-19 Thread Lynne via ffmpeg-devel
fmt_props.usage was initialized to 0 as create_info.usage was set later. --- libavutil/hwcontext_vulkan.c | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index d6899df159..1de08c6181 100644 --- a/li

[FFmpeg-devel] [PATCH 3/3] hwcontext_vulkan: add support for implicit DRM synchronization

2024-09-19 Thread Lynne via ffmpeg-devel
More recent kernel versions allow for users to extract a sync_file handle from a DMA-BUF, which can then be imported into Vulkan as a binary semaphore. This finally allows for synchronization between Vulkan and DMA-BUF images, such as those from screen capture software, or VAAPI, avoiding any corr

[FFmpeg-devel] [PATCH 2/3] vulkan: add ff_vk_exec_add_dep_bool_sem

2024-09-19 Thread Lynne via ffmpeg-devel
This function simply takes in a binary semaphore as a dependency to an execution. --- libavutil/vulkan.c | 108 - libavutil/vulkan.h | 4 ++ 2 files changed, 102 insertions(+), 10 deletions(-) diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index

Re: [FFmpeg-devel] [PATCH 2/3] - libavcodec/aom_film_grain: Add apply_grain flag

2024-09-20 Thread Lynne via ffmpeg-devel
On 20/09/2024 02:44, Segall, Andrew via ffmpeg-devel wrote: Details: Add support for the apply_grain_flag. This allows the film grain process to be enabled/disabled for different display properties. On 9/8/24, 12:06 AM, "Andrew Segall" mailto:[email protected]>> wrote:

Re: [FFmpeg-devel] [PATCH] vulkan_encode: set the quality level in session parameters

2024-09-20 Thread Lynne via ffmpeg-devel
On 20/09/2024 13:33, Víctor Manuel Jáquez Leal wrote: While running this command ./ffmpeg_g -loglevel debug -hwaccel vulkan -init_hw_device vulkan=vk:0,debug=1 -hwaccel_output_format vulkan -i input.y4m -vf 'format=nv12,hwupload' -c:v h264_vulkan -quality 2 output.mp4 -y It hit this validatio

Re: [FFmpeg-devel] [PATCH] avcodec/cuviddec: Add handling HDR10+ sidedata on cuviddec.

2024-09-20 Thread Lynne via ffmpeg-devel
On 20/09/2024 20:41, Carlos Ruiz wrote: It's just that the cuviddec decoder is more of a relic, from before the native hwaccel existed. The only reason it's not straight up deprecated is that it's sometimes nice to have a "second opinion" when issues crop up, and there are a few specific features

Re: [FFmpeg-devel] PATCH] Make H.274 film grain support optional for H.264. Saves ~779kb.

2024-09-20 Thread Lynne via ffmpeg-devel
On 20/09/2024 20:51, Dale Curtis wrote: Were there any more comments for this patch? - dale On Tue, Aug 13, 2024 at 11:30 PM Christophe Gisquet < [email protected]> wrote: Hi, Le mar. 13 août 2024 à 23:39, Dale Curtis a écrit : On Tue, Aug 13, 2024 at 1:11 PM Hendrik Leppkes

Re: [FFmpeg-devel] [PATCH 2/3] - libavcodec/aom_film_grain: Add apply_grain flag

2024-09-20 Thread Lynne via ffmpeg-devel
On 20/09/2024 09:42, Segall, Andrew wrote: On 9/20/24, 12:15 AM, "ffmpeg-devel on behalf of Lynne via ffmpeg-devel" mailto:[email protected]> on behalf of [email protected] <mailto:[email protected]>> wrote: CAUTION: This email originat

Re: [FFmpeg-devel] [PATCH v2 1/3] avcodec: make a local copy of executor

2024-10-01 Thread Lynne via ffmpeg-devel
On 01/10/2024 08:55, Nuo Mi wrote: We still need several refactors to improve the current VVC decoder's performance, which will frequently break the API/ABI. To mitigate this, we've copied the executor from avutil to avcodec. Once the API/ABI is stable, we will move this class back to avutil -

Re: [FFmpeg-devel] [PATCH v2 1/3] avcodec: make a local copy of executor

2024-10-01 Thread Lynne via ffmpeg-devel
On 01/10/2024 09:51, Lynne via ffmpeg-devel wrote: On 01/10/2024 08:55, Nuo Mi wrote: We still need several refactors to improve the current VVC decoder's performance, which will frequently break the API/ABI. To mitigate this, we've copied the executor from avutil to avcodec. Once t

Re: [FFmpeg-devel] [External] Re: Question Regarding Removal of Blowfish from libavutil in FFmpeg

2024-10-02 Thread Lynne via ffmpeg-devel
On 02/10/2024 11:06, Kumar, Rahul via ffmpeg-devel wrote: Thank you for the prompt response. The primary reason for removing Blowfish from our codebase is to comply with modern security guidelines and industry standards that discourage the use of outdated cryptographic algorithms, like

Re: [FFmpeg-devel] [PATCH 1/2] configure: suggest installing nasm/yasm before using --disable-x86asm

2024-10-02 Thread Lynne via ffmpeg-devel
On 01/10/2024 15:24, vipyne wrote: --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index c8fb49a7a4..d178ef59dc 100755 --- a/configure +++ b/configure @@ -6460,7 +6460,7 @@ EOF for program in $x86asmexe nasm yasm; do

[FFmpeg-devel] [PATCH 1/5] configure: drop yasm support

2024-10-03 Thread Lynne via ffmpeg-devel
We started defauling to nasm 8 years ago. We are still compatible with yasm 0.8.0, released in 2009. **15 years ago**. The time has more than come to remove support for it. Maintaining compatibility started cutting into writing new code long ago. We still can't have 2-argument instructions, prepro

[FFmpeg-devel] [PATCH 2/5] Revert "x86/tx_float: change a condition in a preprocessor check"

2024-10-03 Thread Lynne via ffmpeg-devel
This reverts commit 0d8f43c74d0b1039ba70aacb4c9c7768e8bebf9f. --- libavutil/x86/tx_float.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm index 42006848f1..16165580a6 100644 --- a/libavutil/x86/tx_float.asm +++ b/libavu

[FFmpeg-devel] [PATCH 3/5] Revert "x86/tx_float: add missing preprocessor wrapper for AVX2 functions"

2024-10-03 Thread Lynne via ffmpeg-devel
This reverts commit 750f378becf15c0552c45a66a66aca7cc506d490. --- libavutil/x86/tx_float.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm index 16165580a6..570dcb4c9c 100644 --- a/libavutil/x86/tx_float.asm +++ b/libavu

[FFmpeg-devel] [PATCH 4/5] Revert "x86/tx_float: add missing check for AVX2"

2024-10-03 Thread Lynne via ffmpeg-devel
This reverts commit f4097e4c1f1bb244cae78c363a69d5e84495b616. --- libavutil/x86/tx_float.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm index 570dcb4c9c..cec7465d6e 100644 --- a/libavutil/x86/tx_float.asm +++ b/libavu

[FFmpeg-devel] [PATCH 5/5] Revert "x86/tx_float: set all operands for shufps"

2024-10-03 Thread Lynne via ffmpeg-devel
This reverts commit 74f5fb6db899dbc4fde9ccf77f37256ddcb9. --- libavutil/x86/tx_float.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm index cec7465d6e..434ca60aae 100644 --- a/libavutil/x86/tx_float.asm +++ b/li

[FFmpeg-devel] [PATCH 4/8] hwcontext_vulkan: move device feature struct setup to a new function

2024-10-02 Thread Lynne via ffmpeg-devel
--- libavutil/hwcontext_vulkan.c | 335 --- libavutil/vulkan_functions.h | 1 + 2 files changed, 156 insertions(+), 180 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 518c3d642b..9b6a6274e4 100644 --- a/libavutil/hwcon

[FFmpeg-devel] [PATCH 5/8] lavfi/*vulkan: forward FFVulkanContext to SPIR-V compilers

2024-10-02 Thread Lynne via ffmpeg-devel
We need to know what extensions are supported. --- libavfilter/vf_avgblur_vulkan.c | 2 +- libavfilter/vf_blend_vulkan.c | 2 +- libavfilter/vf_bwdif_vulkan.c | 2 +- libavfilter/vf_chromaber_vulkan.c | 2 +- libavfilter/vf_flip_vulkan.c | 2 +- libavfilter/vf_gblur_vulkan.c

[FFmpeg-devel] [PATCH 2/8] vulkan_functions: change extension type to a typedef uint64_t

2024-10-02 Thread Lynne via ffmpeg-devel
We were getting a bit too close for comfort to the 32-bit limit on enums. --- libavutil/vulkan_functions.h | 59 +++- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h index 90e4d0004d..c565d6

[FFmpeg-devel] [PATCH 3/8] hwcontext_vulkan: enable VK_KHR_shader_relaxed_extended_instruction

2024-10-02 Thread Lynne via ffmpeg-devel
--- libavutil/hwcontext_vulkan.c | 39 libavutil/vulkan_functions.h | 1 + libavutil/vulkan_loader.h| 1 + 3 files changed, 41 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index d6500de677..518c3d642b 100644 ---

[FFmpeg-devel] [PATCH 6/8] vulkan_glslang: add more stages, target Vulkan 1.3 and output debug info

2024-10-02 Thread Lynne via ffmpeg-devel
--- libavfilter/vulkan_glslang.c | 39 +--- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/libavfilter/vulkan_glslang.c b/libavfilter/vulkan_glslang.c index 7ac7d6b2c4..20a00354e0 100644 --- a/libavfilter/vulkan_glslang.c +++ b/libavfilter/vulkan_gls

[FFmpeg-devel] [PATCH 1/8] vulkan: always enable GL_EXT_scalar_block_layout

2024-10-02 Thread Lynne via ffmpeg-devel
This makes std430 (which we use everywhere already) fully match C layout. Extension was made mandatory in 1.2. --- libavutil/hwcontext_vulkan.c | 1 + libavutil/vulkan.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c inde

[FFmpeg-devel] [PATCH 8/8] vulkan: don't enable GL_EXT_buffer_reference by default

2024-10-02 Thread Lynne via ffmpeg-devel
Only nlmeans_vulkan uses it. --- libavfilter/vf_nlmeans_vulkan.c | 6 -- libavutil/vulkan.c | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_nlmeans_vulkan.c b/libavfilter/vf_nlmeans_vulkan.c index 9ad12eb7b6..39460dc194 100644 --- a/libavfilte

[FFmpeg-devel] [PATCH 7/8] vulkan_shaderc: add more stages, target Vulkan 1.3 and only output debug if needed

2024-10-02 Thread Lynne via ffmpeg-devel
--- libavfilter/vulkan_shaderc.c | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/libavfilter/vulkan_shaderc.c b/libavfilter/vulkan_shaderc.c index 56a2c0eef5..7144f04f21 100644 --- a/libavfilter/vulkan_shaderc.c +++ b/libavfilter/vulkan_shaderc.c @@ -4

Re: [FFmpeg-devel] [PATCH 2/2] libavcodec/ffv1: Support storing LSB raw

2024-10-15 Thread Lynne via ffmpeg-devel
On 16/10/2024 01:17, Michael Niedermayer wrote: This makes a 16bit RGB raw sample 25% faster at a 2% loss of compression with rawlsb=4 Please test and comment This stores the LSB through non binary range coding, this is simpler than using a separate coder For cases where range coding is not w

Re: [FFmpeg-devel] Discussion about mails from 9 years ago Was: [PATCH 1/2] doc/community: Add a standard set of rules for software development mailing lists

2024-11-24 Thread RaDSL via ffmpeg-devel
Hi all, On 11/24/2024 1:49 PM, James Almer wrote: On 11/24/2024 6:24 PM, Michael Niedermayer wrote: Hi On Sun, Nov 24, 2024 at 06:02:55PM -0300, James Almer wrote: On 11/24/2024 5:43 PM, Michael Niedermayer wrote: Hi On Sun, Nov 24, 2024 at 04:11:42PM -0300, James Almer wrote: On 11/24/202

Re: [FFmpeg-devel] [PATCH v3 10/10] ffv1enc: add a Vulkan encoder

2024-11-16 Thread Lynne via ffmpeg-devel
On 11/15/24 05:50, Lynne wrote: This commit implements a standard, compliant, version 3 and version 4 FFv1 encoder, entirely in Vulkan. The encoder is written in standard GLSL and requires a Vulkan 1.3 supporting GPU with the BDA extension. The encoder can use any amount of slices, but nominally

[FFmpeg-devel] [PATCH 1/2] ffv1enc_vulkan: switch to out of place encoding

2024-11-19 Thread Lynne via ffmpeg-devel
The issue is that the trial buffer for encoding needs to be really huge due to the possibility that encoding will require more space than it would take for the raw image data. Giving the framework the buffer directly is what we'd like, since the first slice is already in place, but the issue is th

[FFmpeg-devel] [PATCH 2/2] ffv1enc_vulkan: add support for RCT coefficient searching

2024-11-19 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc_vulkan.c| 268 - libavcodec/vulkan/Makefile | 4 +- libavcodec/vulkan/ffv1_enc_rct_search.comp | 139 +++ libavcodec/vulkan/ffv1_enc_setup.comp | 16 ++ 4 files changed, 422 insertions(+), 5 deletions(-) cr

[FFmpeg-devel] [PATCH v3 07/10] ffv1enc: expose ff_ffv1_write_extradata

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc.c | 6 -- libavcodec/ffv1enc.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 0ef26db30a..8c0f649b8d 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -393,8 +393,10 @@ static void wri

[FFmpeg-devel] [PATCH v3 04/10] vulkan: fix printing descriptors to shader for shaders with no descriptors

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavutil/vulkan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 159165a19d..2813bc1af9 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -2135,7 +2135,7 @@ print: /* Write shader info */ for (int i = 0; i

[FFmpeg-devel] [PATCH v3 01/10] hwcontext_vulkan: explicitly wait when uploading

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavutil/hwcontext_vulkan.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 0b52ad5112..0c9047f4c6 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -4200,13 +4200,1

[FFmpeg-devel] [PATCH v3 10/10] ffv1enc: add a Vulkan encoder

2024-11-14 Thread Lynne via ffmpeg-devel
This commit implements a standard, compliant, version 3 and version 4 FFv1 encoder, entirely in Vulkan. The encoder is written in standard GLSL and requires a Vulkan 1.3 supporting GPU with the BDA extension. The encoder can use any amount of slices, but nominally, should use 32x32 slices (1024 in

[FFmpeg-devel] [PATCH v3 02/10] hwcontext_vulkan: fix planar RGB images

2024-11-14 Thread Lynne via ffmpeg-devel
They were non-working for quite a while. --- libavutil/hwcontext_vulkan.c | 25 + libavutil/vulkan.c | 27 --- libavutil/vulkan.h | 5 + 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/libavutil/hwcontext_vul

[FFmpeg-devel] [PATCH v3 05/10] .gitignore: add exclusions for shader .c files

2024-11-14 Thread Lynne via ffmpeg-devel
--- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index e810d11107..9cfc78b414 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ /src /mapfile /tools/python/__pycache__/ +/libavcodec/vulkan/*.c +/libavfilter/vulkan/*.c -- 2.45.2.753.g447d99e1

[FFmpeg-devel] [PATCH v3 08/10] ffv1enc: move plane info init into a separate function

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc.c | 39 ++- libavcodec/ffv1enc.h | 2 ++ 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 8c0f649b8d..f8fbcb7486 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.

[FFmpeg-devel] [PATCH v3 03/10] vulkan: add support for 10-bit planar RGB

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavutil/hwcontext_vulkan.c | 1 + libavutil/vulkan.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index c4704a3402..0a176a7058 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -327,

[FFmpeg-devel] [PATCH v3 06/10] ffv1enc: split off encoder initialization into a separate function

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc.c | 401 ++- libavcodec/ffv1enc.h | 30 2 files changed, 240 insertions(+), 191 deletions(-) create mode 100644 libavcodec/ffv1enc.h diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 7a6c718b41..0ef26db30a 100644 -

[FFmpeg-devel] [PATCH v3 09/10] ffv1enc: move slice allocation out of generic encode init

2024-11-14 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc.c | 48 ++-- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index f8fbcb7486..032c69a060 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -739,32 +739,8 @@ av_

[FFmpeg-devel] [PATCH] hwcontext_vulkan: add support for AV_PIX_FMT_GBRP16

2024-11-20 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc_vulkan.c | 5 - libavcodec/vulkan/ffv1_enc_rct.comp | 6 +++--- libavutil/hwcontext_vulkan.c| 7 +-- libavutil/vulkan.c | 3 ++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/libavcodec/ffv1enc_vulkan.c b/libavcodec/

[FFmpeg-devel] [PATCH 1/6] hwcontext_vulkan: add support for AV_PIX_FMT_GBRP12/14/16

2024-11-23 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc_vulkan.c | 7 +-- libavcodec/vulkan/ffv1_enc_rct.comp | 6 +++--- libavutil/hwcontext_vulkan.c| 9 +++-- libavutil/vulkan.c | 6 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/libavcodec/ffv1enc_vulkan.c b/liba

[FFmpeg-devel] [PATCH 2/6] hwcontext_vulkan: add support for AV_PIX_FMT_GRAY10/12/14

2024-11-23 Thread Lynne via ffmpeg-devel
--- libavutil/hwcontext_vulkan.c | 3 +++ libavutil/vulkan.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 539b83cc91..7f5a74dd38 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -3

[FFmpeg-devel] [PATCH 6/6] ffv1enc_vulkan: switch to receive_packet

2024-11-23 Thread Lynne via ffmpeg-devel
This allows the encoder to fully saturate all queues the GPU has, giving a good 10% in certain cases and resolutions. This also improves error resilience if an allocation fails, and properly cleans up after itself if it does. --- libavcodec/ffv1enc_vulkan.c | 421 ++--

[FFmpeg-devel] [PATCH 5/6] ffv1enc_vulkan: remove arbitrary limitation of the number of slices

2024-11-23 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc_vulkan.c | 19 +++ 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/libavcodec/ffv1enc_vulkan.c b/libavcodec/ffv1enc_vulkan.c index 7021f27572..12e95d1cb5 100644 --- a/libavcodec/ffv1enc_vulkan.c +++ b/libavcodec/ffv1enc_vulkan.c @@ -1388,13 +13

[FFmpeg-devel] [PATCH 4/6] vulkan: only apply shortcut for next context selection if selection has a submission

2024-11-23 Thread Lynne via ffmpeg-devel
--- libavutil/vulkan.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 790f2e5aa4..591f85bbf1 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -494,7 +494,8 @@ FFVkExecContext *ff_vk_exec_get(FFVulkanContext *s, FFVkEx

[FFmpeg-devel] [PATCH 3/6] vulkan: add opaque field to execution contexts

2024-11-23 Thread Lynne via ffmpeg-devel
Helps keep track of what dispatch happened where. --- libavutil/vulkan.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/vulkan.h b/libavutil/vulkan.h index 9b46a279ca..ec20d1ef56 100644 --- a/libavutil/vulkan.h +++ b/libavutil/vulkan.h @@ -121,6 +121,9 @@ typedef struct FFVkExecC

Re: [FFmpeg-devel] [PATCH 6/6] ffv1enc_vulkan: switch to receive_packet

2024-11-23 Thread Lynne via ffmpeg-devel
On 11/23/24 23:10, Jerome Martinez wrote: Le 23/11/2024 à 20:58, Lynne via ffmpeg-devel a écrit : This allows the encoder to fully saturate all queues the GPU has, giving a good 10% in certain cases and resolutions. Using a RTX 4070: +50% (!!!) with 2K 10-bit content. +17% with 4K 16-bit

Re: [FFmpeg-devel] [RFC] libpostproc splitout

2024-11-26 Thread RaDSL via ffmpeg-devel
On 11/26/2024 6:25 AM, Nicolas George wrote: Jean-Baptiste Kempf (12024-11-26): Once again you attack people directly on threads. « your kind of » ≠ « you », please do not abuse code of conduct rules to silence discourse that you want to silence. It is part of the kind of governance that is ha

Re: [FFmpeg-devel] [PATCH 1/2] avcodec/ffv1enc: Add enum for qtable

2024-11-29 Thread Lynne via ffmpeg-devel
On 30/11/2024 04:33, Michael Niedermayer wrote: Signed-off-by: Michael Niedermayer --- libavcodec/ffv1enc.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index c96c71b1096..742db549e5f 100644 --- a/libavcodec/ff

Re: [FFmpeg-devel] [PATCH v2 3/6] ffv1enc: split off encoder initialization into a separate function

2024-11-13 Thread Lynne via ffmpeg-devel
On 11/14/24 00:46, Michael Niedermayer wrote: On Mon, Nov 11, 2024 at 04:40:15AM +0100, Lynne via ffmpeg-devel wrote: --- libavcodec/ffv1enc.c | 354 +++ libavcodec/ffv1enc.h | 30 2 files changed, 217 insertions(+), 167 deletions(-) create

Re: [FFmpeg-devel] [PATCH 6/6] ffv1enc_vulkan: switch to receive_packet

2024-11-24 Thread Lynne via ffmpeg-devel
On 11/24/24 16:51, Jerome Martinez wrote: Le 24/11/2024 à 04:41, Lynne via ffmpeg-devel a écrit : On 11/23/24 23:10, Jerome Martinez wrote: Le 23/11/2024 à 20:58, Lynne via ffmpeg-devel a écrit : This allows the encoder to fully saturate all queues the GPU has, giving a good 10% in certain

Re: [FFmpeg-devel] [PATCH] avcodec/vc2enc: Initial vulkan VC2 encoder

2024-11-29 Thread Lynne via ffmpeg-devel
On 30/11/2024 05:09, IndecisiveTurtle wrote: Implements a Vulkan based dirac encoder. Supports Haar and Legall wavelets and should work with all wavelet depths. Performance wise, encoding a 1080p 1-minute video is performed in about 2.5 minutes with the cpu encoder running on my Ryzen 5 4600H

Re: [FFmpeg-devel] [PATCH v2] avcodec/ffv1enc: Add enum for qtable

2024-12-01 Thread Lynne via ffmpeg-devel
On 02/12/2024 11:15, Michael Niedermayer wrote: Signed-off-by: Michael Niedermayer --- libavcodec/ffv1enc.c| 8 +++- libavcodec/ffv1enc.h| 6 ++ libavcodec/ffv1enc_vulkan.c | 8 +++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/libavcodec/ffv1

Re: [FFmpeg-devel] [PATCH 0/7] RFC: complete rework of s337m support

2024-12-05 Thread Lynne via ffmpeg-devel
On 04/12/2024 23:14, [email protected] wrote: From: Nicolas Gaullier I would like to have some feedback on this work before going on... I send this as an RFC, and so, I have not considered versioning, changelog, doc, deprecation schemes. More testing and testing by other people is also obviou

Re: [FFmpeg-devel] [ANNOUNCE] upcoming vote: TC election

2024-12-05 Thread Lynne via ffmpeg-devel
On 28/11/2024 23:29, Anton Khirnov wrote: Hi all, the current Technical Committee (TC) was elected on 2023-12-05 and its mandate lasts for one year, so we should hold a new election soon. If there are no unforeseen circumstances, I would like to start the vote on Monday 2024-12-09. As a reminder

Re: [FFmpeg-devel] [ANNOUNCE] upcoming vote: TC election

2024-12-07 Thread Lynne via ffmpeg-devel
On 06/12/2024 02:01, Lynne via ffmpeg-devel wrote: On 28/11/2024 23:29, Anton Khirnov wrote: Hi all, the current Technical Committee (TC) was elected on 2023-12-05 and its mandate lasts for one year, so we should hold a new election soon. If there are no unforeseen circumstances, I would like

Re: [FFmpeg-devel] [PATCH 1/4] avcodec/aac/aacdec: Free channel layout

2024-12-25 Thread Lynne via ffmpeg-devel
On 25/12/2024 13:26, Michael Niedermayer wrote: Fixes: 371445194/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-5981081124274176 Fixes: memleak Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niederma

Re: [FFmpeg-devel] [PATCH v2] avformat/http: Add max_request_size option

2025-01-02 Thread Lynne via ffmpeg-devel
On 02/01/2025 06:52, Nicolas Frattaroli wrote: In some cases, webservers may return content more quickly if one sends many small requests rather than one big request. Clients may wish to opt-in to this workaround. For this purpose, add a max_request_size AVOption, which returns EOF if max_reques

Re: [FFmpeg-devel] [PATCH] configure: update copyright year

2025-01-01 Thread Lynne via ffmpeg-devel
On 01/01/2025 19:05, Peter Ross wrote: On Wed, Jan 01, 2025 at 06:03:51PM +0900, Lynne via ffmpeg-devel wrote: --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 0a7ce31e09..6c1829ab8e 100755 --- a/configure +++ b/configure

[FFmpeg-devel] [QUESTION] Understanding `fill_decode_neighbors` and `fill_decode_caches` in H.264 Decoding

2024-12-27 Thread xu via ffmpeg-devel
Hello FFmpeg developers, I am currently studying FFmpeg's H.264 decoding implementation and have encountered some challenges in understanding parts of the code, particularly the functions `fill_decode_neighbors` and `fill_decode_caches`. 1, In the `fill_decode_neighbors` function, there is a

Re: [FFmpeg-devel] [PATCH] avutil/vulkan_glslang: Fix build failure

2024-12-16 Thread Lynne via ffmpeg-devel
On 16/12/2024 20:55, Zhao Zhili wrote: From: Zhao Zhili compile_only was added since glslang 13.1.0. --- libavutil/vulkan_glslang.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavutil/vulkan_glslang.c b/libavutil/vulkan_glslang.c index 9e1b8f4d8d..9e7a33223b 100644 --- a/libavuti

Re: [FFmpeg-devel] [PATCH] avutil/vulkan_glslang: Fix build failure

2024-12-16 Thread Lynne via ffmpeg-devel
On 17/12/2024 11:42, Zhao Zhili wrote: On Dec 17, 2024, at 09:12, Lynne via ffmpeg-devel wrote: On 16/12/2024 20:55, Zhao Zhili wrote: From: Zhao Zhili compile_only was added since glslang 13.1.0. --- libavutil/vulkan_glslang.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a

Re: [FFmpeg-devel] [PATCH] avutil/vulkan_glslang: Fix build failure

2024-12-16 Thread Lynne via ffmpeg-devel
On 17/12/2024 12:04, Lynne via ffmpeg-devel wrote: On 17/12/2024 11:42, Zhao Zhili wrote: On Dec 17, 2024, at 09:12, Lynne via ffmpeg-devel [email protected]> wrote: On 16/12/2024 20:55, Zhao Zhili wrote: From: Zhao Zhili compile_only was added since glslang 13.1.0. ---   libavu

Re: [FFmpeg-devel] [PATCH v2] avutil/vulkan_glslang: Fix build failure

2024-12-17 Thread Lynne via ffmpeg-devel
On 17/12/2024 15:55, Zhao Zhili wrote: From: Zhao Zhili compile_only isn't available until 13.1.0. Let default initialization set it to zero, so the code works with version before and after 13.1.0. --- libavutil/vulkan_glslang.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --g

Re: [FFmpeg-devel] [PATCH] configure: add iso_writer golomb dependency

2024-12-17 Thread Lynne via ffmpeg-devel
On 18/12/2024 14:40, Peter Ross wrote: On Wed, Dec 18, 2024 at 02:28:26PM +0900, Lynne via ffmpeg-devel wrote: On 16/12/2024 20:00, Peter Ross wrote: since commit fce0622d0b1f69a85fe8ce61e1189dd57a8b0fcc, libavformat/hevc.c depends on golomb vlc tables. --- i often build with --disable-all

Re: [FFmpeg-devel] [PATCH] configure: add iso_writer golomb dependency

2024-12-17 Thread Lynne via ffmpeg-devel
On 16/12/2024 20:00, Peter Ross wrote: since commit fce0622d0b1f69a85fe8ce61e1189dd57a8b0fcc, libavformat/hevc.c depends on golomb vlc tables. --- i often build with --disable-all and only turn on the components that i am working on. this dependency would otherwise go unnoticed since many codec

[FFmpeg-devel] [PATCH] vulkan_decode: support software-defined decoders

2024-12-18 Thread Lynne via ffmpeg-devel
--- libavcodec/vulkan_decode.c | 118 +++-- libavcodec/vulkan_decode.h | 8 +++ 2 files changed, 83 insertions(+), 43 deletions(-) diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c index 4665a330ef..60ffdf7b38 100644 --- a/libavcodec/vulkan_dec

Re: [FFmpeg-devel] [PATCH] configure: add option to statically link to libvulkan

2024-12-18 Thread Lynne via ffmpeg-devel
On 19/12/2024 00:05, Leo Izen wrote: On 12/18/24 3:46 AM, Lynne via ffmpeg-devel wrote: This may be useful in weird setups and on platforms where static linking to libvulkan is supported. libplacebo also has this fallback. --- I'm going to ask the classic "Why would you want

[FFmpeg-devel] [PATCH 4/5] vulkan: do not NIH a queue context

2024-12-18 Thread Lynne via ffmpeg-devel
We recently introduced a public field which was a superset of the queue context we used to have. Switch to using it entirely. This also allows us to get rid of the NIH function just for video implementations. --- libavcodec/ffv1enc_vulkan.c | 18 libavcodec/vulkan_decode.c

[FFmpeg-devel] [PATCH 2/5] vulkan_decode: use a single execution pool

2024-12-18 Thread Lynne via ffmpeg-devel
Originally, the decoder had a single execution pool, with one execution context per thread. Execution pools were always intended to be thread-safe, as long as there were enough execution contexts in the pool to satisfy all threads. Due to synchronization issues, the threading part was removed at s

[FFmpeg-devel] [PATCH 1/5] hwcontext_vulkan: disable validation layer threading warnings

2024-12-18 Thread Lynne via ffmpeg-devel
The layer is buggy currently: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/9045 --- libavutil/hwcontext_vulkan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 5601ef4d9e..6eca097ea3 100644 --- a/libavutil/hwc

[FFmpeg-devel] [PATCH 3/5] vulkan: remove pointless mutex locks

2024-12-18 Thread Lynne via ffmpeg-devel
This code was simply incorrect through and through. It did not protect what actually has to be protected in a multi-threaded setup. Perhaps it was used to silence threading errors? Either way, remove it, and document the correct way to use execution pools in a threaded environment. --- libavutil/

[FFmpeg-devel] [PATCH 5/5] vulkan_decode: add queue_flags field to specify queue used

2024-12-18 Thread Lynne via ffmpeg-devel
--- libavcodec/vulkan_av1.c| 1 + libavcodec/vulkan_decode.c | 2 +- libavcodec/vulkan_decode.h | 1 + libavcodec/vulkan_h264.c | 1 + libavcodec/vulkan_hevc.c | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c index 29060

[FFmpeg-devel] [PATCH] configure: add option to statically link to libvulkan

2024-12-18 Thread Lynne via ffmpeg-devel
This may be useful in weird setups and on platforms where static linking to libvulkan is supported. libplacebo also has this fallback. --- configure| 7 ++- libavutil/hwcontext_vulkan.c | 9 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/configure

Re: [FFmpeg-devel] [PATCH] vulkan_decode: support software-defined decoders

2024-12-18 Thread Lynne via ffmpeg-devel
On 18/12/2024 20:13, Anton Khirnov wrote: Quoting Lynne via ffmpeg-devel (2024-12-18 10:07:51) vulkan_decode: support software-defined decoders --- libavcodec/vulkan_decode.c | 118 +++-- libavcodec/vulkan_decode.h | 8 +++ 2 files changed, 83 insertions

[FFmpeg-devel] [PATCH] ffv1dec: add support for hardware acceleration

2024-12-19 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1.h| 2 + libavcodec/ffv1dec.c | 451 +-- 2 files changed, 268 insertions(+), 185 deletions(-) diff --git a/libavcodec/ffv1.h b/libavcodec/ffv1.h index ca03fd2b10..93174bd45e 100644 --- a/libavcodec/ffv1.h +++ b/libavcodec/ffv1.h @@

Re: [FFmpeg-devel] [PATCH] ffv1enc_vulkan: remove arbitrary limitation of the number of slices

2024-11-21 Thread Lynne via ffmpeg-devel
On 11/21/24 23:13, Jerome Martinez wrote: Le 21/11/2024 à 20:02, Lynne via ffmpeg-devel a écrit : +    if (f->num_h_slices <= 0 && f->num_v_slices <= 0) {   f->num_h_slices = 32; -    if (f->num_v_slices <= 0)   f->num_v_sl

[FFmpeg-devel] [PATCH] ffv1enc_vulkan: remove arbitrary limitation of the number of slices

2024-11-21 Thread Lynne via ffmpeg-devel
--- libavcodec/ffv1enc_vulkan.c | 23 +-- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/libavcodec/ffv1enc_vulkan.c b/libavcodec/ffv1enc_vulkan.c index a3c10524fe..b37c24484f 100644 --- a/libavcodec/ffv1enc_vulkan.c +++ b/libavcodec/ffv1enc_vulkan.c @@ -1437,13

Re: [FFmpeg-devel] [PATCH v3 10/10] ffv1enc: add a Vulkan encoder

2024-11-17 Thread Lynne via ffmpeg-devel
On 11/17/24 13:38, Jerome Martinez wrote: Le 17/11/2024 à 01:19, Lynne via ffmpeg-devel a écrit : I'll push the patchset tomorrow if there are no more comments to fix. As it silently creates bad streams with some pix_fmts, please mandate -strict -2 for the moment. I would like to

Re: [FFmpeg-devel] [PATCH v2] avcodec/hw_base_encode: restrict size of next_prev

2024-12-22 Thread Lynne via ffmpeg-devel
On 22/12/2024 17:24, Lynne via ffmpeg-devel wrote: On 22/12/2024 05:25, Benjamin Cheng via ffmpeg-devel wrote: Some drivers are more strict about the size of the reference lists given (i.e. VAOn12 [1]). The next_prev list is used to handle multiple "L0" references in AV1 encode. Re

Re: [FFmpeg-devel] [PATCH 5/5] vulkan_decode: add queue_flags field to specify queue used

2024-12-22 Thread Lynne via ffmpeg-devel
On 18/12/2024 17:16, Lynne wrote: --- libavcodec/vulkan_av1.c| 1 + libavcodec/vulkan_decode.c | 2 +- libavcodec/vulkan_decode.h | 1 + libavcodec/vulkan_h264.c | 1 + libavcodec/vulkan_hevc.c | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/vulkan_a

[FFmpeg-devel] Seek to the specified position takes a long time

2025-01-20 Thread zjd via ffmpeg-devel
The current issue is that when dealing with a long interval between keyframes, seeking to a specified position takes a considerable amount of time. Please provide possible solutions ___ ffmpeg-devel mailing list [email protected] https://ffmpeg.or

[FFmpeg-devel] [PATCH] configure: update copyright year

2025-01-01 Thread Lynne via ffmpeg-devel
--- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 0a7ce31e09..6c1829ab8e 100755 --- a/configure +++ b/configure @@ -8230,7 +8230,7 @@ cat > $TMPH

[FFmpeg-devel] [PATCH 3/3] vulkan_decode: remove informative queries

2025-01-01 Thread Lynne via ffmpeg-devel
We queried the decoder whether it was able to decode sucessfully, but since we operated asynchronously, we weren't able to do anything with this information but let the user know decoding failed for the previous frame(s). Since we parse the slice headers ourselves and we're reasonably sure we can

[FFmpeg-devel] [PATCH 2/3] ffv1enc_vulkan: allow setting the number of slices via -slices

2025-01-01 Thread Lynne via ffmpeg-devel
Falls back to the exact same code the software encoder uses. --- libavcodec/ffv1enc.c| 4 ++-- libavcodec/ffv1enc.h| 1 + libavcodec/ffv1enc_vulkan.c | 10 -- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index

[FFmpeg-devel] [PATCH 1/3] hwcontext_vulkan: add VK_EXT_layer_settings to optional instance extensions

2025-01-01 Thread Lynne via ffmpeg-devel
The issue is that some compilers complain if a struct or array is empty. This extension does nothing by default, and can be useful, so just add it to keep the array non-empty. --- libavutil/hwcontext_vulkan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/hwcontext_vulkan.c b/libav

Re: [FFmpeg-devel] [PATCH v2] avcodec/hw_base_encode: restrict size of next_prev

2024-12-22 Thread Lynne via ffmpeg-devel
On 22/12/2024 05:25, Benjamin Cheng via ffmpeg-devel wrote: Some drivers are more strict about the size of the reference lists given (i.e. VAOn12 [1]). The next_prev list is used to handle multiple "L0" references in AV1 encode. Restrict the size of next_prev based on the value of r

[FFmpeg-devel] [PATCH] FFMPEG: add graph reconfig capability

2025-03-25 Thread yangyalei050 via ffmpeg-devel
From: yangyalei <[email protected]> 1. Support reuse the graph to play different audio. 2. Support config part of the graph. Signed-off-by: yangyalei <[email protected]> --- libavfilter/avfilter.c | 8 +- libavfilter/avfiltergraph.c | 201 2 files change

Re: [FFmpeg-devel] [PATCH] FFMPEG: add graph reconfig capability

2025-03-25 Thread yangyalei via ffmpeg-devel
In the avfiltergraph of FFmpeg, it is required that all filters within the graph can obtain a format and successfully negotiate for data flow. So, is it allowed for the graph to contain filters that cannot obtain a format? Can these filters be ignored during format negotiation, allowing only th

Re: [FFmpeg-devel] [PATCH] FFMPEG: add graph reconfig capability

2025-03-25 Thread yangyalei via ffmpeg-devel
Sorry for garbled, reissued as follows. In the avfiltergraph of FFmpeg, it is required that all filters within the graph can obtain a format and successfully negotiate for data flow. So, is it allowed for the graph to contain filters that cannot obtain a format? Can these filters be ignored d

Re: [FFmpeg-devel] [PATCH] FFMPEG: add graph reconfig capability

2025-03-25 Thread yangyalei via ffmpeg-devel
Sorry for garbled, reissued as follows. In the avfiltergraph of FFmpeg, it is required that all filters within the graph can obtain a format and successfully negotiate for data flow. So, is it allowed for the graph to contain filters that cannot obtain a format? Can these filters be ignored d

[FFmpeg-devel] ?????? [PATCH] avfilter: Proof of Concept: enable out-of-tree filters

2025-03-25 Thread yangyalei via ffmpeg-devel
Sorry for garbled, reissued as follows. In the avfiltergraph of FFmpeg, it is required that all filters within the graph can obtain a format and successfully negotiate for data flow. So, is it allowed for the graph to contain filters that cannot obtain a format? Can these filters be ignored d

<    1   2   3   4   5   6   7   8   9   10   >