PR #21630 opened by Valerii Zapodovnikov (Balling)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21630
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21630.patch

Signed-off-by: Valerii Zapodovnikov <[email protected]>


See issue #11551.


>From 90447b420fdc2b2a693623ecccdefe5e5845ec59 Mon Sep 17 00:00:00 2001
From: Valerii Zapodovnikov <[email protected]>
Date: Tue, 3 Feb 2026 00:42:35 +0300
Subject: [PATCH] avcodec/hevc/hevcdec: take into account YUV400 in block
 length

Signed-off-by: Valerii Zapodovnikov <[email protected]>
---
 libavcodec/hevc/hevcdec.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 531d1c26f3..fd8e269a8c 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -1668,10 +1668,11 @@ static int hls_pcm_sample(HEVCLocalContext *lc, const 
HEVCLayerContext *l,
     uint8_t *dst1 = &s->cur_frame->f->data[1][(y0 >> sps->vshift[1]) * stride1 
+ ((x0 >> sps->hshift[1]) << sps->pixel_shift)];
     uint8_t *dst2 = &s->cur_frame->f->data[2][(y0 >> sps->vshift[2]) * stride2 
+ ((x0 >> sps->hshift[2]) << sps->pixel_shift)];
 
-    int length         = cb_size * cb_size * sps->pcm.bit_depth +
-                         (((cb_size >> sps->hshift[1]) * (cb_size >> 
sps->vshift[1])) +
-                          ((cb_size >> sps->hshift[2]) * (cb_size >> 
sps->vshift[2]))) *
-                          sps->pcm.bit_depth_chroma;
+    int length = cb_size * cb_size * sps->pcm.bit_depth +
+           sps->chroma_format_idc != 0 ? (
+        (((cb_size >> sps->hshift[1]) * (cb_size >> sps->vshift[1])) +
+        ((cb_size >> sps->hshift[2]) * (cb_size >> sps->vshift[2]))) *
+        sps->pcm.bit_depth_chroma : 0 );
     const uint8_t *pcm = skip_bytes(&lc->cc, (length + 7) >> 3);
     int ret;
 
-- 
2.52.0

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

Reply via email to