void MdpCtrl::doTransform() { setRotationFlags(); utils::Whf whf = getSrcWhf(); utils::Dim dim = getSrcRectDim(); utils::preRotateSource(mOrientation, whf, dim); setSrcWhf(whf); setSrcRectDim(dim); }
void MdpCtrl::setSource(const utils::PipeArgs& args) { setSrcWhf(args.whf); //TODO These are hardcoded. Can be moved out of setSource. mOVInfo.transp_mask = 0xffffffff; //TODO These calls should ideally be a part of setPipeParams API setFlags(args.mdpFlags); setZ(args.zorder); setPlaneAlpha(args.planeAlpha); setBlending(args.blending); }
bool MdpCtrl::setSource(const utils::PipeArgs& args) { setSrcWhf(args.whf); //TODO These are hardcoded. Can be moved out of setSource. mOVInfo.alpha = 0xff; mOVInfo.transp_mask = 0xffffffff; //TODO These calls should ideally be a part of setPipeParams API setFlags(args.mdpFlags); setZ(args.zorder); setIsFg(args.isFg); return true; }
//Adjust width, height, format if rotator is used. void MdpCtrl::adjustSrcWhf(const bool& rotUsed) { if(rotUsed) { utils::Whf whf = getSrcWhf(); if(whf.format == MDP_Y_CRCB_H2V2_TILE || whf.format == MDP_Y_CBCR_H2V2_TILE) { whf.w = utils::alignup(whf.w, 64); whf.h = utils::alignup(whf.h, 32); } //For example: If original format is tiled, rotator outputs non-tiled, //so update mdp's src fmt to that. whf.format = utils::getRotOutFmt(whf.format); setSrcWhf(whf); } }
//Update src format based on rotator's destination format. void MdpCtrl::updateSrcFormat(const uint32_t& rotDestFmt) { utils::Whf whf = getSrcWhf(); whf.format = rotDestFmt; setSrcWhf(whf); }