This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit b9c19c9073c747f23d555cf68c1a4ca47c66461d
Author:     Lynne <[email protected]>
AuthorDate: Sat Feb 14 17:14:35 2026 +0100
Commit:     Lynne <[email protected]>
CommitDate: Thu Feb 19 19:42:35 2026 +0100

    ffv1enc_vulkan: use direct values rather than reading from struct
    
    This saves indirection and allows compilers to eliminate more
    code during compilation.
---
 libavcodec/vulkan/ffv1_enc.comp.glsl       |  7 +++----
 libavcodec/vulkan/ffv1_enc_setup.comp.glsl | 10 +++++-----
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/libavcodec/vulkan/ffv1_enc.comp.glsl 
b/libavcodec/vulkan/ffv1_enc.comp.glsl
index cde9b941bd..d18259274c 100644
--- a/libavcodec/vulkan/ffv1_enc.comp.glsl
+++ b/libavcodec/vulkan/ffv1_enc.comp.glsl
@@ -260,7 +260,7 @@ void encode_slice(in SliceContext sc, uint slice_idx)
 #endif
 
 #ifndef GOLOMB
-    if (sc.slice_coding_mode == 1) {
+    if (force_pcm) {
 #ifndef RGB
         for (int c = 0; c < color_planes; c++) {
 
@@ -287,7 +287,6 @@ void encode_slice(in SliceContext sc, uint slice_idx)
     }
 #endif
 
-    u8vec4 quant_table_idx = sc.quant_table_idx.xyyz;
     u32vec4 slice_state_off = (slice_idx*codec_planes +
                                uvec4(0, 1, 1, 2))*plane_state_size;
 
@@ -309,7 +308,7 @@ void encode_slice(in SliceContext sc, uint slice_idx)
 
         for (int y = 0; y < h; y++)
             encode_line(sc, src[p], slice_state_off[c], sp, y, p,
-                        comp, quant_table_idx[c], run_index);
+                        comp, U8(context_model), run_index);
     }
 #else
     int run_index = 0;
@@ -319,7 +318,7 @@ void encode_slice(in SliceContext sc, uint slice_idx)
         for (uint c = 0; c < color_planes; c++)
             encode_line(sc, tmp, slice_state_off[c],
                         sp, y, 0, rgb_plane_order[c],
-                        quant_table_idx[c], run_index);
+                        U8(context_model), run_index);
     }
 #endif
 }
diff --git a/libavcodec/vulkan/ffv1_enc_setup.comp.glsl 
b/libavcodec/vulkan/ffv1_enc_setup.comp.glsl
index 4537cb7b58..4350b34b5e 100644
--- a/libavcodec/vulkan/ffv1_enc_setup.comp.glsl
+++ b/libavcodec/vulkan/ffv1_enc_setup.comp.glsl
@@ -45,7 +45,7 @@ void init_slice(inout SliceContext sc, uint slice_idx)
     sc.slice_reset_contexts = sc.slice_coding_mode == 1;
     sc.quant_table_idx = u8vec3(context_model);
 
-    if (!rct_search || (sc.slice_coding_mode == 1))
+    if (!rct_search || force_pcm)
         sc.slice_rct_coef = ivec2(1, 1);
 
     rac_init(slice_idx*slice_size_max, slice_size_max);
@@ -83,7 +83,7 @@ void write_slice_header(inout SliceContext sc)
 
     [[unroll]]
     for (int i = 0; i < codec_planes; i++)
-        hdr_sym[4 + i] = sc.quant_table_idx[i];
+        hdr_sym[4 + i] = context_model;
 
     hdr_sym[nb_hdr_sym - 3] = pic_mode;
     hdr_sym[nb_hdr_sym - 2] = sar.x;
@@ -93,9 +93,9 @@ void write_slice_header(inout SliceContext sc)
         put_usymbol(hdr_sym[i]);
 
     if (version >= 4) {
-        put_rac(rc_state[0], sc.slice_reset_contexts);
-        put_usymbol(sc.slice_coding_mode);
-        if (sc.slice_coding_mode != 1 && colorspace == 1) {
+        put_rac(rc_state[0], force_pcm);
+        put_usymbol(uint(force_pcm));
+        if (!force_pcm && colorspace == 1) {
             put_usymbol(sc.slice_rct_coef.y);
             put_usymbol(sc.slice_rct_coef.x);
         }

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to