liboverlay: Rotator-assisted MDP downscaling of videos.
Engage the rotator to assist MDP in performing video downscale for
primary and external. This saves bandwidth and avoids causing the
driver to make too many panel mode switches between BLT (writeback)
and non-BLT (direct) modes.
Change-Id: Icfabc2c0f978a23cf96c78a9976cf69cea697b5f
CRs-Fixed: 434852
diff --git a/liboverlay/overlayCtrlData.h b/liboverlay/overlayCtrlData.h
index f4c95f9..58f46b3 100644
--- a/liboverlay/overlayCtrlData.h
+++ b/liboverlay/overlayCtrlData.h
@@ -62,7 +62,9 @@
/* set crop info and pass it down to mdp */
bool setCrop(const utils::Dim& d);
/* set orientation */
- bool setTransform(const utils::eTransform& p, const bool&);
+ bool setTransform(const utils::eTransform& p);
+ /* set whether rotator can be used */
+ void setRotatorUsed(const bool& rotUsed);
/* set mdp position using dim */
bool setPosition(const utils::Dim& dim);
/* mdp set overlay/commit changes */
@@ -82,6 +84,16 @@
/* dump the state of the object */
void dump() const;
+ /* Perform transformation calculations */
+ void doTransform();
+
+ /* Performs downscale calculations */
+ void doDownscale(int dscale_factor);
+
+ /* Get downscale factor */
+ int getDownscalefactor();
+
+
private:
/* Retrieve screen info from underlying mdp */
bool getScreenInfo(utils::ScreenInfo& info);
@@ -183,6 +195,18 @@
return mMdp.getSrcRectDim();
}
+inline void Ctrl::doTransform() {
+ return mMdp.doTransform();
+}
+
+inline void Ctrl::doDownscale(int dscale_factor) {
+ mMdp.doDownscale(dscale_factor);
+}
+
+inline int Ctrl::getDownscalefactor() {
+ return mMdp.getDownscalefactor();
+}
+
inline Data::Data() {
mMdp.reset();
}