liboverlay: Fix stride alignment issue for s/w decoded video.
1. Due to alignment requirements on HAL_PIXEL_FORMAT_YV12 format,
rotator buffer size calculation needs to be performed based on
rotated width and height because buffer size can be different when
width & height are swapped due to 90 degree rotation.
2. Input and output color formats are same for MDSS Rotator.
Change-Id: I0a06ef9bb7bdceb951e7ab5160dac3e92a28bcda
CRs-Fixed: 451871
diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h
index 6f06b0d..76d930b 100644
--- a/liboverlay/overlayUtils.h
+++ b/liboverlay/overlayUtils.h
@@ -178,6 +178,7 @@
bool send3DInfoPacket (uint32_t fmt);
bool enableBarrier (uint32_t orientation);
uint32_t getS3DFormat(uint32_t fmt);
+bool isMdssRotator();
template <int CHAN>
bool getPositionS3D(const Whf& whf, Dim& out);
@@ -609,6 +610,10 @@
}
inline int getRotOutFmt(uint32_t format) {
+
+ if (isMdssRotator())
+ return format;
+
switch (format) {
case MDP_Y_CRCB_H2V2_TILE:
return MDP_Y_CRCB_H2V2;