1094332d3Sopenharmony_ci/* 2094332d3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License. 5094332d3Sopenharmony_ci * You may obtain a copy of the License at 6094332d3Sopenharmony_ci * 7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8094332d3Sopenharmony_ci * 9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and 13094332d3Sopenharmony_ci * limitations under the License. 14094332d3Sopenharmony_ci */ 15094332d3Sopenharmony_ci 16094332d3Sopenharmony_ci/** 17094332d3Sopenharmony_ci * @file display_format.h 18094332d3Sopenharmony_ci * 19094332d3Sopenharmony_ci * @brief Declares display format-related enumeration. 20094332d3Sopenharmony_ci * 21094332d3Sopenharmony_ci * @since 1.0 22094332d3Sopenharmony_ci * @version 1.0 23094332d3Sopenharmony_ci */ 24094332d3Sopenharmony_ci 25094332d3Sopenharmony_ci#ifndef DISPLAY_FORMAT_H 26094332d3Sopenharmony_ci#define DISPLAY_FORMAT_H 27094332d3Sopenharmony_ci 28094332d3Sopenharmony_ci#include <cstdint> 29094332d3Sopenharmony_ci 30094332d3Sopenharmony_cinamespace OHOS::Camera { 31094332d3Sopenharmony_ci 32094332d3Sopenharmony_cienum BufferUsage : uint64_t { 33094332d3Sopenharmony_ci HBM_USE_CPU_READ = (1ULL << 0), 34094332d3Sopenharmony_ci HBM_USE_CPU_WRITE = (1ULL << 1), 35094332d3Sopenharmony_ci HBM_USE_MEM_MMZ = (1ULL << 2), 36094332d3Sopenharmony_ci HBM_USE_MEM_DMA = (1ULL << 3), 37094332d3Sopenharmony_ci HBM_USE_MEM_SHARE = (1ULL << 4), 38094332d3Sopenharmony_ci HBM_USE_MEM_MMZ_CACHE = (1ULL << 5), 39094332d3Sopenharmony_ci HBM_USE_MEM_FB = (1ULL << 6), 40094332d3Sopenharmony_ci HBM_USE_ASSIGN_SIZE = (1ULL << 7), 41094332d3Sopenharmony_ci HBM_USE_HW_RENDER = (1ULL << 8), 42094332d3Sopenharmony_ci HBM_USE_HW_TEXTURE = (1ULL << 9), 43094332d3Sopenharmony_ci HBM_USE_HW_COMPOSER = (1ULL << 10), 44094332d3Sopenharmony_ci HBM_USE_PROTECTED = (1ULL << 11), 45094332d3Sopenharmony_ci HBM_USE_CAMERA_READ = (1ULL << 12), 46094332d3Sopenharmony_ci HBM_USE_CAMERA_WRITE = (1ULL << 13), 47094332d3Sopenharmony_ci HBM_USE_VIDEO_ENCODER = (1ULL << 14), 48094332d3Sopenharmony_ci HBM_USE_VIDEO_DECODER = (1ULL << 15), 49094332d3Sopenharmony_ci HBM_USE_CPU_READ_OFTEN = (1ULL << 16), 50094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI0 = (1ULL << 44), 51094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI1 = (1ULL << 45), 52094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI2 = (1ULL << 46), 53094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI3 = (1ULL << 47), 54094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI4 = (1ULL << 48), 55094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI5 = (1ULL << 49), 56094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI6 = (1ULL << 50), 57094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI7 = (1ULL << 51), 58094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI8 = (1ULL << 52), 59094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI9 = (1ULL << 53), 60094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI10 = (1ULL << 54), 61094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI11 = (1ULL << 55), 62094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI12 = (1ULL << 56), 63094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI13 = (1ULL << 57), 64094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI14 = (1ULL << 58), 65094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI15 = (1ULL << 59), 66094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI16 = (1ULL << 60), 67094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI17 = (1ULL << 61), 68094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI18 = (1ULL << 62), 69094332d3Sopenharmony_ci HBM_USE_VENDOR_PRI19 = (1ULL << 63), 70094332d3Sopenharmony_ci}; 71094332d3Sopenharmony_ci 72094332d3Sopenharmony_cienum PixelFormat : int32_t { 73094332d3Sopenharmony_ci PIXEL_FMT_CLUT8 = 0, 74094332d3Sopenharmony_ci PIXEL_FMT_CLUT1, 75094332d3Sopenharmony_ci PIXEL_FMT_CLUT4, 76094332d3Sopenharmony_ci PIXEL_FMT_RGB_565, 77094332d3Sopenharmony_ci PIXEL_FMT_RGBA_5658, 78094332d3Sopenharmony_ci PIXEL_FMT_RGBX_4444, 79094332d3Sopenharmony_ci PIXEL_FMT_RGBA_4444, 80094332d3Sopenharmony_ci PIXEL_FMT_RGB_444, 81094332d3Sopenharmony_ci PIXEL_FMT_RGBX_5551, 82094332d3Sopenharmony_ci PIXEL_FMT_RGBA_5551, 83094332d3Sopenharmony_ci PIXEL_FMT_RGB_555, 84094332d3Sopenharmony_ci PIXEL_FMT_RGBX_8888, 85094332d3Sopenharmony_ci PIXEL_FMT_RGBA_8888, 86094332d3Sopenharmony_ci PIXEL_FMT_RGB_888, 87094332d3Sopenharmony_ci PIXEL_FMT_BGR_565, 88094332d3Sopenharmony_ci PIXEL_FMT_BGRX_4444, 89094332d3Sopenharmony_ci PIXEL_FMT_BGRA_4444, 90094332d3Sopenharmony_ci PIXEL_FMT_BGRX_5551, 91094332d3Sopenharmony_ci PIXEL_FMT_BGRA_5551, 92094332d3Sopenharmony_ci PIXEL_FMT_BGRX_8888, 93094332d3Sopenharmony_ci PIXEL_FMT_BGRA_8888, 94094332d3Sopenharmony_ci PIXEL_FMT_YUV_422_I, 95094332d3Sopenharmony_ci PIXEL_FMT_YCBCR_422_SP, 96094332d3Sopenharmony_ci PIXEL_FMT_YCRCB_422_SP, 97094332d3Sopenharmony_ci PIXEL_FMT_YCBCR_420_SP, 98094332d3Sopenharmony_ci PIXEL_FMT_YCRCB_420_SP, 99094332d3Sopenharmony_ci PIXEL_FMT_YCBCR_422_P, 100094332d3Sopenharmony_ci PIXEL_FMT_YCRCB_422_P, 101094332d3Sopenharmony_ci PIXEL_FMT_YCBCR_420_P, 102094332d3Sopenharmony_ci PIXEL_FMT_YCRCB_420_P, 103094332d3Sopenharmony_ci PIXEL_FMT_YUYV_422_PKG, 104094332d3Sopenharmony_ci PIXEL_FMT_UYVY_422_PKG, 105094332d3Sopenharmony_ci PIXEL_FMT_YVYU_422_PKG, 106094332d3Sopenharmony_ci PIXEL_FMT_VYUY_422_PKG, 107094332d3Sopenharmony_ci PIXEL_FMT_RGBA_1010102, 108094332d3Sopenharmony_ci PIXEL_FMT_YCBCR_P010, 109094332d3Sopenharmony_ci PIXEL_FMT_YCRCB_P010, 110094332d3Sopenharmony_ci PIXEL_FMT_RAW10, 111094332d3Sopenharmony_ci PIXEL_FMT_VENDER_MASK = 0X7FFF0000, 112094332d3Sopenharmony_ci PIXEL_FMT_BUTT = 0X7FFFFFFF, 113094332d3Sopenharmony_ci}; 114094332d3Sopenharmony_ci 115094332d3Sopenharmony_cienum OhosColorSpace { 116094332d3Sopenharmony_ci OHOS_CAMERA_COLORSPACE_NONE, 117094332d3Sopenharmony_ci // COLORPRIMARIES_BT709 | (TRANSFUNC_BT709 << 8) | (MATRIX_BT709 << 16) | (RANGE_FULL << 21) 118094332d3Sopenharmony_ci OHOS_CAMERA_BT709_FULL = 1 | (1 << 8) | (1 << 16) | (1 << 21), 119094332d3Sopenharmony_ci // COLORPRIMARIES_BT2020 | (TRANSFUNC_HLG << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21) 120094332d3Sopenharmony_ci OHOS_CAMERA_BT2020_HLG_FULL = 4 | (5 << 8) | (4 << 16) | (1 << 21), 121094332d3Sopenharmony_ci // COLORPRIMARIES_BT2020 | (TRANSFUNC_PQ << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21) 122094332d3Sopenharmony_ci OHOS_CAMERA_BT2020_PQ_FULL = 4 | (4 << 8) | (4 << 16) | (1 << 21), 123094332d3Sopenharmony_ci // COLORPRIMARIES_SRGB | (TRANSFUNC_SRGB << 8) | (MATRIX_BT601_N << 16) | (RANGE_FULL << 21) 124094332d3Sopenharmony_ci OHOS_CAMERA_SRGB_FULL = 1 | (2 << 8) | (3 << 16) | (1 << 21), 125094332d3Sopenharmony_ci // COLORPRIMARIES_P3_D65 | (TRANSFUNC_SRGB << 8) | (MATRIX_P3 << 16) | (RANGE_FULL << 21) 126094332d3Sopenharmony_ci OHOS_CAMERA_P3_FULL = 6 | (2 << 8) | (3 << 16) | (1 << 21), 127094332d3Sopenharmony_ci}; 128094332d3Sopenharmony_ci 129094332d3Sopenharmony_ci} // end namespace OHOS::Camera 130094332d3Sopenharmony_ci#endif 131