liboverlay: Adjust values to align with MDP requirement
For YUV only:
Crop rectangle (src_rect) needs to be even for x/y and w/h
Destination dst_rect w/h need to be even (x/y can be odd).
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Change-Id: Ib0c1b7d31773e71d60f080b4beacaa68e32a990e
diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h
index 0648c85..eebf5ac 100644
--- a/liboverlay/overlayUtils.h
+++ b/liboverlay/overlayUtils.h
@@ -523,8 +523,11 @@
case MDP_Y_CBCR_H2V1:
case MDP_Y_CBCR_H2V2:
case MDP_Y_CRCB_H2V2:
+ case MDP_Y_CRCB_H1V1:
+ case MDP_Y_CRCB_H2V1:
case MDP_Y_CRCB_H2V2_TILE:
case MDP_Y_CBCR_H2V2_TILE:
+ case MDP_Y_CR_CB_H2V2:
return true;
default:
return false;
@@ -800,6 +803,18 @@
return overlay::open(fd, fbnum, devpath, flags);
}
+template <class T>
+inline void even_ceil(T& value) {
+ if(value & 1)
+ value++;
+}
+
+template <class T>
+inline void even_floor(T& value) {
+ if(value & 1)
+ value--;
+}
+
} // namespace utils ends
//--------------------Class Res stuff (namespace overlay only) -----------