2 * This file is part of FFmpeg.
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 * AV1 common definitions
27 // OBU types (section 6.2.2).
30 AV1_OBU_SEQUENCE_HEADER = 1,
31 AV1_OBU_TEMPORAL_DELIMITER = 2,
32 AV1_OBU_FRAME_HEADER = 3,
33 AV1_OBU_TILE_GROUP = 4,
36 AV1_OBU_REDUNDANT_FRAME_HEADER = 7,
37 AV1_OBU_TILE_LIST = 8,
42 // Metadata types (section 6.7.1).
44 AV1_METADATA_TYPE_HDR_CLL = 1,
45 AV1_METADATA_TYPE_HDR_MDCV = 2,
46 AV1_METADATA_TYPE_SCALABILITY = 3,
47 AV1_METADATA_TYPE_ITUT_T35 = 4,
48 AV1_METADATA_TYPE_TIMECODE = 5,
51 // Frame types (section 6.8.2).
55 AV1_FRAME_INTRA_ONLY = 2,
59 // Reference frames (section 6.10.24).
61 AV1_REF_FRAME_INTRA = 0,
62 AV1_REF_FRAME_LAST = 1,
63 AV1_REF_FRAME_LAST2 = 2,
64 AV1_REF_FRAME_LAST3 = 3,
65 AV1_REF_FRAME_GOLDEN = 4,
66 AV1_REF_FRAME_BWDREF = 5,
67 AV1_REF_FRAME_ALTREF2 = 6,
68 AV1_REF_FRAME_ALTREF = 7,
71 // Constants (section 3).
73 AV1_MAX_OPERATING_POINTS = 32,
75 AV1_MAX_SB_SIZE = 128,
78 AV1_MAX_TILE_WIDTH = 4096,
79 AV1_MAX_TILE_AREA = 4096 * 2304,
80 AV1_MAX_TILE_ROWS = 64,
81 AV1_MAX_TILE_COLS = 64,
83 AV1_NUM_REF_FRAMES = 8,
84 AV1_REFS_PER_FRAME = 7,
85 AV1_TOTAL_REFS_PER_FRAME = 8,
86 AV1_PRIMARY_REF_NONE = 7,
91 AV1_SEG_LVL_ALT_Q = 0,
92 AV1_SEG_LVL_ALT_LF_Y_V = 1,
93 AV1_SEG_LVL_REF_FRAME = 5,
95 AV1_SEG_LVL_GLOBAL_MV = 7,
97 AV1_SELECT_SCREEN_CONTENT_TOOLS = 2,
98 AV1_SELECT_INTEGER_MV = 2,
100 AV1_SUPERRES_NUM = 8,
101 AV1_SUPERRES_DENOM_MIN = 9,
103 AV1_INTERPOLATION_FILTER_SWITCHABLE = 4,
105 AV1_GM_ABS_ALPHA_BITS = 12,
106 AV1_GM_ALPHA_PREC_BITS = 15,
107 AV1_GM_ABS_TRANS_ONLY_BITS = 9,
108 AV1_GM_TRANS_ONLY_PREC_BITS = 3,
109 AV1_GM_ABS_TRANS_BITS = 12,
110 AV1_GM_TRANS_PREC_BITS = 6,
111 AV1_WARPEDMODEL_PREC_BITS = 16,
113 AV1_WARP_MODEL_IDENTITY = 0,
114 AV1_WARP_MODEL_TRANSLATION = 1,
115 AV1_WARP_MODEL_ROTZOOM = 2,
116 AV1_WARP_MODEL_AFFINE = 3,
120 // The main colour configuration information uses the same ISO/IEC 23001-8
121 // (H.273) enums as FFmpeg does, so separate definitions are not required.
123 // Chroma sample position.
126 AV1_CSP_VERTICAL = 1, // -> AVCHROMA_LOC_LEFT.
127 AV1_CSP_COLOCATED = 2, // -> AVCHROMA_LOC_TOPLEFT.
130 #endif /* AVCODEC_AV1_H */