Skip to content

Commit ffda356

Browse files
Dheepthi SAMouri
authored andcommitted
Add AHARDWAREBUFFER_FORMAT_YCBCR_P210...
* To PublicFormat * To various checks in AHardwareBuffer Bug: 370458610 Flag: EXEMPT NDK Change-Id: I7e82febd419bc9cd6cbd74ff6fef168d864eb784
1 parent ffdc6e0 commit ffda356

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

libs/nativewindow/AHardwareBuffer.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ static_assert(
112112
static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::RGBA_10101010) ==
113113
AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM,
114114
"HAL and AHardwareBuffer pixel format don't match");
115+
static_assert(
116+
static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::YCBCR_P210) ==
117+
AHARDWAREBUFFER_FORMAT_YCbCr_P210,
118+
"HAL and AHardwareBuffer pixel format don't match");
115119

116120
static enum AHardwareBufferStatus filterStatus(status_t status) {
117121
switch (status) {
@@ -300,8 +304,10 @@ int AHardwareBuffer_lockPlanes(AHardwareBuffer* buffer, uint64_t usage,
300304
if (result == 0) {
301305
outPlanes->planeCount = 3;
302306
outPlanes->planes[0].data = yuvData.y;
303-
// P010 is word-aligned 10-bit semiplaner, and YCbCr_422_I is a single interleaved plane
307+
// P010 & P210 are word-aligned 10-bit semiplaner, and YCbCr_422_I is a single interleaved
308+
// plane
304309
if (format == AHARDWAREBUFFER_FORMAT_YCbCr_P010 ||
310+
format == AHARDWAREBUFFER_FORMAT_YCbCr_P210 ||
305311
format == AHARDWAREBUFFER_FORMAT_YCbCr_422_I) {
306312
outPlanes->planes[0].pixelStride = 2;
307313
} else {
@@ -724,6 +730,7 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) {
724730
case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP:
725731
case AHARDWAREBUFFER_FORMAT_YCbCr_422_I:
726732
case AHARDWAREBUFFER_FORMAT_YCbCr_P010:
733+
case AHARDWAREBUFFER_FORMAT_YCbCr_P210:
727734
return true;
728735
default:
729736
return false;

libs/ui/include/ui/PublicFormat.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ enum class PublicFormat {
6060
JPEG_R = 0x1005,
6161
HEIC = 0x48454946,
6262
HEIC_ULTRAHDR = 0x1006,
63+
YCBCR_P210 = 0x3c,
6364
};
6465

6566
/* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL

0 commit comments

Comments
 (0)