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

Git pushed a commit to branch master
in repository ffmpeg.

commit 173eb83c152186dabbc136764b7de1d3003b4c77
Author:     Lynne <[email protected]>
AuthorDate: Mon Aug 10 14:46:31 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Sat Aug 15 18:02:17 2026 +0900

    vulkan_encode_h264: signal High profile syntax only where the profile 
permits it
    
    The capability flags only mean the implementation supports the syntax:
    baseline and main profiles prohibit the PPS extension and scaling
    matrices, and setting them on drivers advertising support made CBS
    reject the headers, as transform_8x8_mode_flag must match its inferred
    value.
    
    Fixes #21022.
---
 libavcodec/vulkan_encode_h264.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/libavcodec/vulkan_encode_h264.c b/libavcodec/vulkan_encode_h264.c
index 30515dc2be..a1b8d30ede 100644
--- a/libavcodec/vulkan_encode_h264.c
+++ b/libavcodec/vulkan_encode_h264.c
@@ -834,12 +834,16 @@ static av_cold int init_sequence_headers(AVCodecContext 
*avctx)
     if (err < 0)
         return err;
 
-    units->raw_sps.seq_scaling_matrix_present_flag =
-        !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR);
-    units->raw_pps.pic_scaling_matrix_present_flag =
-        !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR);
-    units->raw_pps.transform_8x8_mode_flag =
-        !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR);
+    /* High profile syntax: the capabilities only signal implementation
+     * support, lesser profiles prohibit these outright */
+    if (units->raw_pps.more_rbsp_data) {
+        units->raw_sps.seq_scaling_matrix_present_flag =
+            !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR);
+        units->raw_pps.pic_scaling_matrix_present_flag =
+            !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR);
+        units->raw_pps.transform_8x8_mode_flag =
+            !!(enc->caps.stdSyntaxFlags & 
VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR);
+    }
 
     return 0;
 }

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

Reply via email to