2 * Copyright 2017 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
8 * Android graphics.h defines the formats and leaves 0x100 - 0x1FF
9 * range available for HAL implementation specific formats.
12 #ifndef i915_PRIVATE_ANDROID_TYPES_H_
13 #define i915_PRIVATE_ANDROID_TYPES_H_
16 #include <hardware/gralloc1.h>
19 enum { HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL = 0x100,
20 HAL_PIXEL_FORMAT_NV12_LINEAR_INTEL = 0x101,
21 HAL_PIXEL_FORMAT_YCrCb_422_H_INTEL = 0x102,
22 HAL_PIXEL_FORMAT_NV12_LINEAR_PACKED_INTEL = 0x103,
23 HAL_PIXEL_FORMAT_YCbCr_422_H_INTEL = 0x104,
24 HAL_PIXEL_FORMAT_NV12_X_TILED_INTEL = 0x105,
25 HAL_PIXEL_FORMAT_RGBA_5551_INTEL = 0x106,
26 HAL_PIXEL_FORMAT_RGBA_4444_INTEL = 0x107,
27 HAL_PIXEL_FORMAT_GENERIC_8BIT_INTEL = 0x108,
28 HAL_PIXEL_FORMAT_YCbCr_411_INTEL = 0x109,
29 HAL_PIXEL_FORMAT_YCbCr_420_H_INTEL = 0x10A,
30 HAL_PIXEL_FORMAT_YCbCr_422_V_INTEL = 0x10B,
31 HAL_PIXEL_FORMAT_YCbCr_444_INTEL = 0x10C,
32 HAL_PIXEL_FORMAT_RGBP_INTEL = 0x10D,
33 HAL_PIXEL_FORMAT_BGRP_INTEL = 0x10E,
34 HAL_PIXEL_FORMAT_NV12_LINEAR_CAMERA_INTEL = 0x10F,
35 HAL_PIXEL_FORMAT_P010_INTEL = 0x110,
36 HAL_PIXEL_FORMAT_Z16_INTEL = 0x111,
37 HAL_PIXEL_FORMAT_UVMAP64_INTEL = 0x112,
38 HAL_PIXEL_FORMAT_A2R10G10B10_INTEL = 0x113,
39 HAL_PIXEL_FORMAT_A2B10G10R10_INTEL = 0x114,
40 HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL = 0x115,
41 HAL_PIXEL_FORMAT_YCrCb_SWAPUVY_INTEL = 0x116,
42 HAL_PIXEL_FORMAT_YCrCb_SWAPUV_INTEL = 0x117,
43 HAL_PIXEL_FORMAT_YCrCb_SWAPY_INTEL = 0x118,
44 HAL_PIXEL_FORMAT_X2R10G10B10_INTEL = 0x119,
45 HAL_PIXEL_FORMAT_X2B10G10R10_INTEL = 0x11A,
46 HAL_PIXEL_FORMAT_P016_INTEL = 0x11C,
47 HAL_PIXEL_FORMAT_Y210_INTEL = 0x11D,
48 HAL_PIXEL_FORMAT_Y216_INTEL = 0x11E,
49 HAL_PIXEL_FORMAT_Y410_INTEL = 0x11F,
50 HAL_PIXEL_FORMAT_Y416_INTEL = 0x120,
51 HAL_PIXEL_FORMAT_Y8I_INTEL = 0x121,
52 HAL_PIXEL_FORMAT_Y12I_INTEL = 0x122,
53 HAL_PIXEL_FORMAT_YUYV_INTEL = HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL,
54 HAL_PIXEL_FORMAT_YUY2_INTEL = HAL_PIXEL_FORMAT_YCrCb_NORMAL_INTEL,
55 HAL_PIXEL_FORMAT_VYUY_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPUVY_INTEL,
56 HAL_PIXEL_FORMAT_YVYU_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPUV_INTEL,
57 HAL_PIXEL_FORMAT_UYVY_INTEL = HAL_PIXEL_FORMAT_YCrCb_SWAPY_INTEL,
58 HAL_PIXEL_FORMAT_NV12_TILED_INTEL = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
59 HAL_PIXEL_FORMAT_NV12_INTEL = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
60 HAL_PIXEL_FORMAT_INTEL_NV12 = HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL,
61 HAL_PIXEL_FORMAT_NV12 = 0x10F,
62 HAL_PIXEL_FORMAT_YUV420PackedSemiPlanar_INTEL = 0x7FA00E00,
63 HAL_PIXEL_FORMAT_YUV420PackedSemiPlanar_Tiled_INTEL = 0x7FA00F00,
67 enum { GRALLOC1_FUNCTION_SET_MODIFIER = 101,
68 GRALLOC1_FUNCTION_GET_BYTE_STRIDE = 102,
69 GRALLOC1_FUNCTION_GET_PRIME = 103,
70 GRALLOC1_FUNCTION_SET_INTERLACE = 104,
71 GRALLOC1_FUNCTION_SET_PROTECTIONINFO = 105,
72 GRALLOC1_FUNCTION_GET_INTERLACE = 106,
73 GRALLOC1_LAST_CUSTOM = 500 };
75 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_MODIFIER)(
76 gralloc1_device_t *device, gralloc1_buffer_descriptor_t descriptor, uint64_t modifier);
78 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_GET_BYTE_STRIDE)(
79 gralloc1_device_t *device, buffer_handle_t buffer, uint32_t *outStride, uint32_t size);
81 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_GET_PRIME)(
82 gralloc1_device_t *device, buffer_handle_t buffer, uint32_t *prime);
84 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_INTERLACE)(gralloc1_device_t *device,
85 buffer_handle_t buffer,
88 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_GET_INTERLACE)(gralloc1_device_t *device,
89 buffer_handle_t buffer,
92 typedef int32_t /*gralloc1_error_t*/ (*GRALLOC1_PFN_SET_PROTECTIONINFO)(gralloc1_device_t *device,
93 buffer_handle_t buffer,
94 uint32_t protection_info);
96 typedef union intel_protection_info_type_t {
99 uint32_t is_encrypted : 8;
100 uint32_t pavp_sesion_id : 8;
101 uint32_t pavp_instance_id: 16;
103 }intel_protection_info_type_t;