FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
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).
28
typedef
enum
{
29
// 0 reserved.
30
AV1_OBU_SEQUENCE_HEADER
= 1,
31
AV1_OBU_TEMPORAL_DELIMITER
= 2,
32
AV1_OBU_FRAME_HEADER
= 3,
33
AV1_OBU_TILE_GROUP
= 4,
34
AV1_OBU_METADATA
= 5,
35
AV1_OBU_FRAME
= 6,
36
AV1_OBU_REDUNDANT_FRAME_HEADER
= 7,
37
AV1_OBU_TILE_LIST
= 8,
38
// 9-14 reserved.
39
AV1_OBU_PADDING
= 15,
40
}
AV1_OBU_Type
;
41
42
// Metadata types (section 6.7.1).
43
enum
{
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,
49
};
50
51
// Frame types (section 6.8.2).
52
enum
{
53
AV1_FRAME_KEY
= 0,
54
AV1_FRAME_INTER
= 1,
55
AV1_FRAME_INTRA_ONLY
= 2,
56
AV1_FRAME_SWITCH
= 3,
57
};
58
59
// Reference frames (section 6.10.24).
60
enum
{
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,
69
};
70
71
// Constants (section 3).
72
enum
{
73
AV1_MAX_OPERATING_POINTS
= 32,
74
75
AV1_MAX_SB_SIZE
= 128,
76
AV1_MI_SIZE
= 4,
77
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,
82
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,
87
88
AV1_MAX_SEGMENTS
= 8,
89
AV1_SEG_LVL_MAX
= 8,
90
91
AV1_SEG_LVL_ALT_Q
= 0,
92
AV1_SEG_LVL_ALT_LF_Y_V
= 1,
93
AV1_SEG_LVL_REF_FRAME
= 5,
94
AV1_SEG_LVL_SKIP
= 6,
95
AV1_SEG_LVL_GLOBAL_MV
= 7,
96
97
AV1_SELECT_SCREEN_CONTENT_TOOLS
= 2,
98
AV1_SELECT_INTEGER_MV
= 2,
99
100
AV1_SUPERRES_NUM
= 8,
101
AV1_SUPERRES_DENOM_MIN
= 9,
102
103
AV1_INTERPOLATION_FILTER_SWITCHABLE
= 4,
104
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,
112
113
AV1_WARP_MODEL_IDENTITY
= 0,
114
AV1_WARP_MODEL_TRANSLATION
= 1,
115
AV1_WARP_MODEL_ROTZOOM
= 2,
116
AV1_WARP_MODEL_AFFINE
= 3,
117
};
118
119
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.
122
123
// Chroma sample position.
124
enum
{
125
AV1_CSP_UNKNOWN
= 0,
126
AV1_CSP_VERTICAL
= 1,
// -> AVCHROMA_LOC_LEFT.
127
AV1_CSP_COLOCATED
= 2,
// -> AVCHROMA_LOC_TOPLEFT.
128
};
129
130
#endif
/* AVCODEC_AV1_H */
AV1_INTERPOLATION_FILTER_SWITCHABLE
Definition:
av1.h:103
AV1_REF_FRAME_ALTREF2
Definition:
av1.h:67
AV1_METADATA_TYPE_ITUT_T35
Definition:
av1.h:47
AV1_FRAME_INTER
Definition:
av1.h:54
AV1_REF_FRAME_LAST2
Definition:
av1.h:63
AV1_SEG_LVL_SKIP
Definition:
av1.h:94
AV1_OBU_SEQUENCE_HEADER
Definition:
av1.h:30
AV1_SELECT_INTEGER_MV
Definition:
av1.h:98
AV1_SEG_LVL_GLOBAL_MV
Definition:
av1.h:95
AV1_WARP_MODEL_IDENTITY
Definition:
av1.h:113
AV1_TOTAL_REFS_PER_FRAME
Definition:
av1.h:85
AV1_MI_SIZE
Definition:
av1.h:76
AV1_REF_FRAME_LAST3
Definition:
av1.h:64
AV1_METADATA_TYPE_HDR_CLL
Definition:
av1.h:44
AV1_CSP_VERTICAL
Definition:
av1.h:126
AV1_OBU_Type
AV1_OBU_Type
Definition:
av1.h:28
AV1_GM_TRANS_ONLY_PREC_BITS
Definition:
av1.h:108
AV1_GM_ABS_ALPHA_BITS
Definition:
av1.h:105
AV1_REFS_PER_FRAME
Definition:
av1.h:84
AV1_MAX_SEGMENTS
Definition:
av1.h:88
AV1_MAX_TILE_WIDTH
Definition:
av1.h:78
AV1_WARP_MODEL_TRANSLATION
Definition:
av1.h:114
AV1_SUPERRES_DENOM_MIN
Definition:
av1.h:101
AV1_METADATA_TYPE_TIMECODE
Definition:
av1.h:48
AV1_NUM_REF_FRAMES
Definition:
av1.h:83
AV1_REF_FRAME_ALTREF
Definition:
av1.h:68
AV1_MAX_OPERATING_POINTS
Definition:
av1.h:73
AV1_OBU_METADATA
Definition:
av1.h:34
AV1_OBU_PADDING
Definition:
av1.h:39
AV1_GM_ABS_TRANS_ONLY_BITS
Definition:
av1.h:107
AV1_SELECT_SCREEN_CONTENT_TOOLS
Definition:
av1.h:97
AV1_OBU_TILE_LIST
Definition:
av1.h:37
AV1_CSP_UNKNOWN
Definition:
av1.h:125
AV1_CSP_COLOCATED
Definition:
av1.h:127
AV1_MAX_TILE_AREA
Definition:
av1.h:79
AV1_GM_ALPHA_PREC_BITS
Definition:
av1.h:106
AV1_WARP_MODEL_ROTZOOM
Definition:
av1.h:115
AV1_REF_FRAME_LAST
Definition:
av1.h:62
AV1_WARPEDMODEL_PREC_BITS
Definition:
av1.h:111
AV1_SEG_LVL_MAX
Definition:
av1.h:89
AV1_SEG_LVL_ALT_LF_Y_V
Definition:
av1.h:92
AV1_OBU_TEMPORAL_DELIMITER
Definition:
av1.h:31
AV1_OBU_FRAME_HEADER
Definition:
av1.h:32
AV1_FRAME_KEY
Definition:
av1.h:53
AV1_MAX_SB_SIZE
Definition:
av1.h:75
AV1_SUPERRES_NUM
Definition:
av1.h:100
AV1_GM_TRANS_PREC_BITS
Definition:
av1.h:110
AV1_OBU_REDUNDANT_FRAME_HEADER
Definition:
av1.h:36
AV1_GM_ABS_TRANS_BITS
Definition:
av1.h:109
AV1_REF_FRAME_GOLDEN
Definition:
av1.h:65
AV1_MAX_TILE_COLS
Definition:
av1.h:81
AV1_FRAME_SWITCH
Definition:
av1.h:56
AV1_PRIMARY_REF_NONE
Definition:
av1.h:86
AV1_REF_FRAME_INTRA
Definition:
av1.h:61
AV1_OBU_TILE_GROUP
Definition:
av1.h:33
AV1_METADATA_TYPE_SCALABILITY
Definition:
av1.h:46
AV1_OBU_FRAME
Definition:
av1.h:35
AV1_REF_FRAME_BWDREF
Definition:
av1.h:66
AV1_WARP_MODEL_AFFINE
Definition:
av1.h:116
AV1_SEG_LVL_REF_FRAME
Definition:
av1.h:93
AV1_METADATA_TYPE_HDR_MDCV
Definition:
av1.h:45
AV1_SEG_LVL_ALT_Q
Definition:
av1.h:91
AV1_FRAME_INTRA_ONLY
Definition:
av1.h:55
AV1_MAX_TILE_ROWS
Definition:
av1.h:80
Generated on Tue Nov 6 2018 18:11:02 for FFmpeg by
1.8.6