[FFmpeg-cvslog] lavc/vaapi_hevc: Loose the restricts for SCC decoding

Linjie Fu git at videolan.org
Mon Feb 27 07:56:20 EET 2023


ffmpeg | branch: master | Linjie Fu <linjie.fu at intel.com> | Thu Feb 16 13:46:37 2023 +0800| [6489e0679d0b073dabf0e5b5c8ed5418cdeeea44] | committer: Haihao Xiang

lavc/vaapi_hevc: Loose the restricts for SCC decoding

Allow current picture as the reference picture.

Signed-off-by: Linjie Fu <linjie.justin.fu at gmail.com>
Signed-off-by: Fei Wang <fei.w.wang at intel.com>

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

 libavcodec/vaapi_hevc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vaapi_hevc.c b/libavcodec/vaapi_hevc.c
index a06785f7a6..0e5da15e53 100644
--- a/libavcodec/vaapi_hevc.c
+++ b/libavcodec/vaapi_hevc.c
@@ -104,7 +104,8 @@ static void fill_vaapi_reference_frames(const HEVCContext *h, VAPictureParameter
         const HEVCFrame *frame = NULL;
 
         while (!frame && j < FF_ARRAY_ELEMS(h->DPB)) {
-            if (&h->DPB[j] != current_picture && (h->DPB[j].flags & (HEVC_FRAME_FLAG_LONG_REF | HEVC_FRAME_FLAG_SHORT_REF)))
+            if ((&h->DPB[j] != current_picture || h->ps.pps->pps_curr_pic_ref_enabled_flag) &&
+                (h->DPB[j].flags & (HEVC_FRAME_FLAG_LONG_REF | HEVC_FRAME_FLAG_SHORT_REF)))
                 frame = &h->DPB[j];
             j++;
         }



More information about the ffmpeg-cvslog mailing list