• Home
  • Raw
  • Download

Lines Matching refs:src

278 bool ExynosMPP::isDataspaceSupportedByMPP(struct exynos_image &src, struct exynos_image &dst)  in isDataspaceSupportedByMPP()  argument
280 uint32_t srcStandard = (src.dataSpace & HAL_DATASPACE_STANDARD_MASK); in isDataspaceSupportedByMPP()
282 uint32_t srcTransfer = (src.dataSpace & HAL_DATASPACE_TRANSFER_MASK); in isDataspaceSupportedByMPP()
299 if (!hasHdrInfo(src) && ((mAttr & MPP_ATTR_WCG) == 0)) in isDataspaceSupportedByMPP()
314 return checkCSCRestriction(src, dst); in isDataspaceSupportedByMPP()
317 bool ExynosMPP::isSupportedHDR10Plus(struct exynos_image &src, struct exynos_image &dst) in isSupportedHDR10Plus() argument
320 uint32_t srcStandard = (src.dataSpace & HAL_DATASPACE_STANDARD_MASK); in isSupportedHDR10Plus()
322 uint32_t srcTransfer = (src.dataSpace & HAL_DATASPACE_TRANSFER_MASK); in isSupportedHDR10Plus()
325 if (hasHdr10Plus(src)) { in isSupportedHDR10Plus()
338 bool ExynosMPP::isSupportedHStrideCrop(struct exynos_image __unused &src) in isSupportedHStrideCrop() argument
343 bool ExynosMPP::isSupportedBlend(struct exynos_image &src) in isSupportedBlend() argument
345 switch(src.blending) { in isSupportedBlend()
355 bool ExynosMPP::checkRotationCondition(struct exynos_image &src) in checkRotationCondition() argument
363 if (isFormatYUV420(src.format) == true) in checkRotationCondition()
368 if ((src.transform & HAL_TRANSFORM_ROT_90) == 0) in checkRotationCondition()
370 if ((src.compressed == 1) && (src.transform != 0)) in checkRotationCondition()
380 bool ExynosMPP::isSupportedTransform(struct exynos_image &src) in isSupportedTransform() argument
382 if (src.transform == 0) return true; in isSupportedTransform()
387 if (!checkRotationCondition(src)) in isSupportedTransform()
391 if (src.transform & transform_map.hal_tr) { in isSupportedTransform()
400 bool ExynosMPP::isSupportedCompression(struct exynos_image &src) in isSupportedCompression() argument
402 if (src.compressed) { in isSupportedCompression()
412 bool ExynosMPP::isSupportedCapability(ExynosDisplay &display, struct exynos_image &src) in isSupportedCapability() argument
421 if (getDrmMode(src.usageFlags) != NO_DRM) in isSupportedCapability()
423 else if (hasHdrInfo(src)) in isSupportedCapability()
432 bool ExynosMPP::isSupportedDRM(struct exynos_image &src) in isSupportedDRM() argument
434 if (getDrmMode(src.usageFlags) == NO_DRM) in isSupportedDRM()
443 bool ExynosMPP::checkCSCRestriction(struct exynos_image &src, struct exynos_image &dst) in checkCSCRestriction() argument
456 bool ExynosMPP::isSrcFormatSupported(struct exynos_image &src) in isSrcFormatSupported() argument
460 if (isFormatRgb(src.format) && (hasHdrInfo(src) == false)) in isSrcFormatSupported()
464 isFormatYUV(src.format)) in isSrcFormatSupported()
467 isFormatRgb(src.format)) { in isSrcFormatSupported()
477 (mResourceManager->mFormatRestrictions[i].format == src.format)) in isSrcFormatSupported()
498 uint32_t ExynosMPP::getMaxUpscale(const struct exynos_image &src, in getMaxUpscale() argument
500 uint32_t idx = getRestrictionClassification(src); in getMaxUpscale()
510 uint32_t ExynosMPP::getDownscaleRestriction(const struct exynos_image &src, in getDownscaleRestriction() argument
512 auto idx = getRestrictionClassification(src); in getDownscaleRestriction()
516 uint32_t ExynosMPP::getMaxDownscale(const ExynosDisplay &display, const struct exynos_image &src, in getMaxDownscale() argument
518 uint32_t maxDownscale = getDownscaleRestriction(src, dst); in getMaxDownscale()
525 float resolution = float(src.w) * float(src.h) * display.getBtsRefreshRate() / 1000; in getMaxDownscale()
534 uint32_t ExynosMPP::getSrcXOffsetAlign(struct exynos_image &src) in getSrcXOffsetAlign() argument
537 uint32_t idx = getRestrictionClassification(src); in getSrcXOffsetAlign()
539 ((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcXOffsetAlign()
540 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B))) { in getSrcXOffsetAlign()
554 uint32_t ExynosMPP::getSrcYOffsetAlign(struct exynos_image &src) in getSrcYOffsetAlign() argument
556 uint32_t idx = getRestrictionClassification(src); in getSrcYOffsetAlign()
568 uint32_t ExynosMPP::getSrcWidthAlign(struct exynos_image &src) in getSrcWidthAlign() argument
570 uint32_t idx = getRestrictionClassification(src); in getSrcWidthAlign()
573 uint32_t ExynosMPP::getSrcHeightAlign(struct exynos_image &src) in getSrcHeightAlign() argument
575 uint32_t idx = getRestrictionClassification(src); in getSrcHeightAlign()
578 uint32_t ExynosMPP::getSrcMaxWidth(struct exynos_image &src) in getSrcMaxWidth() argument
580 if (isFormatYUV(src.format)) in getSrcMaxWidth()
583 uint32_t idx = getRestrictionClassification(src); in getSrcMaxWidth()
586 uint32_t ExynosMPP::getSrcMaxHeight(struct exynos_image &src) in getSrcMaxHeight() argument
588 if (isFormatYUV(src.format)) in getSrcMaxHeight()
591 uint32_t idx = getRestrictionClassification(src); in getSrcMaxHeight()
594 uint32_t ExynosMPP::getSrcMinWidth(struct exynos_image &src) in getSrcMinWidth() argument
596 uint32_t idx = getRestrictionClassification(src); in getSrcMinWidth()
608 uint32_t ExynosMPP::getSrcMinHeight(struct exynos_image &src) in getSrcMinHeight() argument
610 uint32_t idx = getRestrictionClassification(src); in getSrcMinHeight()
622 uint32_t ExynosMPP::getSrcMaxCropWidth(struct exynos_image &src) in getSrcMaxCropWidth() argument
624 uint32_t idx = getRestrictionClassification(src); in getSrcMaxCropWidth()
627 uint32_t ExynosMPP::getSrcMaxCropHeight(struct exynos_image &src) in getSrcMaxCropHeight() argument
630 (src.transform & HAL_TRANSFORM_ROT_90)) in getSrcMaxCropHeight()
633 uint32_t idx = getRestrictionClassification(src); in getSrcMaxCropHeight()
636 uint32_t ExynosMPP::getSrcMaxCropSize(struct exynos_image &src) in getSrcMaxCropSize() argument
638 return (getSrcMaxCropWidth(src) * getSrcMaxCropHeight(src)); in getSrcMaxCropSize()
640 uint32_t ExynosMPP::getSrcMinCropWidth(struct exynos_image &src) in getSrcMinCropWidth() argument
642 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcMinCropWidth()
643 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcMinCropWidth()
646 uint32_t idx = getRestrictionClassification(src); in getSrcMinCropWidth()
649 uint32_t ExynosMPP::getSrcMinCropHeight(struct exynos_image &src) in getSrcMinCropHeight() argument
651 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcMinCropHeight()
652 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcMinCropHeight()
655 uint32_t idx = getRestrictionClassification(src); in getSrcMinCropHeight()
658 uint32_t ExynosMPP::getSrcCropWidthAlign(const struct exynos_image &src) const { in getSrcCropWidthAlign()
659 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcCropWidthAlign()
660 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcCropWidthAlign()
663 uint32_t idx = getRestrictionClassification(src); in getSrcCropWidthAlign()
676 uint32_t ExynosMPP::getSrcCropHeightAlign(const struct exynos_image &src) const { in getSrcCropHeightAlign()
677 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcCropHeightAlign()
678 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcCropHeightAlign()
682 uint32_t idx = getRestrictionClassification(src); in getSrcCropHeightAlign()
794 struct exynos_image &src, struct exynos_image __unused &dst) in isSupportLayerColorTransform() argument
796 if (src.needColorTransform == false) in isSupportLayerColorTransform()
1146 int32_t ExynosMPP::setupLayer(exynos_mpp_img_info *srcImgInfo, struct exynos_image &src, struct exy… in setupLayer() argument
1158 if (src.bufferHandle == NULL) { in setupLayer()
1164 if (src.bufferHandle != NULL) in setupLayer()
1165 srcHandle = src.bufferHandle; in setupLayer()
1172 android_dataspace_t dataspace = src.dataSpace; in setupLayer()
1190 …if (getBufLength(srcHandle, MAX_HW2D_PLANES, bufLength, gmeta.format, src.fullWidth, src.fullHeigh… in setupLayer()
1197 if (hasHdrInfo(src)) { in setupLayer()
1198 unsigned int max = (src.metaParcel.sHdrStaticInfo.sType1.mMaxDisplayLuminance/10000); in setupLayer()
1199 unsigned int min = src.metaParcel.sHdrStaticInfo.sType1.mMinDisplayLuminance; in setupLayer()
1207 if (src.hasMetaParcel) { in setupLayer()
1208 srcImgInfo->mppLayer->setLayerData(&src.metaParcel, sizeof(src.metaParcel)); in setupLayer()
1214 if (src.compressed) in setupLayer()
1219 … hwcCheckFenceDebug(mAssignedDisplay, FENCE_TYPE_SRC_ACQUIRE, FENCE_IP_G2D, src.acquireFenceFd); in setupLayer()
1223 src.fullWidth, src.fullHeight, in setupLayer()
1229 (int)src.x, (int)src.y, (int)(src.x + src.w), (int)(src.y + src.h), in setupLayer()
1230 (int)dst.x, (int)dst.y, (int)(dst.x + dst.w), (int)(dst.y + dst.h), src.transform); in setupLayer()
1232 srcImgInfo->mppLayer->setImageDimension(src.fullWidth, src.fullHeight); in setupLayer()
1256 … srcImgInfo->mppLayer->setCompositMode(src.blending, (uint8_t)(255 * src.planeAlpha), src.zOrder); in setupLayer()
1258 srcImgInfo->mppLayer->setCompositMode(src.blending, 255, src.zOrder); in setupLayer()
1261 hwc_rect_t src_rect = {(int)src.x, (int)src.y, (int)(src.x + src.w), (int)(src.y + src.h)}; in setupLayer()
1267 …srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform, AcrylicLayer::ATTR_NORESA… in setupLayer()
1269 if(isFormatYUV(src.format)) in setupLayer()
1270 …srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform, AcrylicLayer::ATTR_NORESA… in setupLayer()
1272 srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform); in setupLayer()
1650 int32_t ExynosMPP::doPostProcessing(struct exynos_image &src, struct exynos_image &dst) in doPostProcessing() argument
1998 int64_t ExynosMPP::isSupported(ExynosDisplay &display, struct exynos_image &src, struct exynos_imag… in isSupported() argument
2000 uint32_t maxSrcWidth = getSrcMaxWidth(src); in isSupported()
2001 uint32_t maxSrcHeight = getSrcMaxHeight(src); in isSupported()
2002 uint32_t minSrcWidth = getSrcMinWidth(src); in isSupported()
2003 uint32_t minSrcHeight = getSrcMinHeight(src); in isSupported()
2004 uint32_t srcWidthAlign = getSrcWidthAlign(src); in isSupported()
2005 uint32_t srcHeightAlign = getSrcHeightAlign(src); in isSupported()
2007 uint32_t maxSrcCropWidth = getSrcMaxCropWidth(src); in isSupported()
2008 uint32_t maxSrcCropHeight = getSrcMaxCropHeight(src); in isSupported()
2009 uint32_t maxSrcCropSize = getSrcMaxCropSize(src); in isSupported()
2010 uint32_t minSrcCropWidth = getSrcMinCropWidth(src); in isSupported()
2011 uint32_t minSrcCropHeight = getSrcMinCropHeight(src); in isSupported()
2012 uint32_t srcCropWidthAlign = getSrcCropWidthAlign(src); in isSupported()
2013 uint32_t srcCropHeightAlign = getSrcCropHeightAlign(src); in isSupported()
2014 uint32_t srcXOffsetAlign = getSrcXOffsetAlign(src); in isSupported()
2015 uint32_t srcYOffsetAlign = getSrcYOffsetAlign(src); in isSupported()
2026 uint32_t maxDownscale = getMaxDownscale(display, src, dst); in isSupported()
2027 uint32_t maxUpscale = getMaxUpscale(src, dst); in isSupported()
2030 bool isPerpendicular = !!(src.transform & HAL_TRANSFORM_ROT_90); in isSupported()
2044 else if (src.isDimLayer()) { // Dim layer in isSupported()
2051 if (!isSupportedCapability(display, src)) in isSupported()
2053 else if (!isSrcFormatSupported(src)) in isSupported()
2057 else if (!isDataspaceSupportedByMPP(src, dst)) in isSupported()
2059 else if (!isSupportedHDR10Plus(src, dst)) in isSupported()
2061 else if (!isSupportedBlend(src)) in isSupported()
2063 else if (!isSupportedTransform(src)) in isSupported()
2065 else if (src.fullWidth < minSrcWidth) in isSupported()
2067 else if (src.fullHeight < minSrcHeight) in isSupported()
2069 else if (src.w < minSrcCropWidth) in isSupported()
2071 else if (src.h < minSrcCropHeight) in isSupported()
2075 else if (src.w > rot_dst.w * maxDownscale) in isSupported()
2077 else if (rot_dst.w > src.w * maxUpscale) in isSupported()
2079 else if (src.h > rot_dst.h * maxDownscale) in isSupported()
2081 else if (rot_dst.h > src.h * maxUpscale) in isSupported()
2083 else if (!isSupportedDRM(src)) in isSupported()
2085 else if (!isSupportedHStrideCrop(src)) in isSupported()
2087 else if (src.fullWidth > maxSrcWidth) in isSupported()
2089 else if (src.fullWidth % srcWidthAlign != 0) in isSupported()
2092 if ((src.w * src.h) > maxSrcCropSize) in isSupported()
2095 if (getDrmMode(src.usageFlags) == NO_DRM) { in isSupported()
2096 if (src.fullHeight > maxSrcHeight) in isSupported()
2098 else if (src.fullHeight % srcHeightAlign != 0) in isSupported()
2100 else if (src.w > maxSrcCropWidth) in isSupported()
2102 else if (src.h > maxSrcCropHeight) in isSupported()
2104 else if ((src.w % srcCropWidthAlign != 0) || (src.h % srcCropHeightAlign != 0)) in isSupported()
2106 else if ((src.x % srcXOffsetAlign != 0) || (src.y % srcYOffsetAlign != 0)) in isSupported()
2113 if (!isSupportedCompression(src)) in isSupported()
2116 if (!isSupportLayerColorTransform(src,dst)) in isSupported()
2235 uint32_t ExynosMPP::getSrcMaxBlendingNum(struct exynos_image __unused &src, struct exynos_image __u… in getSrcMaxBlendingNum() argument
2281 bool ExynosMPP::isAssignableState(ExynosDisplay *display, struct exynos_image &src, struct exynos_i… in isAssignableState() argument
2300 if (mAssignedSources.size() < getSrcMaxBlendingNum(src, dst)) in isAssignableState()
2308 if (mAssignedSources.size() < getSrcMaxBlendingNum(src, dst)) in isAssignableState()
2320 isAssignable, mAssignedSources.size(), getSrcMaxBlendingNum(src, dst)); in isAssignableState()
2324 struct exynos_image &src, struct exynos_image &dst) in isAssignable() argument
2326 bool isAssignable = isAssignableState(display, src, dst); in isAssignable()
2327 return (isAssignable && hasEnoughCapa(display, src, dst)); in isAssignable()
2330 bool ExynosMPP::hasEnoughCapa(ExynosDisplay *display, struct exynos_image &src, struct exynos_image… in hasEnoughCapa() argument
2342 float requiredCapacity = getRequiredCapacity(display, src, dst); in hasEnoughCapa()
2349 else if ((hasHdrInfo(src)) && in hasEnoughCapa()
2358 void ExynosMPP::getPPCIndex(const struct exynos_image &src, in getPPCIndex() argument
2370 else if (src.compressed == 1) { in getPPCIndex()
2394 uint32_t srcResolution = src.w * src.h; in getPPCIndex()
2422 float ExynosMPP::getPPC(const struct exynos_image &src, in getPPC() argument
2432 getPPCIndex(src, dst, formatIndex, rotIndex, scaleIndex, criteria); in getPPC()
2453 src.w, src.h, dst.w, dst.h, src.transform, in getPPC()
2524 float ExynosMPP::getRequiredCapacity(ExynosDisplay *display, struct exynos_image &src, in getRequiredCapacity() argument
2533 uint32_t srcResolution = src.w * src.h; in getRequiredCapacity()
2542 ((src.transform & HAL_TRANSFORM_ROT_90) == 0))) { in getRequiredCapacity()
2550 curBaseCycles += getRequiredBaseCycles(src, dst); in getRequiredCapacity()
2572 mAssignedSources[i]->mSrcImg, &src, &dst); in getRequiredCapacity()
2581 PPC = getPPC(src, dst, src, &src, &dst); in getRequiredCapacity()
2587 srcCycles, baseCycles, PPC, srcResolution, dstResolution, src.transform); in getRequiredCapacity()
2599 float srcPPC = getPPC(src, dst, src); in getRequiredCapacity()
2600 float dstPPC = getPPC(src, dst, dst); in getRequiredCapacity()
2601 float srcCapacity = (float((src.w * src.h))) / (mClockKhz * srcPPC); in getRequiredCapacity()
2611 float ExynosMPP::getRequiredBaseCycles(struct exynos_image &src, struct exynos_image &dst) in getRequiredBaseCycles() argument
2616 uint32_t srcResolution = src.w * src.h; in getRequiredBaseCycles()
2620 return maxResolution/(float)getPPC(src, dst, src); in getRequiredBaseCycles()
2705 exynos_image &src = mppSource->mSrcImg; in removeCapacity() local
2707 uint32_t srcResolution = src.w * src.h; in removeCapacity()
2710 float srcCapacity = (float)srcResolution / getPPC(src, dst, src); in removeCapacity()
2711 float dstCapacity = (float)dstResolution / getPPC(src, dst, dst); in removeCapacity()