• Home
  • Raw
  • Download

Lines Matching refs:src

285 bool ExynosMPP::isDataspaceSupportedByMPP(struct exynos_image &src, struct exynos_image &dst)  in isDataspaceSupportedByMPP()  argument
287 uint32_t srcStandard = (src.dataSpace & HAL_DATASPACE_STANDARD_MASK); in isDataspaceSupportedByMPP()
289 uint32_t srcTransfer = (src.dataSpace & HAL_DATASPACE_TRANSFER_MASK); in isDataspaceSupportedByMPP()
306 if (!hasHdrInfo(src) && ((mAttr & MPP_ATTR_WCG) == 0)) in isDataspaceSupportedByMPP()
321 return checkCSCRestriction(src, dst); in isDataspaceSupportedByMPP()
324 bool ExynosMPP::isSupportedHDR(struct exynos_image &src, struct exynos_image &dst) in isSupportedHDR() argument
327 uint32_t srcStandard = (src.dataSpace & HAL_DATASPACE_STANDARD_MASK); in isSupportedHDR()
329 uint32_t srcTransfer = (src.dataSpace & HAL_DATASPACE_TRANSFER_MASK); in isSupportedHDR()
332 if (hasHdr10Plus(src) || hasHdrInfo(src) ) { in isSupportedHDR()
345 bool ExynosMPP::isSupportedHStrideCrop(struct exynos_image __unused &src) in isSupportedHStrideCrop() argument
350 bool ExynosMPP::isSupportedBlend(struct exynos_image &src) in isSupportedBlend() argument
352 switch(src.blending) { in isSupportedBlend()
362 bool ExynosMPP::checkRotationCondition(struct exynos_image &src) in checkRotationCondition() argument
370 if (isFormatYUV420(src.format) == true) in checkRotationCondition()
375 if ((src.transform & HAL_TRANSFORM_ROT_90) == 0) in checkRotationCondition()
377 if ((src.compressionInfo.type == COMP_TYPE_AFBC) && (src.transform != 0)) return false; in checkRotationCondition()
386 bool ExynosMPP::isSupportedTransform(struct exynos_image &src) in isSupportedTransform() argument
388 if (src.transform == 0) return true; in isSupportedTransform()
393 if (!checkRotationCondition(src)) in isSupportedTransform()
397 if (src.transform & transform_map.hal_tr) { in isSupportedTransform()
406 bool ExynosMPP::isSupportedCompression(struct exynos_image &src) in isSupportedCompression() argument
408 if (src.compressionInfo.type == COMP_TYPE_AFBC) { in isSupportedCompression()
418 bool ExynosMPP::isSupportedCapability(ExynosDisplay &display, struct exynos_image &src) in isSupportedCapability() argument
427 if (getDrmMode(src.usageFlags) != NO_DRM) in isSupportedCapability()
429 else if (hasHdrInfo(src)) in isSupportedCapability()
438 bool ExynosMPP::isSupportedDRM(struct exynos_image &src) in isSupportedDRM() argument
440 if (getDrmMode(src.usageFlags) == NO_DRM) in isSupportedDRM()
449 bool ExynosMPP::checkCSCRestriction(struct exynos_image &src, struct exynos_image &dst) in checkCSCRestriction() argument
462 bool ExynosMPP::isSrcFormatSupported(struct exynos_image &src) in isSrcFormatSupported() argument
466 if (isFormatRgb(src.format) && (hasHdrInfo(src) == false)) in isSrcFormatSupported()
470 isFormatYUV(src.format)) in isSrcFormatSupported()
473 isFormatRgb(src.format)) { in isSrcFormatSupported()
483 (mResourceManager->mFormatRestrictions[i].format == src.format)) in isSrcFormatSupported()
504 uint32_t ExynosMPP::getMaxUpscale(const struct exynos_image &src, in getMaxUpscale() argument
506 uint32_t idx = getRestrictionClassification(src); in getMaxUpscale()
516 uint32_t ExynosMPP::getDownscaleRestriction(const struct exynos_image &src, in getDownscaleRestriction() argument
518 auto idx = getRestrictionClassification(src); in getDownscaleRestriction()
522 uint32_t ExynosMPP::getMaxDownscale(const ExynosDisplay &display, const struct exynos_image &src, in getMaxDownscale() argument
524 uint32_t maxDownscale = getDownscaleRestriction(src, dst); in getMaxDownscale()
531 float resolution = float(src.w) * float(src.h) * display.getBtsRefreshRate() / 1000; in getMaxDownscale()
540 uint32_t ExynosMPP::getSrcXOffsetAlign(struct exynos_image &src) in getSrcXOffsetAlign() argument
543 uint32_t idx = getRestrictionClassification(src); in getSrcXOffsetAlign()
545 ((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcXOffsetAlign()
546 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B))) { in getSrcXOffsetAlign()
560 uint32_t ExynosMPP::getSrcYOffsetAlign(struct exynos_image &src) in getSrcYOffsetAlign() argument
562 uint32_t idx = getRestrictionClassification(src); in getSrcYOffsetAlign()
574 uint32_t ExynosMPP::getSrcWidthAlign(struct exynos_image &src) in getSrcWidthAlign() argument
576 uint32_t idx = getRestrictionClassification(src); in getSrcWidthAlign()
579 uint32_t ExynosMPP::getSrcHeightAlign(struct exynos_image &src) in getSrcHeightAlign() argument
581 uint32_t idx = getRestrictionClassification(src); in getSrcHeightAlign()
584 uint32_t ExynosMPP::getSrcMaxWidth(struct exynos_image &src) in getSrcMaxWidth() argument
586 if (isFormatYUV(src.format)) in getSrcMaxWidth()
589 uint32_t idx = getRestrictionClassification(src); in getSrcMaxWidth()
592 uint32_t ExynosMPP::getSrcMaxHeight(struct exynos_image &src) in getSrcMaxHeight() argument
594 if (isFormatYUV(src.format)) in getSrcMaxHeight()
597 uint32_t idx = getRestrictionClassification(src); in getSrcMaxHeight()
600 uint32_t ExynosMPP::getSrcMinWidth(struct exynos_image &src) in getSrcMinWidth() argument
602 uint32_t idx = getRestrictionClassification(src); in getSrcMinWidth()
614 uint32_t ExynosMPP::getSrcMinHeight(struct exynos_image &src) in getSrcMinHeight() argument
616 uint32_t idx = getRestrictionClassification(src); in getSrcMinHeight()
628 uint32_t ExynosMPP::getSrcMaxCropWidth(struct exynos_image &src) in getSrcMaxCropWidth() argument
630 uint32_t idx = getRestrictionClassification(src); in getSrcMaxCropWidth()
633 uint32_t ExynosMPP::getSrcMaxCropHeight(struct exynos_image &src) in getSrcMaxCropHeight() argument
636 (src.transform & HAL_TRANSFORM_ROT_90)) in getSrcMaxCropHeight()
639 uint32_t idx = getRestrictionClassification(src); in getSrcMaxCropHeight()
642 uint32_t ExynosMPP::getSrcMaxCropSize(struct exynos_image &src) in getSrcMaxCropSize() argument
644 return (getSrcMaxCropWidth(src) * getSrcMaxCropHeight(src)); in getSrcMaxCropSize()
646 uint32_t ExynosMPP::getSrcMinCropWidth(struct exynos_image &src) in getSrcMinCropWidth() argument
648 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcMinCropWidth()
649 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcMinCropWidth()
652 uint32_t idx = getRestrictionClassification(src); in getSrcMinCropWidth()
655 uint32_t ExynosMPP::getSrcMinCropHeight(struct exynos_image &src) in getSrcMinCropHeight() argument
657 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcMinCropHeight()
658 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcMinCropHeight()
661 uint32_t idx = getRestrictionClassification(src); in getSrcMinCropHeight()
664 uint32_t ExynosMPP::getSrcCropWidthAlign(const struct exynos_image &src) const { in getSrcCropWidthAlign()
665 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcCropWidthAlign()
666 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcCropWidthAlign()
669 uint32_t idx = getRestrictionClassification(src); in getSrcCropWidthAlign()
682 uint32_t ExynosMPP::getSrcCropHeightAlign(const struct exynos_image &src) const { in getSrcCropHeightAlign()
683 if (((src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B) || in getSrcCropHeightAlign()
684 (src.format == HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_S10B)) && in getSrcCropHeightAlign()
688 uint32_t idx = getRestrictionClassification(src); in getSrcCropHeightAlign()
800 struct exynos_image &src, struct exynos_image __unused &dst) in isSupportLayerColorTransform() argument
802 if (src.needColorTransform == false) in isSupportLayerColorTransform()
1161 int32_t ExynosMPP::setupLayer(exynos_mpp_img_info *srcImgInfo, struct exynos_image &src, struct exy… in setupLayer() argument
1173 if (src.bufferHandle == NULL) { in setupLayer()
1179 if (src.bufferHandle != NULL) in setupLayer()
1180 srcHandle = src.bufferHandle; in setupLayer()
1187 android_dataspace_t dataspace = src.dataSpace; in setupLayer()
1205 …if (getBufLength(srcHandle, MAX_HW2D_PLANES, bufLength, gmeta.format, src.fullWidth, src.fullHeigh… in setupLayer()
1212 if (hasHdrInfo(src)) { in setupLayer()
1213 unsigned int max = (src.metaParcel.sHdrStaticInfo.sType1.mMaxDisplayLuminance/10000); in setupLayer()
1214 unsigned int min = src.metaParcel.sHdrStaticInfo.sType1.mMinDisplayLuminance; in setupLayer()
1225 if (src.hasMetaParcel) { in setupLayer()
1226 srcImgInfo->mppLayer->setLayerData(&src.metaParcel, sizeof(src.metaParcel)); in setupLayer()
1233 if (src.compressionInfo.type == COMP_TYPE_AFBC) { in setupLayer()
1234 if ((src.compressionInfo.modifier & AFBC_FORMAT_MOD_BLOCK_SIZE_MASK) == in setupLayer()
1244 … hwcCheckFenceDebug(mAssignedDisplay, FENCE_TYPE_SRC_ACQUIRE, FENCE_IP_G2D, src.acquireFenceFd); in setupLayer()
1248 src.fullWidth, src.fullHeight, in setupLayer()
1254 (int)src.x, (int)src.y, (int)(src.x + src.w), (int)(src.y + src.h), in setupLayer()
1255 (int)dst.x, (int)dst.y, (int)(dst.x + dst.w), (int)(dst.y + dst.h), src.transform); in setupLayer()
1257 srcImgInfo->mppLayer->setImageDimension(src.fullWidth, src.fullHeight); in setupLayer()
1281 … srcImgInfo->mppLayer->setCompositMode(src.blending, (uint8_t)(255 * src.planeAlpha), src.zOrder); in setupLayer()
1283 srcImgInfo->mppLayer->setCompositMode(src.blending, 255, src.zOrder); in setupLayer()
1286 hwc_rect_t src_rect = {(int)src.x, (int)src.y, (int)(src.x + src.w), (int)(src.y + src.h)}; in setupLayer()
1292 …srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform, AcrylicLayer::ATTR_NORESA… in setupLayer()
1294 if(isFormatYUV(src.format)) in setupLayer()
1295 …srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform, AcrylicLayer::ATTR_NORESA… in setupLayer()
1297 srcImgInfo->mppLayer->setCompositArea(src_rect, dst_rect, src.transform); in setupLayer()
1676 int32_t ExynosMPP::doPostProcessing(struct exynos_image &src, struct exynos_image &dst) in doPostProcessing() argument
2030 int64_t ExynosMPP::isSupported(ExynosDisplay &display, struct exynos_image &src, struct exynos_imag… in isSupported() argument
2032 uint32_t maxSrcWidth = getSrcMaxWidth(src); in isSupported()
2033 uint32_t maxSrcHeight = getSrcMaxHeight(src); in isSupported()
2034 uint32_t minSrcWidth = getSrcMinWidth(src); in isSupported()
2035 uint32_t minSrcHeight = getSrcMinHeight(src); in isSupported()
2036 uint32_t srcWidthAlign = getSrcWidthAlign(src); in isSupported()
2037 uint32_t srcHeightAlign = getSrcHeightAlign(src); in isSupported()
2039 uint32_t maxSrcCropWidth = getSrcMaxCropWidth(src); in isSupported()
2040 uint32_t maxSrcCropHeight = getSrcMaxCropHeight(src); in isSupported()
2041 uint32_t maxSrcCropSize = getSrcMaxCropSize(src); in isSupported()
2042 uint32_t minSrcCropWidth = getSrcMinCropWidth(src); in isSupported()
2043 uint32_t minSrcCropHeight = getSrcMinCropHeight(src); in isSupported()
2044 uint32_t srcCropWidthAlign = getSrcCropWidthAlign(src); in isSupported()
2045 uint32_t srcCropHeightAlign = getSrcCropHeightAlign(src); in isSupported()
2046 uint32_t srcXOffsetAlign = getSrcXOffsetAlign(src); in isSupported()
2047 uint32_t srcYOffsetAlign = getSrcYOffsetAlign(src); in isSupported()
2058 uint32_t maxDownscale = getMaxDownscale(display, src, dst); in isSupported()
2059 uint32_t maxUpscale = getMaxUpscale(src, dst); in isSupported()
2062 bool isPerpendicular = !!(src.transform & HAL_TRANSFORM_ROT_90); in isSupported()
2076 else if (src.isDimLayer()) { // Dim layer in isSupported()
2083 if (!isSupportedCapability(display, src)) in isSupported()
2085 else if (!isSrcFormatSupported(src)) in isSupported()
2089 else if (!isDataspaceSupportedByMPP(src, dst)) in isSupported()
2091 else if (!isSupportedHDR(src, dst)) in isSupported()
2093 else if (!isSupportedBlend(src)) in isSupported()
2095 else if (!isSupportedTransform(src)) in isSupported()
2097 else if (src.fullWidth < minSrcWidth) in isSupported()
2099 else if (src.fullHeight < minSrcHeight) in isSupported()
2101 else if (src.w < minSrcCropWidth) in isSupported()
2103 else if (src.h < minSrcCropHeight) in isSupported()
2107 else if (src.w > rot_dst.w * maxDownscale) in isSupported()
2109 else if (rot_dst.w > src.w * maxUpscale) in isSupported()
2111 else if (src.h > rot_dst.h * maxDownscale) in isSupported()
2113 else if (rot_dst.h > src.h * maxUpscale) in isSupported()
2115 else if (!isSupportedDRM(src)) in isSupported()
2117 else if (!isSupportedHStrideCrop(src)) in isSupported()
2119 else if (src.fullWidth > maxSrcWidth) in isSupported()
2121 else if (src.fullWidth % srcWidthAlign != 0) in isSupported()
2124 if ((src.w * src.h) > maxSrcCropSize) in isSupported()
2127 if (getDrmMode(src.usageFlags) == NO_DRM) { in isSupported()
2128 if (src.fullHeight > maxSrcHeight) in isSupported()
2130 else if (src.fullHeight % srcHeightAlign != 0) in isSupported()
2132 else if (src.w > maxSrcCropWidth) in isSupported()
2134 else if (src.h > maxSrcCropHeight) in isSupported()
2136 else if ((src.w % srcCropWidthAlign != 0) || (src.h % srcCropHeightAlign != 0)) in isSupported()
2138 else if ((src.x % srcXOffsetAlign != 0) || (src.y % srcYOffsetAlign != 0)) in isSupported()
2145 if (!isSupportedCompression(src)) in isSupported()
2148 if (!isSupportLayerColorTransform(src,dst)) in isSupported()
2267 uint32_t ExynosMPP::getSrcMaxBlendingNum(struct exynos_image __unused &src, struct exynos_image __u… in getSrcMaxBlendingNum() argument
2313 bool ExynosMPP::isAssignableState(ExynosDisplay *display, struct exynos_image &src, struct exynos_i… in isAssignableState() argument
2332 if (mAssignedSources.size() < getSrcMaxBlendingNum(src, dst)) in isAssignableState()
2340 if (mAssignedSources.size() < getSrcMaxBlendingNum(src, dst)) in isAssignableState()
2352 isAssignable, mAssignedSources.size(), getSrcMaxBlendingNum(src, dst)); in isAssignableState()
2356 bool ExynosMPP::isAssignable(ExynosDisplay *display, struct exynos_image &src, in isAssignable() argument
2359 bool isAssignable = isAssignableState(display, src, dst); in isAssignable()
2360 return (isAssignable && hasEnoughCapa(display, src, dst, totalUsedCapacity)); in isAssignable()
2363 bool ExynosMPP::hasEnoughCapa(ExynosDisplay *display, struct exynos_image &src, in hasEnoughCapa() argument
2375 float requiredCapacity = getRequiredCapacity(display, src, dst); in hasEnoughCapa()
2382 else if (isCapacityExceptionCondition(totalUsedCapacity, requiredCapacity, src)) in hasEnoughCapa()
2389 struct exynos_image &src) in isCapacityExceptionCondition() argument
2391 if ((hasHdrInfo(src) && (totalUsedCapacity == 0) && in isCapacityExceptionCondition()
2399 void ExynosMPP::getPPCIndex(const struct exynos_image &src, in getPPCIndex() argument
2411 else if (src.compressionInfo.type == COMP_TYPE_AFBC) { in getPPCIndex()
2435 uint32_t srcResolution = src.w * src.h; in getPPCIndex()
2463 float ExynosMPP::getPPC(const struct exynos_image &src, in getPPC() argument
2473 getPPCIndex(src, dst, formatIndex, rotIndex, scaleIndex, criteria); in getPPC()
2494 src.w, src.h, dst.w, dst.h, src.transform, in getPPC()
2565 float ExynosMPP::getRequiredCapacity(ExynosDisplay *display, struct exynos_image &src, in getRequiredCapacity() argument
2574 uint32_t srcResolution = src.w * src.h; in getRequiredCapacity()
2583 ((src.transform & HAL_TRANSFORM_ROT_90) == 0))) { in getRequiredCapacity()
2591 curBaseCycles += getRequiredBaseCycles(src, dst); in getRequiredCapacity()
2613 mAssignedSources[i]->mSrcImg, &src, &dst); in getRequiredCapacity()
2622 PPC = getPPC(src, dst, src, &src, &dst); in getRequiredCapacity()
2628 srcCycles, baseCycles, PPC, srcResolution, dstResolution, src.transform); in getRequiredCapacity()
2640 float srcPPC = getPPC(src, dst, src); in getRequiredCapacity()
2641 float dstPPC = getPPC(src, dst, dst); in getRequiredCapacity()
2642 float srcCapacity = (float((src.w * src.h))) / (mClockKhz * srcPPC); in getRequiredCapacity()
2652 float ExynosMPP::getRequiredBaseCycles(struct exynos_image &src, struct exynos_image &dst) in getRequiredBaseCycles() argument
2657 uint32_t srcResolution = src.w * src.h; in getRequiredBaseCycles()
2661 return maxResolution/(float)getPPC(src, dst, src); in getRequiredBaseCycles()
2746 exynos_image &src = mppSource->mSrcImg; in removeCapacity() local
2748 uint32_t srcResolution = src.w * src.h; in removeCapacity()
2751 float srcCapacity = (float)srcResolution / getPPC(src, dst, src); in removeCapacity()
2752 float dstCapacity = (float)dstResolution / getPPC(src, dst, dst); in removeCapacity()