meta-intel/recipes-multimedia/libva/files/0005-XRGB-force-to-do-swizzle-for-AVC-HEVC.patch
Lim Siew Hoon 587dce125d intel-media-driver: upgrade 23.2.4 -> 23.3.5
Removed patches already merged:
 - 0001-ARGB-force-to-tile4.patch
 - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill-in.patch
 - 0001-Fix-FC-Corruption-When-Blending-without-Colorfill.patch
 - 0001-Force-to-render-path-according-to-app-setting.patch
 - 0002-Add-DRM-format-mappings-for-JPEG-decoder-output.patch

Rebased patches:
 - 0001-Disable-VP9-padding-on-MTL.patch
 - 0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch

Added code fixed and new DG2 device id support:
 - 0002-Add-VASurfaceAttribMemoryType-for-ACM.patch
 - 0003-Force-ARGB-surface-to-tile4-for-ACM.patch
 - 0005-XRGB-force-to-do-swizzle-for-AVC-HEVC.patch
 - 0006-Add-DG2-DIDs.patch

Release notes:
https://github.com/intel/media-driver/releases/tag/intel-media-23.3.5

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2023-11-24 11:56:03 +08:00

54 lines
2.3 KiB
Diff

From c2a7a53a71b252593fb31cba24cddf7a5f466ba1 Mon Sep 17 00:00:00 2001
From: Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
Date: Wed, 18 Oct 2023 10:49:13 +0800
Subject: [PATCH 5/7] XRGB force to do swizzle for AVC/HEVC
This is to fix msdkh264enc/msdkh265enc incorrect encoded output when having BGRx input.
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/433068b0db298f9592880f25601449366b4aa8d3]
Signed-off-by: Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>
---
.../linux/common/codec/ddi/enc/ddi_encode_avc_specific.h | 1 +
.../linux/common/codec/ddi/enc/ddi_encode_hevc_specific.h | 6 ++++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/media_softlet/linux/common/codec/ddi/enc/ddi_encode_avc_specific.h b/media_softlet/linux/common/codec/ddi/enc/ddi_encode_avc_specific.h
index 057af4420..e4a1cbe58 100644
--- a/media_softlet/linux/common/codec/ddi/enc/ddi_encode_avc_specific.h
+++ b/media_softlet/linux/common/codec/ddi/enc/ddi_encode_avc_specific.h
@@ -557,6 +557,7 @@ private:
inline bool NeedDisplayFormatSwizzle(DDI_MEDIA_SURFACE *rawSurface)
{
if (Media_Format_A8R8G8B8 == rawSurface->format ||
+ Media_Format_X8R8G8B8 == rawSurface->format ||
Media_Format_B10G10R10A2 == rawSurface->format)
{
return true;
diff --git a/media_softlet/linux/common/codec/ddi/enc/ddi_encode_hevc_specific.h b/media_softlet/linux/common/codec/ddi/enc/ddi_encode_hevc_specific.h
index 65483b43d..56e688e4a 100644
--- a/media_softlet/linux/common/codec/ddi/enc/ddi_encode_hevc_specific.h
+++ b/media_softlet/linux/common/codec/ddi/enc/ddi_encode_hevc_specific.h
@@ -293,14 +293,16 @@ private:
bool ret = false;
if (Media_Format_A8R8G8B8 == rawSurface->format ||
- Media_Format_B10G10R10A2 == rawSurface->format)
+ Media_Format_X8R8G8B8 == rawSurface->format ||
+ Media_Format_B10G10R10A2 == rawSurface->format)
{
ret = true;
}
if (ret &&
(Media_Format_A8R8G8B8 == reconSurface->format ||
- Media_Format_B10G10R10A2 == reconSurface->format))
+ Media_Format_X8R8G8B8 == reconSurface->format ||
+ Media_Format_B10G10R10A2 == reconSurface->format))
{
ret = false;
}
--
2.40.1