auto-editor 23.35.1__py3-none-any.whl → 23.40.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- auto_editor/__init__.py +2 -2
- auto_editor/analyze.py +19 -23
- auto_editor/ffwrapper.py +4 -5
- auto_editor/formats/fcp7.py +37 -0
- auto_editor/help.py +10 -10
- auto_editor/lang/palet.py +387 -265
- auto_editor/lib/contracts.py +82 -45
- auto_editor/lib/data_structs.py +72 -4
- auto_editor/make_layers.py +24 -15
- auto_editor/render/video.py +2 -5
- auto_editor/subcommands/repl.py +4 -3
- auto_editor/subcommands/test.py +3 -3
- auto_editor/timeline.py +16 -16
- auto_editor/utils/container.py +67 -78
- auto_editor/utils/encoder.py +133 -195
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/METADATA +35 -10
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/RECORD +22 -22
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/LICENSE +0 -0
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/WHEEL +0 -0
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/entry_points.txt +0 -0
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/top_level.txt +0 -0
- {auto_editor-23.35.1.dist-info → auto_editor-23.40.1.dist-info}/zip-safe +0 -0
auto_editor/utils/container.py
CHANGED
@@ -5,7 +5,6 @@ from typing import TypedDict
|
|
5
5
|
|
6
6
|
|
7
7
|
class DictContainer(TypedDict, total=False):
|
8
|
-
name: str | None
|
9
8
|
allow_video: bool
|
10
9
|
allow_audio: bool
|
11
10
|
allow_subtitle: bool
|
@@ -24,7 +23,6 @@ class DictContainer(TypedDict, total=False):
|
|
24
23
|
|
25
24
|
@dataclass(slots=True)
|
26
25
|
class Container:
|
27
|
-
name: str | None = None
|
28
26
|
allow_video: bool = False
|
29
27
|
allow_audio: bool = False
|
30
28
|
allow_subtitle: bool = False
|
@@ -41,40 +39,49 @@ class Container:
|
|
41
39
|
samplerate: list[int] | None = None # Any samplerate is allowed
|
42
40
|
|
43
41
|
|
44
|
-
|
42
|
+
h264_en = [
|
43
|
+
"h264",
|
44
|
+
"libx264",
|
45
|
+
"libx264rgb",
|
46
|
+
"libopenh264",
|
47
|
+
"h264_videotoolbox",
|
48
|
+
"h264_amf",
|
49
|
+
"h264_nvenc",
|
50
|
+
"h264_qsv",
|
51
|
+
]
|
52
|
+
hevc_en = ["hevc", "libx265", "hevc_videotoolbox", "hevc_amf", "hevc_nvenc", "hevc_qsv"]
|
53
|
+
av1_en = ["av1", "libaom-av1", "av1_nvenc", "av1_amf"]
|
54
|
+
prores_en = ["prores", "prores_videotoolbox", "prores_aw", "prores_ks"]
|
55
|
+
aac_en = ["aac", "aac_at", "libfdk_aac"]
|
56
|
+
|
57
|
+
|
45
58
|
h265: DictContainer = {
|
46
|
-
"name": "H.265 / High Efficiency Video Coding (HEVC) / MPEG-H Part 2",
|
47
59
|
"allow_video": True,
|
48
|
-
"vcodecs": ["
|
60
|
+
"vcodecs": hevc_en + ["mpeg4"] + h264_en,
|
49
61
|
}
|
50
62
|
h264: DictContainer = {
|
51
|
-
"name": "H.264 / Advanced Video Coding (AVC) / MPEG-4 Part 10",
|
52
63
|
"allow_video": True,
|
53
|
-
"vcodecs": ["
|
64
|
+
"vcodecs": h264_en + ["mpeg4"] + hevc_en,
|
54
65
|
}
|
55
66
|
aac: DictContainer = {
|
56
|
-
"name": "Advanced Audio Coding",
|
57
67
|
"allow_audio": True,
|
58
68
|
"max_audios": 1,
|
59
|
-
"acodecs":
|
69
|
+
"acodecs": aac_en,
|
60
70
|
}
|
61
71
|
ass: DictContainer = {
|
62
|
-
"name": "SubStation Alpha",
|
63
72
|
"allow_subtitle": True,
|
64
73
|
"scodecs": ["ass", "ssa"],
|
65
74
|
"max_subtitles": 1,
|
66
75
|
"sstrict": True,
|
67
76
|
}
|
68
77
|
mp4: DictContainer = {
|
69
|
-
"name": "MP4 / MPEG-4 Part 14",
|
70
78
|
"allow_video": True,
|
71
79
|
"allow_audio": True,
|
72
80
|
"allow_subtitle": True,
|
73
81
|
"allow_image": True,
|
74
|
-
"vcodecs":
|
75
|
-
"acodecs": ["
|
82
|
+
"vcodecs": h264_en + hevc_en + av1_en + ["vp9", "mpeg4", "mpeg2video", "mjpeg"],
|
83
|
+
"acodecs": aac_en + ["mp3", "opus", "flac", "vorbis", "libvorbis", "ac3", "mp2"],
|
76
84
|
"vstrict": True,
|
77
|
-
# "disallow_v": ["prores", "apng", "gif", "msmpeg4v3", "flv1", "vp8", "dvvideo", "rawvideo"],
|
78
85
|
}
|
79
86
|
ogg: DictContainer = {
|
80
87
|
"allow_video": True,
|
@@ -85,28 +92,29 @@ ogg: DictContainer = {
|
|
85
92
|
"vstrict": True,
|
86
93
|
}
|
87
94
|
|
88
|
-
mka_audio =
|
89
|
-
"libvorbis",
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
]
|
95
|
+
mka_audio = (
|
96
|
+
["libvorbis", "vorbis"]
|
97
|
+
+ aac_en
|
98
|
+
+ [
|
99
|
+
"mp3",
|
100
|
+
"opus",
|
101
|
+
"flac",
|
102
|
+
"ac3",
|
103
|
+
"mp2",
|
104
|
+
"wmav2",
|
105
|
+
"pcm_s16le",
|
106
|
+
"pcm_alaw",
|
107
|
+
"pcm_f32le",
|
108
|
+
"pcm_f64le",
|
109
|
+
"pcm_mulaw",
|
110
|
+
"pcm_s16be",
|
111
|
+
"pcm_s24be",
|
112
|
+
"pcm_s24le",
|
113
|
+
"pcm_s32be",
|
114
|
+
"pcm_s32le",
|
115
|
+
"pcm_u8",
|
116
|
+
]
|
117
|
+
)
|
110
118
|
|
111
119
|
containers: dict[str, DictContainer] = {
|
112
120
|
# Aliases section
|
@@ -124,21 +132,18 @@ containers: dict[str, DictContainer] = {
|
|
124
132
|
"ogg": ogg,
|
125
133
|
"ogv": ogg,
|
126
134
|
"apng": {
|
127
|
-
"name": "Animated Portable Network Graphics",
|
128
135
|
"allow_video": True,
|
129
136
|
"max_videos": 1,
|
130
137
|
"vcodecs": ["apng"],
|
131
138
|
"vstrict": True,
|
132
139
|
},
|
133
140
|
"gif": {
|
134
|
-
"name": "Graphics Interchange Format",
|
135
141
|
"allow_video": True,
|
136
142
|
"max_videos": 1,
|
137
143
|
"vcodecs": ["gif"],
|
138
144
|
"vstrict": True,
|
139
145
|
},
|
140
146
|
"wav": {
|
141
|
-
"name": "Waveform Audio File Format",
|
142
147
|
"allow_audio": True,
|
143
148
|
"max_audios": 1,
|
144
149
|
"acodecs": [
|
@@ -156,19 +161,16 @@ containers: dict[str, DictContainer] = {
|
|
156
161
|
],
|
157
162
|
},
|
158
163
|
"ast": {
|
159
|
-
"name": "AST / Audio Stream",
|
160
164
|
"allow_audio": True,
|
161
165
|
"max_audios": 1,
|
162
166
|
"acodecs": ["pcm_s16be_planar"],
|
163
167
|
},
|
164
168
|
"mp3": {
|
165
|
-
"name": "MP3 / MPEG-2 Audio Layer 3",
|
166
169
|
"allow_audio": True,
|
167
170
|
"max_audios": 1,
|
168
171
|
"acodecs": ["mp3"],
|
169
172
|
},
|
170
173
|
"opus": {
|
171
|
-
"name": "Opus",
|
172
174
|
"allow_audio": True,
|
173
175
|
"acodecs": ["opus", "flac", "libvorbis", "vorbis", "speex"],
|
174
176
|
},
|
@@ -177,44 +179,39 @@ containers: dict[str, DictContainer] = {
|
|
177
179
|
"acodecs": ["flac", "libvorbis", "vorbis", "opus", "speex"],
|
178
180
|
},
|
179
181
|
"flac": {
|
180
|
-
"name": "Free Lossless Audio Codec",
|
181
182
|
"allow_audio": True,
|
182
183
|
"max_audios": 1,
|
183
184
|
"acodecs": ["flac"],
|
184
185
|
},
|
185
186
|
"webm": {
|
186
|
-
"name": "WebM",
|
187
187
|
"allow_video": True,
|
188
188
|
"allow_audio": True,
|
189
189
|
"allow_subtitle": True,
|
190
|
-
"vcodecs": ["vp9", "vp8"
|
190
|
+
"vcodecs": ["vp9", "vp8"] + av1_en,
|
191
191
|
"acodecs": ["opus", "vorbis", "libvorbis"],
|
192
192
|
"scodecs": ["webvtt"],
|
193
193
|
"vstrict": True,
|
194
194
|
"sstrict": True,
|
195
195
|
},
|
196
196
|
"srt": {
|
197
|
-
"name": "SubRip Text / Subtitle Resource Tracks",
|
198
197
|
"allow_subtitle": True,
|
199
198
|
"scodecs": ["srt"],
|
200
199
|
"max_subtitles": 1,
|
201
200
|
"sstrict": True,
|
202
201
|
},
|
203
202
|
"vtt": {
|
204
|
-
"name": "Web Video Text Track",
|
205
203
|
"allow_subtitle": True,
|
206
204
|
"scodecs": ["webvtt"],
|
207
205
|
"max_subtitles": 1,
|
208
206
|
"sstrict": True,
|
209
207
|
},
|
210
208
|
"avi": {
|
211
|
-
"name": "Audio Video Interleave",
|
212
209
|
"allow_video": True,
|
213
210
|
"allow_audio": True,
|
214
|
-
"vcodecs": ["mpeg4"
|
215
|
-
"acodecs": [
|
216
|
-
|
217
|
-
|
211
|
+
"vcodecs": ["mpeg4"] + h264_en + ["prores", "mjpeg", "mpeg2video", "rawvideo"],
|
212
|
+
"acodecs": ["mp3"]
|
213
|
+
+ aac_en
|
214
|
+
+ [
|
218
215
|
"flac",
|
219
216
|
"vorbis",
|
220
217
|
"libvorbis",
|
@@ -229,16 +226,17 @@ containers: dict[str, DictContainer] = {
|
|
229
226
|
"pcm_s32le",
|
230
227
|
"pcm_u8",
|
231
228
|
],
|
232
|
-
"disallow_v": ["
|
229
|
+
"disallow_v": hevc_en + ["apng", "gif"],
|
233
230
|
},
|
234
231
|
"wmv": {
|
235
|
-
"name": "Windows Media Video",
|
236
232
|
"allow_video": True,
|
237
233
|
"allow_audio": True,
|
238
|
-
"vcodecs": ["msmpeg4v3"
|
239
|
-
|
240
|
-
|
241
|
-
|
234
|
+
"vcodecs": ["msmpeg4v3"]
|
235
|
+
+ h264_en
|
236
|
+
+ ["mpeg4", "mpeg2video", "mjpeg", "rawvideo"],
|
237
|
+
"acodecs": ["wmav2"]
|
238
|
+
+ aac_en
|
239
|
+
+ [
|
242
240
|
"mp3",
|
243
241
|
"flac",
|
244
242
|
"vorbis",
|
@@ -257,17 +255,16 @@ containers: dict[str, DictContainer] = {
|
|
257
255
|
"vstrict": True,
|
258
256
|
},
|
259
257
|
"mkv": {
|
260
|
-
"name": "Matroska",
|
261
258
|
"allow_video": True,
|
262
259
|
"allow_audio": True,
|
263
260
|
"allow_subtitle": True,
|
264
261
|
"allow_image": True,
|
265
|
-
"vcodecs":
|
266
|
-
|
267
|
-
|
262
|
+
"vcodecs": h264_en
|
263
|
+
+ hevc_en
|
264
|
+
+ prores_en
|
265
|
+
+ [
|
268
266
|
"vp9",
|
269
267
|
"vp8",
|
270
|
-
"prores",
|
271
268
|
"mpeg4",
|
272
269
|
"mpeg2video",
|
273
270
|
"msmpeg4v3",
|
@@ -279,19 +276,17 @@ containers: dict[str, DictContainer] = {
|
|
279
276
|
"disallow_v": ["apng"],
|
280
277
|
},
|
281
278
|
"mka": {
|
282
|
-
"name": "Matroska Audio",
|
283
279
|
"allow_audio": True,
|
284
280
|
"acodecs": mka_audio,
|
285
281
|
},
|
286
282
|
"mov": {
|
287
|
-
"name": "QuickTime / MOV",
|
288
283
|
"allow_video": True,
|
289
284
|
"allow_audio": True,
|
290
285
|
"allow_subtitle": True,
|
291
|
-
"vcodecs":
|
292
|
-
|
293
|
-
|
294
|
-
|
286
|
+
"vcodecs": h264_en
|
287
|
+
+ hevc_en
|
288
|
+
+ prores_en
|
289
|
+
+ [
|
295
290
|
"mpeg4",
|
296
291
|
"mpeg2video",
|
297
292
|
"msmpeg4v3",
|
@@ -301,8 +296,8 @@ containers: dict[str, DictContainer] = {
|
|
301
296
|
"dvvideo",
|
302
297
|
"rawvideo",
|
303
298
|
],
|
304
|
-
"acodecs":
|
305
|
-
|
299
|
+
"acodecs": aac_en
|
300
|
+
+ [
|
306
301
|
"mp3",
|
307
302
|
"vorbis",
|
308
303
|
"libvorbis",
|
@@ -327,7 +322,6 @@ containers: dict[str, DictContainer] = {
|
|
327
322
|
"disallow_v": ["apng", "vp9", "vp8"],
|
328
323
|
},
|
329
324
|
"swf": {
|
330
|
-
"name": "ShockWave Flash / Small Web Format",
|
331
325
|
"allow_video": True,
|
332
326
|
"allow_audio": True,
|
333
327
|
"vcodecs": ["flv1", "mjpeg"],
|
@@ -335,15 +329,10 @@ containers: dict[str, DictContainer] = {
|
|
335
329
|
"vstrict": True,
|
336
330
|
"samplerate": [44100, 22050, 11025],
|
337
331
|
},
|
338
|
-
"not_in_here": {
|
339
|
-
"allow_video": True,
|
340
|
-
"allow_audio": True,
|
341
|
-
"allow_subtitle": True,
|
342
|
-
},
|
343
332
|
}
|
344
333
|
|
345
334
|
|
346
335
|
def container_constructor(key: str) -> Container:
|
347
336
|
if key in containers:
|
348
337
|
return Container(**containers[key])
|
349
|
-
return Container(
|
338
|
+
return Container(allow_video=True, allow_audio=True, allow_subtitle=True)
|
auto_editor/utils/encoder.py
CHANGED
@@ -1,197 +1,135 @@
|
|
1
1
|
encoders = {
|
2
|
-
"libx264":
|
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
|
-
"h264_qsv": {
|
137
|
-
"pix_fmt": {
|
138
|
-
"nv12",
|
139
|
-
"p010le",
|
140
|
-
"qsv",
|
141
|
-
},
|
142
|
-
},
|
143
|
-
"vp9": {
|
144
|
-
"pix_fmt": {
|
145
|
-
"yuv420p",
|
146
|
-
"yuva420p",
|
147
|
-
"yuv422p",
|
148
|
-
"yuv440p",
|
149
|
-
"yuv444p",
|
150
|
-
"yuv420p10le",
|
151
|
-
"yuv422p10le",
|
152
|
-
"yuv440p10le",
|
153
|
-
"yuv444p10le",
|
154
|
-
"yuv420p12le",
|
155
|
-
"yuv422p12le",
|
156
|
-
"yuv440p12le",
|
157
|
-
"yuv444p12le",
|
158
|
-
"gbrp",
|
159
|
-
"gbrp10le",
|
160
|
-
"gbrp12le",
|
161
|
-
},
|
162
|
-
},
|
163
|
-
"vp8": {
|
164
|
-
"pix_fmt": {"yuv420p", "yuva420p"},
|
165
|
-
},
|
166
|
-
"prores": {
|
167
|
-
"pix_fmt": {"yuv422p10le", "yuv444p10le", "yuva444p10le"},
|
168
|
-
},
|
169
|
-
"av1": {
|
170
|
-
"pix_fmt": {
|
171
|
-
"yuv420p",
|
172
|
-
"yuv422p",
|
173
|
-
"yuv444p",
|
174
|
-
"gbrp",
|
175
|
-
"yuv420p10le",
|
176
|
-
"yuv422p10le",
|
177
|
-
"yuv444p10le",
|
178
|
-
"yuv420p12le",
|
179
|
-
"yuv422p12le",
|
180
|
-
"yuv444p12le",
|
181
|
-
"gbrp10le",
|
182
|
-
"gbrp12le",
|
183
|
-
"gray",
|
184
|
-
"gray10le",
|
185
|
-
"gray12le",
|
186
|
-
},
|
187
|
-
},
|
188
|
-
"mpeg4": {
|
189
|
-
"pix_fmt": {"yuv420p"},
|
190
|
-
},
|
191
|
-
"mpeg2video": {
|
192
|
-
"pix_fmt": {"yuv420p", "yuv422p"},
|
193
|
-
},
|
194
|
-
"mjpeg": {
|
195
|
-
"pix_fmt": {"yuvj420p", "yuvj422p", "yuvj444p"},
|
196
|
-
},
|
2
|
+
"libx264": (
|
3
|
+
"yuv420p",
|
4
|
+
"yuvj420p",
|
5
|
+
"yuv422p",
|
6
|
+
"yuvj422p",
|
7
|
+
"yuv444p",
|
8
|
+
"yuvj444p",
|
9
|
+
"nv12",
|
10
|
+
"nv16",
|
11
|
+
"nv21",
|
12
|
+
"yuv420p10le",
|
13
|
+
"yuv422p10le",
|
14
|
+
"yuv444p10le",
|
15
|
+
"nv20le",
|
16
|
+
"gray",
|
17
|
+
"gray10le",
|
18
|
+
),
|
19
|
+
"libx264rgb": ("bgr0", "bgr24", "rgb24"),
|
20
|
+
"h264_videotoolbox": ("videotoolbox_vld", "nv12", "yuv420p"),
|
21
|
+
"h264": ("videotoolbox_vld", "nv12", "yuv420p"),
|
22
|
+
"libx265": (
|
23
|
+
"yuv420p",
|
24
|
+
"yuvj420p",
|
25
|
+
"yuv422p",
|
26
|
+
"yuvj422p",
|
27
|
+
"yuv444p",
|
28
|
+
"yuvj444p",
|
29
|
+
"gbrp",
|
30
|
+
"yuv420p10le",
|
31
|
+
"yuv422p10le",
|
32
|
+
"yuv444p10le",
|
33
|
+
"gbrp10le",
|
34
|
+
"yuv420p12le",
|
35
|
+
"yuv422p12le",
|
36
|
+
"yuv444p12le",
|
37
|
+
"gbrp12le",
|
38
|
+
"gray",
|
39
|
+
"gray10le",
|
40
|
+
"gray12le",
|
41
|
+
),
|
42
|
+
"hevc_videotoolbox": ("videotoolbox_vld", "nv12", "yuv420p", "bgra", "p010le"),
|
43
|
+
"hevc": (
|
44
|
+
"yuv420p",
|
45
|
+
"yuvj420p",
|
46
|
+
"yuv422p",
|
47
|
+
"yuvj422p",
|
48
|
+
"yuv444p",
|
49
|
+
"yuvj444p",
|
50
|
+
"gbrp",
|
51
|
+
"yuv420p10le",
|
52
|
+
"yuv422p10le",
|
53
|
+
"yuv444p10le",
|
54
|
+
"gbrp10le",
|
55
|
+
"yuv420p12le",
|
56
|
+
"yuv422p12le",
|
57
|
+
"yuv444p12le",
|
58
|
+
"gbrp12le",
|
59
|
+
"gray",
|
60
|
+
"gray10le",
|
61
|
+
"gray12le",
|
62
|
+
),
|
63
|
+
"hevc_nvenc": (
|
64
|
+
"yuv420p",
|
65
|
+
"nv12",
|
66
|
+
"p010le",
|
67
|
+
"yuv444p",
|
68
|
+
"p016le",
|
69
|
+
"yuv444p16le",
|
70
|
+
"bgr0",
|
71
|
+
"rgb0",
|
72
|
+
"gbrp",
|
73
|
+
"gbrp16le",
|
74
|
+
"cuda",
|
75
|
+
"d3d11",
|
76
|
+
),
|
77
|
+
"hevc_amf": ("yuv420p", "nv12", "d3d11", "dxva2_vld"),
|
78
|
+
"h264_nvenc": (
|
79
|
+
"yuv420p",
|
80
|
+
"nv12",
|
81
|
+
"p010le",
|
82
|
+
"yuv444p",
|
83
|
+
"p016le",
|
84
|
+
"yuv444p16le",
|
85
|
+
"bgr0",
|
86
|
+
"rgb0",
|
87
|
+
"gbrp",
|
88
|
+
"gbrp16le",
|
89
|
+
"cuda",
|
90
|
+
"d3d11",
|
91
|
+
),
|
92
|
+
"h264_amf": ("yuv420p", "nv12", "d3d11", "dxva2_vld"),
|
93
|
+
"hevc_qsv": ("nv12", "p010le", "yuyv422", "y210le", "qsv", "bgra", "x2rgb10le"),
|
94
|
+
"h264_qsv": ("nv12", "p010le", "qsv"),
|
95
|
+
"vp9": (
|
96
|
+
"yuv420p",
|
97
|
+
"yuva420p",
|
98
|
+
"yuv422p",
|
99
|
+
"yuv440p",
|
100
|
+
"yuv444p",
|
101
|
+
"yuv420p10le",
|
102
|
+
"yuv422p10le",
|
103
|
+
"yuv440p10le",
|
104
|
+
"yuv444p10le",
|
105
|
+
"yuv420p12le",
|
106
|
+
"yuv422p12le",
|
107
|
+
"yuv440p12le",
|
108
|
+
"yuv444p12le",
|
109
|
+
"gbrp",
|
110
|
+
"gbrp10le",
|
111
|
+
"gbrp12le",
|
112
|
+
),
|
113
|
+
"vp8": ("yuv420p", "yuva420p"),
|
114
|
+
"prores": ("yuv422p10le", "yuv444p10le", "yuva444p10le"),
|
115
|
+
"av1": (
|
116
|
+
"yuv420p",
|
117
|
+
"yuv422p",
|
118
|
+
"yuv444p",
|
119
|
+
"gbrp",
|
120
|
+
"yuv420p10le",
|
121
|
+
"yuv422p10le",
|
122
|
+
"yuv444p10le",
|
123
|
+
"yuv420p12le",
|
124
|
+
"yuv422p12le",
|
125
|
+
"yuv444p12le",
|
126
|
+
"gbrp10le",
|
127
|
+
"gbrp12le",
|
128
|
+
"gray",
|
129
|
+
"gray10le",
|
130
|
+
"gray12le",
|
131
|
+
),
|
132
|
+
"mpeg4": ("yuv420p"),
|
133
|
+
"mpeg2video": ("yuv420p", "yuv422p"),
|
134
|
+
"mjpeg": ("yuvj420p", "yuvj422p", "yuvj444p"),
|
197
135
|
}
|