Loading libs/nativewindow/AHardwareBuffer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -584,6 +584,8 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_422_I == AHARDWAREBUFFER_FORMAT_YCbCr_422_I, "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_P010 == AHARDWAREBUFFER_FORMAT_YCbCr_P010, "HAL and AHardwareBuffer pixel format don't match"); static_assert(static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::R_8) == AHARDWAREBUFFER_FORMAT_R8_UNORM, "HAL and AHardwareBuffer pixel format don't match"); Loading Loading @@ -617,6 +619,7 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: Loading @@ -633,6 +636,7 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: return false; Loading libs/nativewindow/include/android/hardware_buffer.h +8 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,14 @@ enum AHardwareBuffer_Format { */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, /** * YUV P010 format. * Must have an even width and height. Can be accessed in OpenGL * shaders through an external sampler. Does not support mip-maps * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_YCbCr_P010 = 0x36, /** * Corresponding formats: * Vulkan: VK_FORMAT_R8_UNORM Loading Loading
libs/nativewindow/AHardwareBuffer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -584,6 +584,8 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_422_I == AHARDWAREBUFFER_FORMAT_YCbCr_422_I, "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_P010 == AHARDWAREBUFFER_FORMAT_YCbCr_P010, "HAL and AHardwareBuffer pixel format don't match"); static_assert(static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::R_8) == AHARDWAREBUFFER_FORMAT_R8_UNORM, "HAL and AHardwareBuffer pixel format don't match"); Loading Loading @@ -617,6 +619,7 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: Loading @@ -633,6 +636,7 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: return false; Loading
libs/nativewindow/include/android/hardware_buffer.h +8 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,14 @@ enum AHardwareBuffer_Format { */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, /** * YUV P010 format. * Must have an even width and height. Can be accessed in OpenGL * shaders through an external sampler. Does not support mip-maps * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_YCbCr_P010 = 0x36, /** * Corresponding formats: * Vulkan: VK_FORMAT_R8_UNORM Loading