diff options
Diffstat (limited to 'moorefield_hdmi/ips')
-rwxr-xr-x | moorefield_hdmi/ips/common/OverlayPlaneBase.cpp | 6 | ||||
-rw-r--r-- | moorefield_hdmi/ips/common/VideoPayloadBuffer.h | 2 |
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; }; |