summaryrefslogtreecommitdiff
path: root/moorefield_hdmi/ips
diff options
context:
space:
mode:
Diffstat (limited to 'moorefield_hdmi/ips')
-rwxr-xr-xmoorefield_hdmi/ips/common/OverlayPlaneBase.cpp6
-rw-r--r--moorefield_hdmi/ips/common/VideoPayloadBuffer.h2
2 files changed, 6 insertions, 2 deletions
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 @@ bool OverlayPlaneBase::colorSetup(BufferMapper& mapper)
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 @@ bool OverlayPlaneBase::colorSetup(BufferMapper& mapper)
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 @@ struct VideoPayloadBuffer {
uint32_t coded_width;
uint32_t coded_height;
+ uint32_t initialized;
+
uint32_t csc_mode;
uint32_t video_range;
};