ffmpeg | branch: master | Fei Wang <fei.w.w...@intel.com> | Mon Jun 24 14:23:31 
2024 +0800| [71f802cdc9c290ab55f76cabbf872418a984b2ad] | committer: Fei Wang

lavc/hevcdec: Update slice index before hwaccel decode slice

Otherwise, slice index will never update for hwaccel decode, and slice
RPL will be always overlap into first one which use slice index to construct.

Fixes hwaccel decoding after 47d34ba7fbb81

Signed-off-by: Fei Wang <fei.w.w...@intel.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=71f802cdc9c290ab55f76cabbf872418a984b2ad
---

 libavcodec/hevc/hevcdec.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 35e6daf858..0e4b26dad3 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -2765,6 +2765,9 @@ static int decode_slice_data(HEVCContext *s, const 
H2645NAL *nal, GetBitContext
     const HEVCPPS *pps = s->pps;
     int ret;
 
+    if (!s->sh.first_slice_in_pic_flag)
+        s->slice_idx += !s->sh.dependent_slice_segment_flag;
+
     if (!s->sh.dependent_slice_segment_flag && s->sh.slice_type != 
HEVC_SLICE_I) {
         ret = ff_hevc_slice_rpl(s);
         if (ret < 0) {
@@ -2802,8 +2805,6 @@ static int decode_slice_data(HEVCContext *s, const 
H2645NAL *nal, GetBitContext
     s->local_ctx[0].tu.cu_qp_offset_cb = 0;
     s->local_ctx[0].tu.cu_qp_offset_cr = 0;
 
-    s->slice_idx += !s->sh.dependent_slice_segment_flag;
-
     if (s->avctx->active_thread_type == FF_THREAD_SLICE  &&
         s->sh.num_entry_point_offsets > 0                &&
         pps->num_tile_rows == 1 && pps->num_tile_columns == 1)

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to