diff options
| author | 2024-12-13 15:49:23 -0800 | |
|---|---|---|
| committer | 2024-12-13 15:49:23 -0800 | |
| commit | 030e33106c9546bfb34338168d5fc0b0de0b165f (patch) | |
| tree | f0d142846badf2a9e684bc720e561e87d54e6f96 /libs | |
| parent | 12e7a21e4304840cf1d95c10c83ef0e17dbeb508 (diff) | |
| parent | c8cb36996c652409d0774cd4c0531ef12d6f152a (diff) | |
Merge "Add AHARDWAREBUFFER_FORMAT_YCBCR_P210..." into main am: c8cb36996c
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3270116
Change-Id: I4715fe642980c1152634572388a54bb9d63f0bcc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/nativewindow/AHardwareBuffer.cpp | 9 | ||||
| -rw-r--r-- | libs/ui/include/ui/PublicFormat.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp index ca41346d46..3205c32f01 100644 --- a/libs/nativewindow/AHardwareBuffer.cpp +++ b/libs/nativewindow/AHardwareBuffer.cpp @@ -112,6 +112,10 @@ static_assert( static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::RGBA_10101010) == AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM, "HAL and AHardwareBuffer pixel format don't match"); +static_assert( + static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::YCBCR_P210) == + AHARDWAREBUFFER_FORMAT_YCbCr_P210, + "HAL and AHardwareBuffer pixel format don't match"); static enum AHardwareBufferStatus filterStatus(status_t status) { switch (status) { @@ -300,8 +304,10 @@ int AHardwareBuffer_lockPlanes(AHardwareBuffer* buffer, uint64_t usage, if (result == 0) { outPlanes->planeCount = 3; outPlanes->planes[0].data = yuvData.y; - // P010 is word-aligned 10-bit semiplaner, and YCbCr_422_I is a single interleaved plane + // P010 & P210 are word-aligned 10-bit semiplaner, and YCbCr_422_I is a single interleaved + // plane if (format == AHARDWAREBUFFER_FORMAT_YCbCr_P010 || + format == AHARDWAREBUFFER_FORMAT_YCbCr_P210 || format == AHARDWAREBUFFER_FORMAT_YCbCr_422_I) { outPlanes->planes[0].pixelStride = 2; } else { @@ -724,6 +730,7 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: case AHARDWAREBUFFER_FORMAT_YCbCr_P010: + case AHARDWAREBUFFER_FORMAT_YCbCr_P210: return true; default: return false; diff --git a/libs/ui/include/ui/PublicFormat.h b/libs/ui/include/ui/PublicFormat.h index 2248ccab0c..7b7f5022d9 100644 --- a/libs/ui/include/ui/PublicFormat.h +++ b/libs/ui/include/ui/PublicFormat.h @@ -59,6 +59,7 @@ enum class PublicFormat { DEPTH_JPEG = 0x69656963, JPEG_R = 0x1005, HEIC = 0x48454946, + YCBCR_P210 = 0x3c, }; /* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL |