iHD: Fix h264encode segfault

Following the 21.1.3 uprev, tests running h264encode were crashing.
Applying the unmodified patch from [1] fixes this crash. See additional
discussion on upstream issue [2].

[1] https://github.com/intel/media-driver/commit/08cbe4
[2] https://github.com/intel/media-driver/issues/1189

BUG=b:191785197
TEST=Verify tast tests pass.
     tast run ${DUT_IP} video.PlatformEncoding.vaapi_h264*

Change-Id: Ib382a3bd10572c72d415aac7ee32f21566e01ca8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2987893
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Tested-by: Miguel Casas <mcasas@chromium.org>
diff --git a/x11-libs/libva-intel-media-driver/files/0004-set-the-picture-flag-to-be-invalid-frame-if-the-ref-.patch b/x11-libs/libva-intel-media-driver/files/0004-set-the-picture-flag-to-be-invalid-frame-if-the-ref-.patch
new file mode 100644
index 0000000..1a13a69
--- /dev/null
+++ b/x11-libs/libva-intel-media-driver/files/0004-set-the-picture-flag-to-be-invalid-frame-if-the-ref-.patch
@@ -0,0 +1,28 @@
+From f14fd05d1a010b23e62ceb6e1dfff7908afde55d Mon Sep 17 00:00:00 2001
+From: XinfengZhang <carl.zhang@intel.com>
+Date: Tue, 15 Jun 2021 18:07:24 -0400
+Subject: [PATCH] set the picture flag to be invalid frame if the ref frame is
+ invalid
+
+fixes #1189
+
+Signed-off-by: XinfengZhang <carl.zhang@intel.com>
+---
+ media_driver/linux/common/codec/ddi/media_ddi_encode_avc.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/media_driver/linux/common/codec/ddi/media_ddi_encode_avc.cpp b/media_driver/linux/common/codec/ddi/media_ddi_encode_avc.cpp
+index f398467e..02453ab0 100644
+--- a/media_driver/linux/common/codec/ddi/media_ddi_encode_avc.cpp
++++ b/media_driver/linux/common/codec/ddi/media_ddi_encode_avc.cpp
+@@ -2201,6 +2201,7 @@ void DdiEncodeAvc::GetSlcRefIdx(CODEC_PICTURE *picReference, CODEC_PICTURE *slcR
+         if (i == CODEC_MAX_NUM_REF_FRAME)
+         {
+             slcReference->FrameIdx = CODEC_AVC_NUM_UNCOMPRESSED_SURFACE;
++            slcReference->PicFlags = PICTURE_INVALID;
+         }
+     }
+ }
+-- 
+2.25.1
+
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3-r4.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3-r5.ebuild
similarity index 100%
rename from x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3-r4.ebuild
rename to x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3-r5.ebuild
diff --git a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3.ebuild b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3.ebuild
index 5476bb4..56083b4 100644
--- a/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3.ebuild
+++ b/x11-libs/libva-intel-media-driver/libva-intel-media-driver-21.1.3.ebuild
@@ -25,6 +25,7 @@
 	"${FILESDIR}"/0001-Disable-IPC-usage.patch
 	"${FILESDIR}"/0002-change-slice-header-prefix-for-AVC-Vdenc.patch
 	"${FILESDIR}"/0003-Stop-using-mos_bo_subdata.patch
+	"${FILESDIR}"/0004-set-the-picture-flag-to-be-invalid-frame-if-the-ref-.patch
 )
 
 src_configure() {