1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef API_BASE_FORMATS_H
17 #define API_BASE_FORMATS_H
18 
19 #include <cstdint>
20 
21 #include <base/namespace.h>
22 
23 BASE_BEGIN_NAMESPACE()
24 /** \addtogroup group_formats
25  *  @{
26  */
27 /** Format */
28 enum Format {
29     /** Undefined */
30     BASE_FORMAT_UNDEFINED = 0,
31     /** R4G4 UNORM PACK8 */
32     BASE_FORMAT_R4G4_UNORM_PACK8 = 1,
33     /** R4G4B4A4 UNORM PACK16 */
34     BASE_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
35     /** B4G4R4A4 UNORM PACK16 */
36     BASE_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
37     /** R5G6B5 UNORM PACK16 */
38     BASE_FORMAT_R5G6B5_UNORM_PACK16 = 4,
39     /** B5G6R5 UNORM PACK16 */
40     BASE_FORMAT_B5G6R5_UNORM_PACK16 = 5,
41     /** R5G5B5A1 UNORM PACK16 */
42     BASE_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
43     /** B5G5R5A1 UNORM PACK16 */
44     BASE_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
45     /** A1R5G5B5 UNORM PACK16 */
46     BASE_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
47     /** R8 UNORM */
48     BASE_FORMAT_R8_UNORM = 9,
49     /** R8 SNORM */
50     BASE_FORMAT_R8_SNORM = 10,
51     /** R8 USCALED */
52     BASE_FORMAT_R8_USCALED = 11,
53     /** R8 SSCALED */
54     BASE_FORMAT_R8_SSCALED = 12,
55     /** R8 UINT */
56     BASE_FORMAT_R8_UINT = 13,
57     /** R8 SINT */
58     BASE_FORMAT_R8_SINT = 14,
59     /** R8 SRGB */
60     BASE_FORMAT_R8_SRGB = 15,
61     /** R8G8 UNORM */
62     BASE_FORMAT_R8G8_UNORM = 16,
63     /** R8G8 SNORM */
64     BASE_FORMAT_R8G8_SNORM = 17,
65     /** R8G8 USCALED */
66     BASE_FORMAT_R8G8_USCALED = 18,
67     /** R8G8 SSCALED */
68     BASE_FORMAT_R8G8_SSCALED = 19,
69     /** R8G8 UINT */
70     BASE_FORMAT_R8G8_UINT = 20,
71     /** R8G8 SINT */
72     BASE_FORMAT_R8G8_SINT = 21,
73     /** R8G8 SRGB */
74     BASE_FORMAT_R8G8_SRGB = 22,
75     /** R8G8B8 UNORM */
76     BASE_FORMAT_R8G8B8_UNORM = 23,
77     /** R8G8B8 SNORM */
78     BASE_FORMAT_R8G8B8_SNORM = 24,
79     /** R8G8B8 USCALED */
80     BASE_FORMAT_R8G8B8_USCALED = 25,
81     /** R8G8B8 SSCALED */
82     BASE_FORMAT_R8G8B8_SSCALED = 26,
83     /** R8G8B8 UINT */
84     BASE_FORMAT_R8G8B8_UINT = 27,
85     /** R8G8B8 SINT */
86     BASE_FORMAT_R8G8B8_SINT = 28,
87     /** R8G8B8 SRGB */
88     BASE_FORMAT_R8G8B8_SRGB = 29,
89     /** B8G8R8 UNORM */
90     BASE_FORMAT_B8G8R8_UNORM = 30,
91     /** B8G8R8 SNORM */
92     BASE_FORMAT_B8G8R8_SNORM = 31,
93     /** B8G8R8 SNORM */
94     BASE_FORMAT_B8G8R8_USCALED = 32,
95     /** B8G8R8 SNORM */
96     BASE_FORMAT_B8G8R8_SSCALED = 33,
97     /** B8G8R8 UINT */
98     BASE_FORMAT_B8G8R8_UINT = 34,
99     /** B8G8R8 SINT */
100     BASE_FORMAT_B8G8R8_SINT = 35,
101     /** B8G8R8 SRGB */
102     BASE_FORMAT_B8G8R8_SRGB = 36,
103     /** R8G8B8A8 UNORM */
104     BASE_FORMAT_R8G8B8A8_UNORM = 37,
105     /** R8G8B8A8 SNORM */
106     BASE_FORMAT_R8G8B8A8_SNORM = 38,
107     /** R8G8B8A8 USCALED */
108     BASE_FORMAT_R8G8B8A8_USCALED = 39,
109     /** R8G8B8A8 SSCALED */
110     BASE_FORMAT_R8G8B8A8_SSCALED = 40,
111     /** R8G8B8A8 UINT */
112     BASE_FORMAT_R8G8B8A8_UINT = 41,
113     /** R8G8B8A8 SINT */
114     BASE_FORMAT_R8G8B8A8_SINT = 42,
115     /** R8G8B8A8 SRGB */
116     BASE_FORMAT_R8G8B8A8_SRGB = 43,
117     /** B8G8R8A8 UNORM */
118     BASE_FORMAT_B8G8R8A8_UNORM = 44,
119     /** B8G8R8A8 SNORM */
120     BASE_FORMAT_B8G8R8A8_SNORM = 45,
121     /** B8G8R8A8 USCALED */
122     BASE_FORMAT_B8G8R8A8_USCALED = 46,
123     /** B8G8R8A8 SSCALED */
124     BASE_FORMAT_B8G8R8A8_SSCALED = 47,
125     /** B8G8R8A8 UINT */
126     BASE_FORMAT_B8G8R8A8_UINT = 48,
127     /** B8G8R8A8 SINT */
128     BASE_FORMAT_B8G8R8A8_SINT = 49,
129     /** FORMAT B8G8R8A8 SRGB */
130     BASE_FORMAT_B8G8R8A8_SRGB = 50,
131     /** A8B8G8R8 UNORM PACK32 */
132     BASE_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
133     /** A8B8G8R8 SNORM PACK32 */
134     BASE_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
135     /** A8B8G8R8 USCALED PACK32 */
136     BASE_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
137     /** A8B8G8R8 SSCALED PACK32 */
138     BASE_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
139     /** A8B8G8R8 UINT PACK32 */
140     BASE_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
141     /** A8B8G8R8 SINT PACK32 */
142     BASE_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
143     /** A8B8G8R8 SRGB PACK32 */
144     BASE_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
145     /** A2R10G10B10 UNORM PACK32 */
146     BASE_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
147     /** A2R10G10B10 SNORM PACK32 */
148     BASE_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
149     /** A2R10G10B10 USCALED PACK32 */
150     BASE_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
151     /** A2R10G10B10 SSCALED PACK32 */
152     BASE_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
153     /** A2R10G10B10 UINT PACK32 */
154     BASE_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
155     /** A2R10G10B10 SINT PACK32 */
156     BASE_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
157     /** A2B10G10R10 UNORM PACK32 */
158     BASE_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
159     /** A2B10G10R10 SNORM PACK32 */
160     BASE_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
161     /** A2B10G10R10 USCALED PACK32 */
162     BASE_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
163     /** A2B10G10R10 SSCALED PACK32 */
164     BASE_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
165     /** A2B10G10R10 UINT PACK32 */
166     BASE_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
167     /** A2B10G10R10 SINT PACK32 */
168     BASE_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
169     /** R16 UNORM */
170     BASE_FORMAT_R16_UNORM = 70,
171     /** R16 SNORM */
172     BASE_FORMAT_R16_SNORM = 71,
173     /** R16 USCALED */
174     BASE_FORMAT_R16_USCALED = 72,
175     /** R16 SSCALED */
176     BASE_FORMAT_R16_SSCALED = 73,
177     /** R16 UINT */
178     BASE_FORMAT_R16_UINT = 74,
179     /** R16 SINT */
180     BASE_FORMAT_R16_SINT = 75,
181     /** R16 SFLOAT */
182     BASE_FORMAT_R16_SFLOAT = 76,
183     /** R16G16 UNORM */
184     BASE_FORMAT_R16G16_UNORM = 77,
185     /** R16G16 SNORM */
186     BASE_FORMAT_R16G16_SNORM = 78,
187     /** R16G16 USCALED */
188     BASE_FORMAT_R16G16_USCALED = 79,
189     /** R16G16 SSCALED */
190     BASE_FORMAT_R16G16_SSCALED = 80,
191     /** R16G16 UINT */
192     BASE_FORMAT_R16G16_UINT = 81,
193     /** R16G16 SINT */
194     BASE_FORMAT_R16G16_SINT = 82,
195     /** R16G16 SFLOAT */
196     BASE_FORMAT_R16G16_SFLOAT = 83,
197     /** R16G16B16 UNORM */
198     BASE_FORMAT_R16G16B16_UNORM = 84,
199     /** R16G16B16 SNORM */
200     BASE_FORMAT_R16G16B16_SNORM = 85,
201     /** R16G16B16 USCALED */
202     BASE_FORMAT_R16G16B16_USCALED = 86,
203     /** R16G16B16 SSCALED */
204     BASE_FORMAT_R16G16B16_SSCALED = 87,
205     /** R16G16B16 UINT */
206     BASE_FORMAT_R16G16B16_UINT = 88,
207     /** R16G16B16 SINT */
208     BASE_FORMAT_R16G16B16_SINT = 89,
209     /** R16G16B16 SFLOAT */
210     BASE_FORMAT_R16G16B16_SFLOAT = 90,
211     /** R16G16B16A16 UNORM */
212     BASE_FORMAT_R16G16B16A16_UNORM = 91,
213     /** R16G16B16A16 SNORM */
214     BASE_FORMAT_R16G16B16A16_SNORM = 92,
215     /** R16G16B16A16 USCALED */
216     BASE_FORMAT_R16G16B16A16_USCALED = 93,
217     /** R16G16B16A16 SSCALED */
218     BASE_FORMAT_R16G16B16A16_SSCALED = 94,
219     /** R16G16B16A16 UINT */
220     BASE_FORMAT_R16G16B16A16_UINT = 95,
221     /** R16G16B16A16 SINT */
222     BASE_FORMAT_R16G16B16A16_SINT = 96,
223     /** R16G16B16A16 SFLOAT */
224     BASE_FORMAT_R16G16B16A16_SFLOAT = 97,
225     /** R32 UINT */
226     BASE_FORMAT_R32_UINT = 98,
227     /** R32 SINT */
228     BASE_FORMAT_R32_SINT = 99,
229     /** R32 SFLOAT */
230     BASE_FORMAT_R32_SFLOAT = 100,
231     /** R32G32 UINT */
232     BASE_FORMAT_R32G32_UINT = 101,
233     /** R32G32 SINT */
234     BASE_FORMAT_R32G32_SINT = 102,
235     /** R32G32 SFLOAT */
236     BASE_FORMAT_R32G32_SFLOAT = 103,
237     /** R32G32B32 UINT */
238     BASE_FORMAT_R32G32B32_UINT = 104,
239     /** R32G32B32 SINT */
240     BASE_FORMAT_R32G32B32_SINT = 105,
241     /** R32G32B32 SFLOAT */
242     BASE_FORMAT_R32G32B32_SFLOAT = 106,
243     /** R32G32B32A32 UINT */
244     BASE_FORMAT_R32G32B32A32_UINT = 107,
245     /** R32G32B32A32 SINT */
246     BASE_FORMAT_R32G32B32A32_SINT = 108,
247     /** R32G32B32A32 SFLOAT */
248     BASE_FORMAT_R32G32B32A32_SFLOAT = 109,
249     /** R64 UINT */
250     BASE_FORMAT_R64_UINT = 110,
251     /** R64 SINT */
252     BASE_FORMAT_R64_SINT = 111,
253     /** R64 SFLOAT */
254     BASE_FORMAT_R64_SFLOAT = 112,
255     /** R64G64 UINT */
256     BASE_FORMAT_R64G64_UINT = 113,
257     /** R64G64 SINT */
258     BASE_FORMAT_R64G64_SINT = 114,
259     /** R64G64 SFLOAT */
260     BASE_FORMAT_R64G64_SFLOAT = 115,
261     /** R64G64B64 UINT */
262     BASE_FORMAT_R64G64B64_UINT = 116,
263     /** R64G64B64 SINT */
264     BASE_FORMAT_R64G64B64_SINT = 117,
265     /** R64G64B64 SFLOAT */
266     BASE_FORMAT_R64G64B64_SFLOAT = 118,
267     /** R64G64B64A64 UINT */
268     BASE_FORMAT_R64G64B64A64_UINT = 119,
269     /** R64G64B64A64 SINT */
270     BASE_FORMAT_R64G64B64A64_SINT = 120,
271     /** R32G32B32A32 SFLOAT */
272     BASE_FORMAT_R64G64B64A64_SFLOAT = 121,
273     /** B10G11R11 UFLOAT PACK32 */
274     BASE_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
275     /** E5B9G9R9 UFLOAT PACK32 */
276     BASE_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
277     /** D16 UNORM */
278     BASE_FORMAT_D16_UNORM = 124,
279     /** X8 D24 UNORM PACK32 */
280     BASE_FORMAT_X8_D24_UNORM_PACK32 = 125,
281     /** D32 SFLOAT */
282     BASE_FORMAT_D32_SFLOAT = 126,
283     /** S8 UINT */
284     BASE_FORMAT_S8_UINT = 127,
285     /** D16 UNORM S8 UINT */
286     BASE_FORMAT_D16_UNORM_S8_UINT = 128,
287     /** D24 UNORM S8 UINT */
288     BASE_FORMAT_D24_UNORM_S8_UINT = 129,
289     /** D32 SFLOAT S8 UINT */
290     BASE_FORMAT_D32_SFLOAT_S8_UINT = 130,
291     /** BC1 RGB UNORM BLOCK */
292     BASE_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
293     /** BC1 RGB SRGB BLOCK */
294     BASE_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
295     /** BC1 RGBA UNORM BLOCK */
296     BASE_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
297     /** BC1 RGBA SRGB BLOCK */
298     BASE_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
299     /** BC2 UNORM BLOCK */
300     BASE_FORMAT_BC2_UNORM_BLOCK = 135,
301     /** BC2 SRGB BLOCK */
302     BASE_FORMAT_BC2_SRGB_BLOCK = 136,
303     /** BC3 UNORM BLOCK */
304     BASE_FORMAT_BC3_UNORM_BLOCK = 137,
305     /** BC3 SRGB BLOCK */
306     BASE_FORMAT_BC3_SRGB_BLOCK = 138,
307     /** BC4 UNORM BLOCK */
308     BASE_FORMAT_BC4_UNORM_BLOCK = 139,
309     /** BC4 SNORM BLOCK */
310     BASE_FORMAT_BC4_SNORM_BLOCK = 140,
311     /** BC5 UNORM BLOCK */
312     BASE_FORMAT_BC5_UNORM_BLOCK = 141,
313     /** BC5 SNORM BLOCK */
314     BASE_FORMAT_BC5_SNORM_BLOCK = 142,
315     /** BC6H UFLOAT BLOCK */
316     BASE_FORMAT_BC6H_UFLOAT_BLOCK = 143,
317     /** BC6H SFLOAT BLOCK */
318     BASE_FORMAT_BC6H_SFLOAT_BLOCK = 144,
319     /** BC7 UNORM BLOCK */
320     BASE_FORMAT_BC7_UNORM_BLOCK = 145,
321     /** BC7 SRGB BLOCK */
322     BASE_FORMAT_BC7_SRGB_BLOCK = 146,
323     /** ETC2 R8G8B8 UNORM BLOCK */
324     BASE_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
325     /** ETC2 R8G8B8 SRGB BLOCK */
326     BASE_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
327     /** ETC2 R8G8B8A1 UNORM BLOCK */
328     BASE_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
329     /** ETC2 R8G8B8A1 SRGB BLOCK */
330     BASE_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
331     /** ETC2 R8G8B8A8 UNORM BLOCK */
332     BASE_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
333     /** ETC2 R8G8B8A8 SRGB BLOCK */
334     BASE_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
335     /** EAC R11 UNORM BLOCK */
336     BASE_FORMAT_EAC_R11_UNORM_BLOCK = 153,
337     /** EAC R11 SNORM BLOCK */
338     BASE_FORMAT_EAC_R11_SNORM_BLOCK = 154,
339     /** EAC R11G11 UNORM BLOCK */
340     BASE_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
341     /** EAC R11G11 SNORM BLOCK */
342     BASE_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
343     /** ASTC 4x4 UNORM BLOCK */
344     BASE_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
345     /** ASTC 4x4 SRGB BLOCK */
346     BASE_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
347     /** ASTC 5x4 UNORM BLOCK */
348     BASE_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
349     /** ASTC 5x4 SRGB BLOCK */
350     BASE_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
351     /** ASTC 5x5 UNORM BLOCK */
352     BASE_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
353     /** ASTC 5x5 SRGB BLOCK */
354     BASE_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
355     /** ASTC 6x5 UNORM BLOCK */
356     BASE_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
357     /** ASTC 6x5 SRGB BLOCK */
358     BASE_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
359     /** ASTC 6x6 UNORM BLOCK */
360     BASE_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
361     /** ASTC 6x6 SRGB BLOCK */
362     BASE_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
363     /** ASTC 8x5 UNORM BLOCK */
364     BASE_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
365     /** ASTC 8x5 SRGB BLOCK */
366     BASE_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
367     /** ASTC 8x6 UNORM BLOCK */
368     BASE_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
369     /** ASTC 8x6 SRGB BLOCK */
370     BASE_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
371     /** ASTC 8x8 UNORM BLOCK */
372     BASE_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
373     /** ASTC 8x8 SRGB BLOCK */
374     BASE_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
375     /** ASTC 10x5 UNORM BLOCK */
376     BASE_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
377     /** ASTC 10x5 SRGB BLOCK */
378     BASE_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
379     /** ASTC 10x6 UNORM BLOCK */
380     BASE_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
381     /** ASTC 10x6 SRGB BLOCK */
382     BASE_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
383     /** ASTC 10x8 UNORM BLOCK */
384     BASE_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
385     /** ASTC 10x8 SRGB BLOCK */
386     BASE_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
387     /** ASTC 10x10 UNORM BLOCK */
388     BASE_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
389     /** ASTC 10x10 SRGB BLOCK */
390     BASE_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
391     /** ASTC 12x10 UNORM BLOCK */
392     BASE_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
393     /** ASTC 12x10 SRGB BLOCK */
394     BASE_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
395     /** ASTC 12x12 UNORM BLOCK */
396     BASE_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
397     /** ASTC 12x12 SRGB BLOCK */
398     BASE_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
399     /** G8B8G8R8 422 UNORM */
400     BASE_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
401     /** B8G8R8G8 422 UNORM */
402     BASE_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
403     /** G8 B8 R8 3PLANE 420 UNORM */
404     BASE_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
405     /** G8 B8R8 2PLANE 420 UNORM */
406     BASE_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
407     /** G8 B8 R8 3PLANE 422 UNORM */
408     BASE_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
409     /** G8 B8R8 2PLANE 422 UNORM */
410     BASE_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
411     /** G8 B8R8 3PLANE 444 UNORM */
412     BASE_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
413     /** Max enumeration */
414 };
415 /** @} */
416 BASE_END_NAMESPACE()
417 
418 #endif // API_BASE_FORMATS_H
419