~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to include/android_stub/android/data_space.h

  • Committer: mmach
  • Date: 2022-09-22 19:58:36 UTC
  • Revision ID: netbit73@gmail.com-20220922195836-9nl9joew85y8d25o
2022-07-04 12:44:28

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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