Use default csc mode and video range setting for HDMI.
Update VideoPayloadBuffer to align with palyload in video driver
Bug: 25936176
Change-Id: I5b0ad4d7aa107f4dc4ecca38659ec94c3799447e
Signed-off-by: mahongpe <hongpeng.ma@intel.com>
diff --git a/moorefield_hdmi/ips/common/OverlayPlaneBase.cpp b/moorefield_hdmi/ips/common/OverlayPlaneBase.cpp
index 173f194..5ba55c8 100755
--- a/moorefield_hdmi/ips/common/OverlayPlaneBase.cpp
+++ b/moorefield_hdmi/ips/common/OverlayPlaneBase.cpp
@@ -1122,6 +1122,9 @@
return false;
}
+ if (mPipeConfig == (0x2 << 6))
+ return true;
+
uint32_t format = mapper.getFormat();
if (format != OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar &&
format != OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar_Tiled) {
@@ -1147,8 +1150,7 @@
backBuffer->OCONFIG &= ~(1 << 5);
backBuffer->OCONFIG |= (payload->csc_mode << 5);
- // no level expansion for video on HDMI
- if (payload->video_range || mPipeConfig == (0x2 << 6)) {
+ if (payload->video_range) {
// full range, no need to do level expansion
backBuffer->OCLRC0 = 0x1000000;
backBuffer->OCLRC1 = 0x80;
diff --git a/moorefield_hdmi/ips/common/VideoPayloadBuffer.h b/moorefield_hdmi/ips/common/VideoPayloadBuffer.h
index e6b1879..e7f0750 100644
--- a/moorefield_hdmi/ips/common/VideoPayloadBuffer.h
+++ b/moorefield_hdmi/ips/common/VideoPayloadBuffer.h
@@ -63,6 +63,8 @@
uint32_t coded_width;
uint32_t coded_height;
+ uint32_t initialized;
+
uint32_t csc_mode;
uint32_t video_range;
};