This repository was archived by the owner on May 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnut.cpp
More file actions
175 lines (159 loc) · 9.56 KB
/
nut.cpp
File metadata and controls
175 lines (159 loc) · 9.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
extern "C"
{
#include <libavformat/avformat.h>
}
// copied from libavformat/nut.c because it is not exported
typedef struct AVCodecTag {
enum AVCodecID id;
unsigned int tag;
} AVCodecTag;
const AVCodecTag ff_nut_video_tags[] = {
{ AV_CODEC_ID_GIF, MKTAG('G', 'I', 'F', 0 ) },
{ AV_CODEC_ID_XFACE, MKTAG('X', 'F', 'A', 'C') },
{ AV_CODEC_ID_VP9, MKTAG('V', 'P', '9', '0') },
{ AV_CODEC_ID_HEVC, MKTAG('H', 'E', 'V', 'C') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 15 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 15 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(15 , 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(15 , 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 'A') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 0 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 'A') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 0 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('A', 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 0 , 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('A', 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 0 , 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 24 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 24 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '1', '1', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '2', '2', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '2', '2', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '4', '0', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '4', '0', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '4', '4', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('4', '4', '4', 'P') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', '1', 'W', '0') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', '0', 'W', '1') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 4 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 4 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', '4', 'B', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', '4', 'B', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 48 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 48 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(48 , 'B', 'G', 'R') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(48 , 'R', 'G', 'B') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'B', 'A', 64 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'R', 'A', 64 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(64 , 'R', 'B', 'A') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(64 , 'B', 'R', 'A') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 11 , 9 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 9 , 11 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 10 , 9 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 9 , 10 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 0 , 9 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 9 , 0 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 11 , 10 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10 , 11 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 10 , 10 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10 , 10 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 0 , 10 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10 , 0 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 11 , 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 11 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 10 , 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 10 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 0 , 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 0 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 11 , 14 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(14 , 11 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 10 , 14 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(14 , 10 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 0 , 14 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(14 , 0 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0 , 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 0 , '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 11 , 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 11 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 10 , 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 10 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '3', 0 , 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 0 , '3', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 11 , 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 10 , 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 0 , 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '2', 0 , 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0, 9) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(9, 0, '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 11, 9) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(9, 11, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 10, 9) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(9, 10, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 0, 9) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(9, 0, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0, 10) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10, 0, '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 11, 10) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10, 11, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 10, 10) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10, 10, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 0, 10) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10, 0, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0, 12) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12, 0, '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0, 16) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 0, '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 11, 16) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 11, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 10, 16) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 10, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '4', 0, 16) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 0, '4', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('Y', '1', 0, 14) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(14, 0, '1', 'Y') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 8) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 9) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG( 9, 0, '3', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 10) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10, 0, '3', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 12) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12, 0, '3', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 14) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(14, 0, '3', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '3', 0, 16) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 0, '3', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '4', 0, 8) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '4', 00 , 10 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(10 , 00 , '4', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '4', 00 , 12 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(12 , 00 , '4', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('G', '4', 00 , 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 00 , '4', 'G') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('X', 'Y', 'Z' , 36 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(36 , 'Z' , 'Y', 'X') },
{ AV_CODEC_ID_RAWVIDEO, MKTAG('P', 'A', 'L', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'B', 'G', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'B', 'G', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 'G', 'B', 0xBA) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'R', 'G', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'R', 'G', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16 , 'G', 'R', 0xBA) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'G', 'B', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'G', 'B', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 'B', 'G', 0xBA) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'G', 'R', 8 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(0xBA, 'G', 'R', 16 ) },
{ AV_CODEC_ID_RAWVIDEO, MKTAG(16, 'R', 'G', 0xBA) },
{ AV_CODEC_ID_NONE, 0 }
};
const AVCodecTag* avformat_get_nut_video_tags(){ return ff_nut_video_tags; }