/* * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file display_format.h * * @brief Declares display format-related enumeration. * * @since 1.0 * @version 1.0 */ #ifndef DISPLAY_FORMAT_H #define DISPLAY_FORMAT_H #include namespace OHOS::Camera { enum BufferUsage : uint64_t { HBM_USE_CPU_READ = (1ULL << 0), HBM_USE_CPU_WRITE = (1ULL << 1), HBM_USE_MEM_MMZ = (1ULL << 2), HBM_USE_MEM_DMA = (1ULL << 3), HBM_USE_MEM_SHARE = (1ULL << 4), HBM_USE_MEM_MMZ_CACHE = (1ULL << 5), HBM_USE_MEM_FB = (1ULL << 6), HBM_USE_ASSIGN_SIZE = (1ULL << 7), HBM_USE_HW_RENDER = (1ULL << 8), HBM_USE_HW_TEXTURE = (1ULL << 9), HBM_USE_HW_COMPOSER = (1ULL << 10), HBM_USE_PROTECTED = (1ULL << 11), HBM_USE_CAMERA_READ = (1ULL << 12), HBM_USE_CAMERA_WRITE = (1ULL << 13), HBM_USE_VIDEO_ENCODER = (1ULL << 14), HBM_USE_VIDEO_DECODER = (1ULL << 15), HBM_USE_CPU_READ_OFTEN = (1ULL << 16), HBM_USE_VENDOR_PRI0 = (1ULL << 44), HBM_USE_VENDOR_PRI1 = (1ULL << 45), HBM_USE_VENDOR_PRI2 = (1ULL << 46), HBM_USE_VENDOR_PRI3 = (1ULL << 47), HBM_USE_VENDOR_PRI4 = (1ULL << 48), HBM_USE_VENDOR_PRI5 = (1ULL << 49), HBM_USE_VENDOR_PRI6 = (1ULL << 50), HBM_USE_VENDOR_PRI7 = (1ULL << 51), HBM_USE_VENDOR_PRI8 = (1ULL << 52), HBM_USE_VENDOR_PRI9 = (1ULL << 53), HBM_USE_VENDOR_PRI10 = (1ULL << 54), HBM_USE_VENDOR_PRI11 = (1ULL << 55), HBM_USE_VENDOR_PRI12 = (1ULL << 56), HBM_USE_VENDOR_PRI13 = (1ULL << 57), HBM_USE_VENDOR_PRI14 = (1ULL << 58), HBM_USE_VENDOR_PRI15 = (1ULL << 59), HBM_USE_VENDOR_PRI16 = (1ULL << 60), HBM_USE_VENDOR_PRI17 = (1ULL << 61), HBM_USE_VENDOR_PRI18 = (1ULL << 62), HBM_USE_VENDOR_PRI19 = (1ULL << 63), }; enum PixelFormat : int32_t { PIXEL_FMT_CLUT8 = 0, PIXEL_FMT_CLUT1, PIXEL_FMT_CLUT4, PIXEL_FMT_RGB_565, PIXEL_FMT_RGBA_5658, PIXEL_FMT_RGBX_4444, PIXEL_FMT_RGBA_4444, PIXEL_FMT_RGB_444, PIXEL_FMT_RGBX_5551, PIXEL_FMT_RGBA_5551, PIXEL_FMT_RGB_555, PIXEL_FMT_RGBX_8888, PIXEL_FMT_RGBA_8888, PIXEL_FMT_RGB_888, PIXEL_FMT_BGR_565, PIXEL_FMT_BGRX_4444, PIXEL_FMT_BGRA_4444, PIXEL_FMT_BGRX_5551, PIXEL_FMT_BGRA_5551, PIXEL_FMT_BGRX_8888, PIXEL_FMT_BGRA_8888, PIXEL_FMT_YUV_422_I, PIXEL_FMT_YCBCR_422_SP, PIXEL_FMT_YCRCB_422_SP, PIXEL_FMT_YCBCR_420_SP, PIXEL_FMT_YCRCB_420_SP, PIXEL_FMT_YCBCR_422_P, PIXEL_FMT_YCRCB_422_P, PIXEL_FMT_YCBCR_420_P, PIXEL_FMT_YCRCB_420_P, PIXEL_FMT_YUYV_422_PKG, PIXEL_FMT_UYVY_422_PKG, PIXEL_FMT_YVYU_422_PKG, PIXEL_FMT_VYUY_422_PKG, PIXEL_FMT_RGBA_1010102, PIXEL_FMT_YCBCR_P010, PIXEL_FMT_YCRCB_P010, PIXEL_FMT_RAW10, PIXEL_FMT_VENDER_MASK = 0X7FFF0000, PIXEL_FMT_BUTT = 0X7FFFFFFF, }; enum OhosColorSpace { OHOS_CAMERA_COLORSPACE_NONE, // COLORPRIMARIES_BT709 | (TRANSFUNC_BT709 << 8) | (MATRIX_BT709 << 16) | (RANGE_FULL << 21) OHOS_CAMERA_BT709_FULL = 1 | (1 << 8) | (1 << 16) | (1 << 21), // COLORPRIMARIES_BT2020 | (TRANSFUNC_HLG << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21) OHOS_CAMERA_BT2020_HLG_FULL = 4 | (5 << 8) | (4 << 16) | (1 << 21), // COLORPRIMARIES_BT2020 | (TRANSFUNC_PQ << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21) OHOS_CAMERA_BT2020_PQ_FULL = 4 | (4 << 8) | (4 << 16) | (1 << 21), // COLORPRIMARIES_SRGB | (TRANSFUNC_SRGB << 8) | (MATRIX_BT601_N << 16) | (RANGE_FULL << 21) OHOS_CAMERA_SRGB_FULL = 1 | (2 << 8) | (3 << 16) | (1 << 21), // COLORPRIMARIES_P3_D65 | (TRANSFUNC_SRGB << 8) | (MATRIX_P3 << 16) | (RANGE_FULL << 21) OHOS_CAMERA_P3_FULL = 6 | (2 << 8) | (3 << 16) | (1 << 21), }; } // end namespace OHOS::Camera #endif