FFmpeg
Loading...
Searching...
No Matches
av1.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
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.
8 *
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.
13 *
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
17 */
18
19/**
20 * @file
21 * AV1 common definitions
22 */
23
24#ifndef AVCODEC_AV1_H
25#define AVCODEC_AV1_H
26
27// OBU types (section 6.2.2).
41
42// Metadata types (section 6.7.1).
43enum {
49};
50
51// Frame types (section 6.8.2).
52enum {
57};
58
59// Reference frames (section 6.10.24).
60enum {
70};
71
72// Constants (section 3).
73enum {
75
78
80 AV1_MAX_TILE_AREA = 4096 * 2304,
83
88
91
97
100
103
105
113
119
123
125};
126
127
128// The main colour configuration information uses the same ISO/IEC 23001-8
129// (H.273) enums as FFmpeg does, so separate definitions are not required.
130
131// Chroma sample position.
132enum {
134 AV1_CSP_VERTICAL = 1, // -> AVCHROMA_LOC_LEFT.
135 AV1_CSP_COLOCATED = 2, // -> AVCHROMA_LOC_TOPLEFT.
136};
137
138// Scalability modes (section 6.7.5)
139enum {
169};
170
171// Frame Restoration types (section 6.10.15)
172enum {
177};
178
179// TX mode (section 6.8.21)
180enum {
184};
185
186// Sequence Headers are actually unbounded because one can use
187// an arbitrary number of leading zeroes when encoding via uvlc.
188// The following estimate is based around using the lowest number
189// of bits for uvlc encoding.
190#define AV1_SANE_SEQUENCE_HEADER_MAX_BITS 3138
191
192#endif /* AVCODEC_AV1_H */
@ AV1_METADATA_TYPE_SCALABILITY
Definition av1.h:46
@ AV1_METADATA_TYPE_HDR_MDCV
Definition av1.h:45
@ AV1_METADATA_TYPE_TIMECODE
Definition av1.h:48
@ AV1_METADATA_TYPE_ITUT_T35
Definition av1.h:47
@ AV1_METADATA_TYPE_HDR_CLL
Definition av1.h:44
@ AV1_ONLY_4X4
Definition av1.h:181
@ AV1_TX_MODE_LARGEST
Definition av1.h:182
@ AV1_TX_MODE_SELECT
Definition av1.h:183
@ AV1_REF_FRAME_NONE
Definition av1.h:61
@ AV1_REF_FRAME_LAST2
Definition av1.h:64
@ AV1_REF_FRAME_LAST
Definition av1.h:63
@ AV1_REF_FRAME_ALTREF2
Definition av1.h:68
@ AV1_REF_FRAME_INTRA
Definition av1.h:62
@ AV1_REF_FRAME_ALTREF
Definition av1.h:69
@ AV1_REF_FRAME_BWDREF
Definition av1.h:67
@ AV1_REF_FRAME_GOLDEN
Definition av1.h:66
@ AV1_REF_FRAME_LAST3
Definition av1.h:65
AV1_OBU_Type
Definition av1.h:28
@ AV1_OBU_TILE_LIST
Definition av1.h:37
@ AV1_OBU_TEMPORAL_DELIMITER
Definition av1.h:31
@ AV1_OBU_METADATA
Definition av1.h:34
@ AV1_OBU_TILE_GROUP
Definition av1.h:33
@ AV1_OBU_REDUNDANT_FRAME_HEADER
Definition av1.h:36
@ AV1_OBU_FRAME_HEADER
Definition av1.h:32
@ AV1_OBU_PADDING
Definition av1.h:39
@ AV1_OBU_FRAME
Definition av1.h:35
@ AV1_OBU_SEQUENCE_HEADER
Definition av1.h:30
@ AV1_RESTORE_WIENER
Definition av1.h:174
@ AV1_RESTORE_SWITCHABLE
Definition av1.h:176
@ AV1_RESTORE_NONE
Definition av1.h:173
@ AV1_RESTORE_SGRPROJ
Definition av1.h:175
@ AV1_FRAME_KEY
Definition av1.h:53
@ AV1_FRAME_INTER
Definition av1.h:54
@ AV1_FRAME_INTRA_ONLY
Definition av1.h:55
@ AV1_FRAME_SWITCH
Definition av1.h:56
@ AV1_CSP_COLOCATED
Definition av1.h:135
@ AV1_CSP_VERTICAL
Definition av1.h:134
@ AV1_CSP_UNKNOWN
Definition av1.h:133
@ AV1_WARP_MODEL_ROTZOOM
Definition av1.h:116
@ AV1_SUPERRES_DENOM_MIN
Definition av1.h:102
@ AV1_GM_TRANS_ONLY_PREC_BITS
Definition av1.h:109
@ AV1_WARP_MODEL_IDENTITY
Definition av1.h:114
@ AV1_SEG_LVL_MAX
Definition av1.h:90
@ AV1_DIV_LUT_PREC_BITS
Definition av1.h:121
@ AV1_SELECT_SCREEN_CONTENT_TOOLS
Definition av1.h:98
@ AV1_MAX_TILE_WIDTH
Definition av1.h:79
@ AV1_SEG_LVL_GLOBAL_MV
Definition av1.h:96
@ AV1_PRIMARY_REF_NONE
Definition av1.h:87
@ AV1_MI_SIZE
Definition av1.h:77
@ AV1_SEG_LVL_ALT_LF_Y_V
Definition av1.h:93
@ AV1_DIV_LUT_BITS
Definition av1.h:120
@ AV1_SUPERRES_NUM
Definition av1.h:101
@ AV1_MAX_OPERATING_POINTS
Definition av1.h:74
@ AV1_NUM_REF_FRAMES
Definition av1.h:84
@ AV1_INTERPOLATION_FILTER_SWITCHABLE
Definition av1.h:104
@ AV1_GM_ALPHA_PREC_BITS
Definition av1.h:107
@ AV1_MAX_SB_SIZE
Definition av1.h:76
@ AV1_WARPEDMODEL_PREC_BITS
Definition av1.h:112
@ AV1_MAX_LOOP_FILTER
Definition av1.h:124
@ AV1_MAX_TILE_COLS
Definition av1.h:82
@ AV1_SEG_LVL_REF_FRAME
Definition av1.h:94
@ AV1_MAX_SEGMENTS
Definition av1.h:89
@ AV1_WARP_PARAM_REDUCE_BITS
Definition av1.h:118
@ AV1_SELECT_INTEGER_MV
Definition av1.h:99
@ AV1_GM_ABS_ALPHA_BITS
Definition av1.h:106
@ AV1_REFS_PER_FRAME
Definition av1.h:85
@ AV1_TOTAL_REFS_PER_FRAME
Definition av1.h:86
@ AV1_DIV_LUT_NUM
Definition av1.h:122
@ AV1_WARP_MODEL_TRANSLATION
Definition av1.h:115
@ AV1_MAX_TILE_ROWS
Definition av1.h:81
@ AV1_SEG_LVL_SKIP
Definition av1.h:95
@ AV1_SEG_LVL_ALT_Q
Definition av1.h:92
@ AV1_GM_ABS_TRANS_BITS
Definition av1.h:110
@ AV1_GM_ABS_TRANS_ONLY_BITS
Definition av1.h:108
@ AV1_MAX_TILE_AREA
Definition av1.h:80
@ AV1_WARP_MODEL_AFFINE
Definition av1.h:117
@ AV1_GM_TRANS_PREC_BITS
Definition av1.h:111
@ AV1_SCALABILITY_S2T3
Definition av1.h:147
@ AV1_SCALABILITY_L2T1
Definition av1.h:142
@ AV1_SCALABILITY_L3T2
Definition av1.h:156
@ AV1_SCALABILITY_L4T7_KEY_SHIFT
Definition av1.h:168
@ AV1_SCALABILITY_S2T1
Definition av1.h:145
@ AV1_SCALABILITY_L2T3h
Definition av1.h:150
@ AV1_SCALABILITY_L1T2
Definition av1.h:140
@ AV1_SCALABILITY_L4T5_KEY_SHIFT
Definition av1.h:167
@ AV1_SCALABILITY_S3T1
Definition av1.h:158
@ AV1_SCALABILITY_L2T2
Definition av1.h:143
@ AV1_SCALABILITY_L3T2_KEY
Definition av1.h:161
@ AV1_SCALABILITY_L3T2_KEY_SHIFT
Definition av1.h:165
@ AV1_SCALABILITY_S2T2
Definition av1.h:146
@ AV1_SCALABILITY_S2T1h
Definition av1.h:151
@ AV1_SCALABILITY_L4T7_KEY
Definition av1.h:164
@ AV1_SCALABILITY_L3T1
Definition av1.h:155
@ AV1_SCALABILITY_L3T3_KEY
Definition av1.h:162
@ AV1_SCALABILITY_L2T3
Definition av1.h:144
@ AV1_SCALABILITY_SS
Definition av1.h:154
@ AV1_SCALABILITY_S3T3
Definition av1.h:160
@ AV1_SCALABILITY_L3T3_KEY_SHIFT
Definition av1.h:166
@ AV1_SCALABILITY_L4T5_KEY
Definition av1.h:163
@ AV1_SCALABILITY_L2T2h
Definition av1.h:149
@ AV1_SCALABILITY_L2T1h
Definition av1.h:148
@ AV1_SCALABILITY_S3T2
Definition av1.h:159
@ AV1_SCALABILITY_S2T2h
Definition av1.h:152
@ AV1_SCALABILITY_L3T3
Definition av1.h:157
@ AV1_SCALABILITY_L1T3
Definition av1.h:141
@ AV1_SCALABILITY_S2T3h
Definition av1.h:153