PR #21464 opened by David Rosca (nowrep)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21464
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21464.patch


>From b6282c39aa4edad528b0d9df6a45bcf637ee3f63 Mon Sep 17 00:00:00 2001
From: David Rosca <[email protected]>
Date: Wed, 14 Jan 2026 12:58:49 +0100
Subject: [PATCH] lavc/vaapi_h264: Set VA_PICTURE_H264_NON_EXISTING for invalid
 gaps

---
 libavcodec/vaapi_h264.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c
index 7f00da09fc..70279ab6d0 100644
--- a/libavcodec/vaapi_h264.c
+++ b/libavcodec/vaapi_h264.c
@@ -25,6 +25,11 @@
 #include "hwaccel_internal.h"
 #include "vaapi_decode.h"
 
+/* libva 2.24 */
+#ifndef VA_PICTURE_H264_NON_EXISTING
+#define VA_PICTURE_H264_NON_EXISTING        0x00000020
+#endif
+
 /**
  * @file
  * This file implements the glue code between FFmpeg's and VA API's
@@ -68,6 +73,8 @@ static void fill_vaapi_pic(VAPictureH264 *va_pic,
         va_pic->flags |= (pic_structure & PICT_TOP_FIELD) ? 
VA_PICTURE_H264_TOP_FIELD : VA_PICTURE_H264_BOTTOM_FIELD;
     if (pic->reference)
         va_pic->flags |= pic->long_ref ? VA_PICTURE_H264_LONG_TERM_REFERENCE : 
VA_PICTURE_H264_SHORT_TERM_REFERENCE;
+    if (pic->invalid_gap)
+        va_pic->flags |= VA_PICTURE_H264_NON_EXISTING;
 
     va_pic->TopFieldOrderCnt = 0;
     if (pic->field_poc[0] != INT_MAX)
-- 
2.49.1

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

Reply via email to