rav1e/
levels.rs

1// Copyright (c) 2018-2022, The rav1e contributors. All rights reserved
2//
3// This source code is subject to the terms of the BSD 2 Clause License and
4// the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
5// was not distributed with this source code in the LICENSE file, you can
6// obtain it at www.aomedia.org/license/software. If the Alliance for Open
7// Media Patent License 1.0 was not distributed with this source code in the
8// PATENTS file, you can obtain it at www.aomedia.org/license/patent.
9
10pub static AV1_LEVEL_DEFINED: [bool; 32] = [
11  true, // 2.0
12  true, // 2.1
13  false, false, true, // 3.0
14  true, // 3.1
15  false, false, true, // 4.0
16  true, // 4.1
17  false, false, true, // 5.0
18  true, // 5.1
19  true, // 5.2
20  true, // 5.3
21  true, // 6.0
22  true, // 6.1
23  true, // 6.2
24  true, // 6.3
25  false, false, false, false, false, false, false, false, false, false, false,
26  false,
27];
28
29pub static AV1_LEVEL_MAX_PIC_SIZE: [usize; 32] = [
30  147456, // 2.0
31  278784, // 2.1
32  0, 0, 665856,  // 3.0
33  1065024, // 3.1
34  0, 0, 2359296,  // 4.0
35  23592960, // 4.1
36  0, 0, 8912896,  // 5.0
37  8912896,  // 5.1
38  8912896,  // 5.2
39  8912896,  // 5.3
40  35651584, // 6.0
41  35651584, // 6.1
42  35651584, // 6.2
43  35651584, // 6.3
44  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45];
46
47pub static AV1_LEVEL_MAX_H_SIZE: [usize; 32] = [
48  2048, // 2.0
49  2816, // 2.1
50  0, 0, 4352, // 3.0
51  5504, // 3.1
52  0, 0, 6144, // 4.0
53  6144, // 4.1
54  0, 0, 8192,  // 5.0
55  8192,  // 5.1
56  8192,  // 5.2
57  8192,  // 5.3
58  16384, // 6.0
59  16384, // 6.1
60  16384, // 6.2
61  16384, // 6.3
62  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63];
64
65pub static AV1_LEVEL_MAX_V_SIZE: [usize; 32] = [
66  1152, // 2.0
67  1584, // 2.1
68  0, 0, 2448, // 3.0
69  3096, // 3.1
70  0, 0, 3456, // 4.0
71  3456, // 4.1
72  0, 0, 4352, // 5.0
73  4352, // 5.1
74  4352, // 5.2
75  4352, // 5.3
76  8704, // 6.0
77  8704, // 6.1
78  8704, // 6.2
79  8704, // 6.3
80  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81];
82
83pub static AV1_LEVEL_MAX_DISPLAY_RATE: [usize; 32] = [
84  4_423_680, // 2.0
85  8_363_520, // 2.1
86  0,
87  0,
88  19_975_680, // 3.0
89  31_950_720, // 3.1
90  0,
91  0,
92  70_778_880,  // 4.0
93  141_557_760, // 4.1
94  0,
95  0,
96  267_386_880,   // 5.0
97  534_773_760,   // 5.1
98  1_069_547_520, // 5.2
99  1_069_547_520, // 5.3
100  1_069_547_520, // 6.0
101  2_139_095_040, // 6.1
102  4_278_190_080, // 6.2
103  4_278_190_080, // 6.3
104  0,
105  0,
106  0,
107  0,
108  0,
109  0,
110  0,
111  0,
112  0,
113  0,
114  0,
115  0,
116];