summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch')
-rw-r--r--recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch96
1 files changed, 0 insertions, 96 deletions
diff --git a/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch b/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch
deleted file mode 100644
index 501bde3c..00000000
--- a/recipes-multimedia/libva/files/0004-Set-sRGB-color-space-for-non-video-wall-and-no-backg.patch
+++ /dev/null
@@ -1,96 +0,0 @@
1From 9b74d435324cc61e1d63709e13e1ad755fa4ce63 Mon Sep 17 00:00:00 2001
2From: Lu-Anxiao <anxiao.lu@intel.com>
3Date: Mon, 9 Oct 2023 20:47:44 +0800
4Subject: [PATCH 4/7] Set sRGB color space for non-video wall and no background
5 colorfill cases.
6
7* [VP] Set sRGB color space for non-video wall and no background colorfill cases.
8
9This solves the regression caused by
10https://github.com/intel/media-driver/commit/a9c2df7b01c2f33775c676f5490ea274410e9db2.
11
12Upstream-Status: Backport [https://github.com/intel/media-driver/commit/509ab5f6c6d447575c61e32d323aa4e7aa212fbd]
13
14Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
15---
16 .../linux/common/vp/ddi/media_libva_vp.c | 18 +++++++++++++-----
17 .../linux/common/vp/ddi/ddi_vp_functions.cpp | 19 ++++++++++++++-----
18 2 files changed, 27 insertions(+), 10 deletions(-)
19
20diff --git a/media_driver/linux/common/vp/ddi/media_libva_vp.c b/media_driver/linux/common/vp/ddi/media_libva_vp.c
21index 3c7407249..dcff2555a 100644
22--- a/media_driver/linux/common/vp/ddi/media_libva_vp.c
23+++ b/media_driver/linux/common/vp/ddi/media_libva_vp.c
24@@ -1148,7 +1148,7 @@ DdiVp_SetProcPipelineParams(
25
26 // Background Colorfill
27 // According to libva definition, if alpha in output background color is zero, then colorfill is not needed
28- if ((pPipelineParam->output_background_color >> 24) != 0)
29+ if ((pPipelineParam->output_background_color >> 24) != 0 || pVpHalTgtSurf->ColorSpace == CSpace_sRGB)
30 {
31 if (pVpHalRenderParams->pColorFillParams == nullptr)
32 {
33@@ -1157,10 +1157,18 @@ DdiVp_SetProcPipelineParams(
34
35 DDI_CHK_NULL(pVpHalRenderParams->pColorFillParams, "Null pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
36
37- // set background colorfill option
38- pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
39- pVpHalRenderParams->pColorFillParams->bYCbCr = false;
40- pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
41+ if (pVpHalTgtSurf->ColorSpace == CSpace_sRGB && (pPipelineParam->output_background_color >> 24) == 0)
42+ {
43+ // set color space for sRGB output
44+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
45+ }
46+ else
47+ {
48+ // set background colorfill option
49+ pVpHalRenderParams->pColorFillParams->Color = pPipelineParam->output_background_color;
50+ pVpHalRenderParams->pColorFillParams->bYCbCr = false;
51+ pVpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
52+ }
53 }else
54 {
55 MOS_FreeMemAndSetNull(pVpHalRenderParams->pColorFillParams);
56diff --git a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
57index 7ebad0b59..7c2e4a0e5 100644
58--- a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
59+++ b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp
60@@ -2111,8 +2111,9 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill(
61 {
62 DDI_VP_FUNC_ENTER;
63 DDI_VP_CHK_NULL(vpHalRenderParams, "nullptr vpHalRenderParams.", VA_STATUS_ERROR_INVALID_PARAMETER);
64+ DDI_VP_CHK_NULL(vpHalRenderParams->pTarget[0],"nullptr pTarget[0].", VA_STATUS_ERROR_INVALID_PARAMETER);
65
66- if ((outBackGroundcolor >> 24) != 0)
67+ if ((outBackGroundcolor >> 24) != 0 || vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB)
68 {
69 if (vpHalRenderParams->pColorFillParams == nullptr)
70 {
71@@ -2121,10 +2122,18 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill(
72
73 DDI_VP_CHK_NULL(vpHalRenderParams->pColorFillParams, "nullptr pColorFillParams.", VA_STATUS_ERROR_UNKNOWN);
74
75- // set background colorfill option
76- vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor;
77- vpHalRenderParams->pColorFillParams->bYCbCr = false;
78- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
79+ if (vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB && (outBackGroundcolor >> 24) == 0)
80+ {
81+ // set color space for sRGB output
82+ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
83+ }
84+ else
85+ {
86+ // set background colorfill option
87+ vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor;
88+ vpHalRenderParams->pColorFillParams->bYCbCr = false;
89+ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB;
90+ }
91 }
92 else
93 {
94--
952.40.1
96