• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ANGLE_yuv_internal_format
4
5Name Strings
6
7    GL_ANGLE_yuv_internal_format
8
9Contributors
10
11    Mohan Maiya, Samsung
12    Jamie Madill, Google
13
14Contacts
15
16    Mohan Maiya, Samsung (m.maiya 'at' samsung 'dot' com)
17
18Notice
19
20    Copyright (c) 2021 The Khronos Group Inc. Copyright terms at
21        http://www.khronos.org/registry/speccopyright.html
22
23Status
24
25    Draft.
26
27Version
28
29    Version 5, June 23, 2021
30
31Number
32
33    OpenGL ES Extension ###
34
35Dependencies
36
37    OpenGL ES 3.0 is required.
38
39Overview
40
41    This extension introduces a few sized internal YUV texture formats
42    that can be used to create immutable textures using the TexStorage2D API.
43    The only valid texture target supported is TEXTURE_2D, an INVALID_ENUM
44    error is generated otherwise. There is no mipmap support and only NEAREST
45    minification and magnification filters are supported.
46
47    Support for the extension only requires the support of the commonly used 8-bit
48    2-plane YUV format listed in the "New Tokens" section, refer to [fn1] for details
49    about the formats and layout. It is up to the implementation to extend support
50    for the other YUV formats.
51
52    [fn1] : https://www.fourcc.org/yuv.php
53
54New Types
55
56    None.
57
58New Procedures and Functions
59
60    None.
61
62New Tokens
63
64    List of non-standard YUV internal formats
65
66    // 8-bit YUV formats
67    G8_B8R8_2PLANE_420_UNORM_ANGLE                    0x96B1
68    G8_B8_R8_3PLANE_420_UNORM_ANGLE                   0x96B2
69
70    // 10-bit YUV formats
71    G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE   0x96B3
72    G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE  0x96B4
73
74    // 12-bit YUV formats
75    G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE   0x96B5
76    G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE  0x96B6
77
78    // 16-bit YUV formats
79    G16_B16R16_2PLANE_420_UNORM_ANGLE                 0x96B7
80    G16_B16_R16_3PLANE_420_UNORM_ANGLE                0x96B8
81
82
83Issues
84
85    1. How was the new format list chosen?
86
87       Commonly used planar YUV formats across various platforms were surveyed,
88       including new platforms that support HDR content. A subset of those were
89       chosen to be required. It is up to the implementations to extend support
90       for the rest of the formats.
91
92    2. What is the colorspace of image data of a texture created with the new formats?
93
94       The texture or sampler parameter APIs can be expanded to indicate the colorspace
95       in a layered extension and is outside the scope of this extension. The colorspace
96       for textures with the above YUV formats is assumed to be ITU-R BT.601 with YUV
97       values in limited range. Refer to ITU-R BT.601 spec for further details.
98
99Revision History
100
101    #5 - (June 23, 2021) Mohan Maiya
102         Renamed format enums from *_ANGLEX to *_ANGLE
103
104    #4 - (June 23, 2021) Mohan Maiya
105         Removed references to GL_OES_EGL_image_external
106         and restricted the spec to simply introducing new
107         sized internal YUV formats. Also updated enum values
108
109    #3 - (June 8, 2021) Mohan Maiya
110         Clarification regarding default colorspace
111
112    #2 - (May 10, 2021) Mohan Maiya
113         Update overview section to specify support for
114         immutable textures
115
116    #1 - (April 10, 2021) Mohan Maiya
117         Original draft
118