This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit a7ebeb2bec722c1d6686d2742980c075a72c1db8 Author: Lynne <[email protected]> AuthorDate: Tue Aug 18 13:55:47 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Tue Aug 18 13:58:14 2026 +0900 vulkan/ffv1: decode the extra Bayer gm bit on pre-4.8 streams Mirror of the RGB fix: the hardcoded gm width matched 4.8+ only, garbling valid 4.3..4.7 Bayer streams. FFmpeg's encoders always stamp Bayer with 4.10, so only external streams were affected. --- libavcodec/vulkan/ffv1_dec.comp.glsl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/vulkan/ffv1_dec.comp.glsl b/libavcodec/vulkan/ffv1_dec.comp.glsl index 9ad2ec2442..8e52ac2aeb 100644 --- a/libavcodec/vulkan/ffv1_dec.comp.glsl +++ b/libavcodec/vulkan/ffv1_dec.comp.glsl @@ -363,10 +363,13 @@ void decode_slice(in SliceContext sc, uint slice_idx) sp.x >>= 1; sp.y = int(gl_WorkGroupID.y)*rgb_linecache; /* c_bits = bps + 1 (the +1 is for is_rgb). For PCM mode, all planes use - * raw bps. For non-PCM, gm uses bps; gd/b-gm/r-gm use bps+1. */ - if (sc.slice_coding_mode == 0) + * raw bps. For non-PCM, gm uses bps (bps+1 before 4.8, which coded an + * extra bit); gd/b-gm/r-gm use bps+1. */ + if (sc.slice_coding_mode == 0) { bits = u16vec4(c_bits - 1, c_bits, c_bits, c_bits); - else + if (version == 4 && micro_version < 8) + bits[0] = uint16_t(c_bits); + } else bits = u16vec4(c_bits - 1, c_bits - 1, c_bits - 1, c_bits - 1); #elif defined(RGB) sp.y = int(gl_WorkGroupID.y)*rgb_linecache; -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
