OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef VP9_COMMON_VP9_ENUMS_H_ | 11 #ifndef VP9_COMMON_VP9_ENUMS_H_ |
12 #define VP9_COMMON_VP9_ENUMS_H_ | 12 #define VP9_COMMON_VP9_ENUMS_H_ |
13 | 13 |
14 #include "./vpx_config.h" | 14 #include "./vpx_config.h" |
15 | 15 |
16 #ifdef __cplusplus | 16 #ifdef __cplusplus |
17 extern "C" { | 17 extern "C" { |
18 #endif | 18 #endif |
19 | 19 |
20 #define MI_SIZE_LOG2 3 | 20 #define MI_SIZE_LOG2 3 |
21 #define MI_BLOCK_SIZE_LOG2 (6 - MI_SIZE_LOG2) // 64 = 2^6 | 21 #define MI_BLOCK_SIZE_LOG2 (6 - MI_SIZE_LOG2) // 64 = 2^6 |
22 | 22 |
23 #define MI_SIZE (1 << MI_SIZE_LOG2) // pixels per mi-unit | 23 #define MI_SIZE (1 << MI_SIZE_LOG2) // pixels per mi-unit |
24 #define MI_BLOCK_SIZE (1 << MI_BLOCK_SIZE_LOG2) // mi-units per max block | 24 #define MI_BLOCK_SIZE (1 << MI_BLOCK_SIZE_LOG2) // mi-units per max block |
25 | 25 |
26 #define MI_MASK (MI_BLOCK_SIZE - 1) | 26 #define MI_MASK (MI_BLOCK_SIZE - 1) |
27 | 27 |
28 // Bitstream profiles indicated by 2 bits in the uncompressed header. | 28 // Bitstream profiles indicated by 2-3 bits in the uncompressed header. |
29 // 00: Profile 0. 4:2:0 only. | 29 // 00: Profile 0. 8-bit 4:2:0 only. |
30 // 10: Profile 1. adds 4:4:4, 4:2:2, alpha. | 30 // 10: Profile 1. Adds 4:4:4, 4:2:2, alpha to Profile 0. |
31 // 01: Profile 2. Supports 10-bit and 12-bit color only. | 31 // 01: Profile 2. Supports 10-bit and 12-bit color only, with 4:2:0 sampling. |
32 // 11: Undefined profile. | 32 // 110: Profile 3. Supports 10-bit and 12-bit color only, with 4:2:2/4:4:4 |
| 33 // sampling and alpha. |
| 34 // 111: Undefined profile. |
33 typedef enum BITSTREAM_PROFILE { | 35 typedef enum BITSTREAM_PROFILE { |
34 PROFILE_0, | 36 PROFILE_0, |
35 PROFILE_1, | 37 PROFILE_1, |
36 PROFILE_2, | 38 PROFILE_2, |
| 39 PROFILE_3, |
37 MAX_PROFILES | 40 MAX_PROFILES |
38 } BITSTREAM_PROFILE; | 41 } BITSTREAM_PROFILE; |
39 | 42 |
40 typedef enum BIT_DEPTH { | 43 typedef enum BIT_DEPTH { |
41 BITS_8, | 44 BITS_8, |
42 BITS_10, | 45 BITS_10, |
43 BITS_12 | 46 BITS_12 |
44 } BIT_DEPTH; | 47 } BIT_DEPTH; |
45 | 48 |
46 typedef enum BLOCK_SIZE { | 49 typedef enum BLOCK_SIZE { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 VP9_LAST_FLAG = 1 << 0, | 118 VP9_LAST_FLAG = 1 << 0, |
116 VP9_GOLD_FLAG = 1 << 1, | 119 VP9_GOLD_FLAG = 1 << 1, |
117 VP9_ALT_FLAG = 1 << 2, | 120 VP9_ALT_FLAG = 1 << 2, |
118 } VP9_REFFRAME; | 121 } VP9_REFFRAME; |
119 | 122 |
120 #ifdef __cplusplus | 123 #ifdef __cplusplus |
121 } // extern "C" | 124 } // extern "C" |
122 #endif | 125 #endif |
123 | 126 |
124 #endif // VP9_COMMON_VP9_ENUMS_H_ | 127 #endif // VP9_COMMON_VP9_ENUMS_H_ |
OLD | NEW |