From 3679414a778e85fced3642d8a1425411c86bb5bc Mon Sep 17 00:00:00 2001 From: Chetan Kalyan Date: Tue, 3 Jan 2012 18:43:06 -0800 Subject: [PATCH] Overlay: Change rotator format for YV12 Change rotator output for YV12 input from CBCR_H2V2 to CRCB_H2V2. Change-Id: I5d9711d5006dfbed5fc0b478af43e1fe673988bc CRs-Fixed: 327956 --- liboverlay/overlayLib.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/liboverlay/overlayLib.cpp b/liboverlay/overlayLib.cpp index 8a57457..c9aecff 100755 --- a/liboverlay/overlayLib.cpp +++ b/liboverlay/overlayLib.cpp @@ -90,8 +90,9 @@ int overlay::get_rot_output_format(int format) { case MDP_Y_CRCB_H2V2_TILE: return MDP_Y_CRCB_H2V2; case MDP_Y_CB_CR_H2V2: - case MDP_Y_CR_CB_GH2V2: return MDP_Y_CBCR_H2V2; + case MDP_Y_CR_CB_GH2V2: + return MDP_Y_CRCB_H2V2; default: return format; } @@ -1343,14 +1344,14 @@ bool OverlayControlChannel::setTransform(int value, bool fetch) { If rotator is used, set Overlay input to non-tiled Else, overlay input remains tiled */ if (mOVInfo.user_data[0]) { - if (mRotInfo.src.format == MDP_Y_CRCB_H2V2_TILE) - mOVInfo.src.format = MDP_Y_CRCB_H2V2; + mOVInfo.src.format = get_rot_output_format(mRotInfo.src.format); mRotInfo.enable = 1; } else { - if(mRotInfo.src.format == MDP_Y_CRCB_H2V2_TILE) - mOVInfo.src.format = MDP_Y_CRCB_H2V2_TILE; - + //We can switch between rotator ON and OFF. Reset overlay + //i/p format whenever this happens + if(mRotInfo.dst.format == mOVInfo.src.format) + mOVInfo.src.format = mRotInfo.src.format; mRotInfo.enable = 0; //Always enable rotation for UI mirror usecase if(mUIChannel)