Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/include/android_stub/android/data_space.h
4547 views
1
/*
2
* Copyright 2018 The Android Open Source Project
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
/**
18
* @file data_space.h
19
*/
20
21
#ifndef ANDROID_DATA_SPACE_H
22
#define ANDROID_DATA_SPACE_H
23
24
#include <inttypes.h>
25
26
#include <sys/cdefs.h>
27
28
__BEGIN_DECLS
29
30
/**
31
* ADataSpace.
32
*/
33
enum ADataSpace {
34
/**
35
* Default-assumption data space, when not explicitly specified.
36
*
37
* It is safest to assume the buffer is an image with sRGB primaries and
38
* encoding ranges, but the consumer and/or the producer of the data may
39
* simply be using defaults. No automatic gamma transform should be
40
* expected, except for a possible display gamma transform when drawn to a
41
* screen.
42
*/
43
ADATASPACE_UNKNOWN = 0,
44
45
/**
46
* scRGB linear encoding:
47
*
48
* The red, green, and blue components are stored in extended sRGB space,
49
* but are linear, not gamma-encoded.
50
* The RGB primaries and the white point are the same as BT.709.
51
*
52
* The values are floating point.
53
* A pixel value of 1.0, 1.0, 1.0 corresponds to sRGB white (D65) at 80 nits.
54
* Values beyond the range [0.0 - 1.0] would correspond to other colors
55
* spaces and/or HDR content.
56
*/
57
ADATASPACE_SCRGB_LINEAR = 406913024, // STANDARD_BT709 | TRANSFER_LINEAR | RANGE_EXTENDED
58
59
/**
60
* sRGB gamma encoding:
61
*
62
* The red, green and blue components are stored in sRGB space, and
63
* converted to linear space when read, using the SRGB transfer function
64
* for each of the R, G and B components. When written, the inverse
65
* transformation is performed.
66
*
67
* The alpha component, if present, is always stored in linear space and
68
* is left unmodified when read or written.
69
*
70
* Use full range and BT.709 standard.
71
*/
72
ADATASPACE_SRGB = 142671872, // STANDARD_BT709 | TRANSFER_SRGB | RANGE_FULL
73
74
/**
75
* scRGB:
76
*
77
* The red, green, and blue components are stored in extended sRGB space,
78
* and gamma-encoded using the SRGB transfer function.
79
* The RGB primaries and the white point are the same as BT.709.
80
*
81
* The values are floating point.
82
* A pixel value of 1.0, 1.0, 1.0 corresponds to sRGB white (D65) at 80 nits.
83
* Values beyond the range [0.0 - 1.0] would correspond to other colors
84
* spaces and/or HDR content.
85
*/
86
ADATASPACE_SCRGB = 411107328, // STANDARD_BT709 | TRANSFER_SRGB | RANGE_EXTENDED
87
88
/**
89
* Display P3
90
*
91
* Use same primaries and white-point as DCI-P3
92
* but sRGB transfer function.
93
*/
94
ADATASPACE_DISPLAY_P3 = 143261696, // STANDARD_DCI_P3 | TRANSFER_SRGB | RANGE_FULL
95
96
/**
97
* ITU-R Recommendation 2020 (BT.2020)
98
*
99
* Ultra High-definition television
100
*
101
* Use full range, SMPTE 2084 (PQ) transfer and BT2020 standard
102
*/
103
ADATASPACE_BT2020_PQ = 163971072, // STANDARD_BT2020 | TRANSFER_ST2084 | RANGE_FULL
104
105
/**
106
* Adobe RGB
107
*
108
* Use full range, gamma 2.2 transfer and Adobe RGB primaries
109
* Note: Application is responsible for gamma encoding the data as
110
* a 2.2 gamma encoding is not supported in HW.
111
*/
112
ADATASPACE_ADOBE_RGB = 151715840, // STANDARD_ADOBE_RGB | TRANSFER_GAMMA2_2 | RANGE_FULL
113
114
/**
115
* ITU-R Recommendation 2020 (BT.2020)
116
*
117
* Ultra High-definition television
118
*
119
* Use full range, BT.709 transfer and BT2020 standard
120
*/
121
ADATASPACE_BT2020 = 147193856, // STANDARD_BT2020 | TRANSFER_SMPTE_170M | RANGE_FULL
122
123
/**
124
* ITU-R Recommendation 709 (BT.709)
125
*
126
* High-definition television
127
*
128
* Use limited range, BT.709 transfer and BT.709 standard.
129
*/
130
ADATASPACE_BT709 = 281083904, // STANDARD_BT709 | TRANSFER_SMPTE_170M | RANGE_LIMITED
131
132
/**
133
* SMPTE EG 432-1 and SMPTE RP 431-2.
134
*
135
* Digital Cinema DCI-P3
136
*
137
* Use full range, gamma 2.6 transfer and D65 DCI-P3 standard
138
* Note: Application is responsible for gamma encoding the data as
139
* a 2.6 gamma encoding is not supported in HW.
140
*/
141
ADATASPACE_DCI_P3 = 155844608, // STANDARD_DCI_P3 | TRANSFER_GAMMA2_6 | RANGE_FULL
142
143
/**
144
* sRGB linear encoding:
145
*
146
* The red, green, and blue components are stored in sRGB space, but
147
* are linear, not gamma-encoded.
148
* The RGB primaries and the white point are the same as BT.709.
149
*
150
* The values are encoded using the full range ([0,255] for 8-bit) for all
151
* components.
152
*/
153
ADATASPACE_SRGB_LINEAR = 138477568, // STANDARD_BT709 | TRANSFER_LINEAR | RANGE_FULL
154
};
155
156
__END_DECLS
157
158
#endif // ANDROID_DATA_SPACE_H
159
160