auto-editor 25.3.1__py3-none-any.whl → 26.0.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 +1 -1
- auto_editor/__main__.py +6 -33
- auto_editor/edit.py +146 -52
- auto_editor/ffwrapper.py +19 -81
- auto_editor/formats/fcp7.py +1 -1
- auto_editor/help.py +4 -3
- auto_editor/lang/palet.py +3 -9
- auto_editor/lang/stdenv.py +0 -7
- auto_editor/output.py +25 -183
- auto_editor/render/audio.py +150 -58
- auto_editor/render/subtitle.py +71 -10
- auto_editor/render/video.py +167 -182
- auto_editor/subcommands/repl.py +12 -3
- auto_editor/subcommands/test.py +42 -38
- auto_editor/timeline.py +2 -2
- auto_editor/utils/cmdkw.py +5 -8
- auto_editor/utils/container.py +4 -5
- auto_editor/utils/func.py +2 -35
- auto_editor/utils/types.py +4 -30
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/METADATA +1 -2
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/RECORD +25 -26
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/WHEEL +1 -1
- auto_editor/utils/encoder.py +0 -135
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/LICENSE +0 -0
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/entry_points.txt +0 -0
- {auto_editor-25.3.1.dist-info → auto_editor-26.0.1.dist-info}/top_level.txt +0 -0
auto_editor/utils/container.py
CHANGED
@@ -55,12 +55,9 @@ def codec_type(x: str) -> str:
|
|
55
55
|
return "subtitle"
|
56
56
|
|
57
57
|
try:
|
58
|
-
return Codec(x, "
|
58
|
+
return Codec(x, "w").type
|
59
59
|
except Exception:
|
60
|
-
|
61
|
-
return Codec(x, "w").type
|
62
|
-
except Exception:
|
63
|
-
return ""
|
60
|
+
return ""
|
64
61
|
|
65
62
|
|
66
63
|
def container_constructor(ext: str) -> Container:
|
@@ -80,6 +77,8 @@ def container_constructor(ext: str) -> Container:
|
|
80
77
|
scodecs = set()
|
81
78
|
|
82
79
|
for codec in codecs:
|
80
|
+
if ext == "wav" and codec == "aac":
|
81
|
+
continue
|
83
82
|
kind = codec_type(codec)
|
84
83
|
if kind == "video":
|
85
84
|
vcodecs.add(codec)
|
auto_editor/utils/func.py
CHANGED
@@ -41,7 +41,7 @@ def to_timecode(secs: float | Fraction, fmt: str) -> str:
|
|
41
41
|
if h == 0:
|
42
42
|
return f"{sign}{m:02d}:{s:06.3f}"
|
43
43
|
return f"{sign}{h:02d}:{m:02d}:{s:06.3f}"
|
44
|
-
if fmt == "mov_text":
|
44
|
+
if fmt == "srt" or fmt == "mov_text":
|
45
45
|
return f"{sign}{h:02d}:{m:02d}:" + f"{s:06.3f}".replace(".", ",", 1)
|
46
46
|
if fmt == "standard":
|
47
47
|
return f"{sign}{h:02d}:{m:02d}:{s:06.3f}"
|
@@ -81,21 +81,10 @@ def mut_margin(arr: BoolList, start_m: int, end_m: int) -> None:
|
|
81
81
|
arr[max(i + end_m, 0) : i] = False
|
82
82
|
|
83
83
|
|
84
|
-
def merge(start_list: np.ndarray, end_list: np.ndarray) -> BoolList:
|
85
|
-
result = np.zeros((len(start_list)), dtype=np.bool_)
|
86
|
-
|
87
|
-
for i, item in enumerate(start_list):
|
88
|
-
if item == True:
|
89
|
-
where = np.where(end_list[i:])[0]
|
90
|
-
if len(where) > 0:
|
91
|
-
result[i : where[0]] = True
|
92
|
-
return result
|
93
|
-
|
94
|
-
|
95
84
|
def get_stdout(cmd: list[str]) -> str:
|
96
85
|
from subprocess import DEVNULL, PIPE, Popen
|
97
86
|
|
98
|
-
stdout
|
87
|
+
stdout = Popen(cmd, stdin=DEVNULL, stdout=PIPE, stderr=PIPE).communicate()[0]
|
99
88
|
return stdout.decode("utf-8", "replace")
|
100
89
|
|
101
90
|
|
@@ -116,25 +105,3 @@ def aspect_ratio(width: int, height: int) -> tuple[int, int]:
|
|
116
105
|
|
117
106
|
c = gcd(width, height)
|
118
107
|
return width // c, height // c
|
119
|
-
|
120
|
-
|
121
|
-
def human_readable_time(time_in_secs: float) -> str:
|
122
|
-
units = "seconds"
|
123
|
-
if time_in_secs >= 3600:
|
124
|
-
time_in_secs = round(time_in_secs / 3600, 1)
|
125
|
-
if time_in_secs % 1 == 0:
|
126
|
-
time_in_secs = round(time_in_secs)
|
127
|
-
units = "hours"
|
128
|
-
if time_in_secs >= 60:
|
129
|
-
time_in_secs = round(time_in_secs / 60, 1)
|
130
|
-
if time_in_secs >= 10 or time_in_secs % 1 == 0:
|
131
|
-
time_in_secs = round(time_in_secs)
|
132
|
-
units = "minutes"
|
133
|
-
return f"{time_in_secs} {units}"
|
134
|
-
|
135
|
-
|
136
|
-
def append_filename(path: str, val: str) -> str:
|
137
|
-
from os.path import splitext
|
138
|
-
|
139
|
-
root, ext = splitext(path)
|
140
|
-
return root + val + ext
|
auto_editor/utils/types.py
CHANGED
@@ -3,7 +3,6 @@ from __future__ import annotations
|
|
3
3
|
import re
|
4
4
|
from dataclasses import dataclass, field
|
5
5
|
from fractions import Fraction
|
6
|
-
from typing import Literal
|
7
6
|
|
8
7
|
|
9
8
|
class CoerceError(Exception):
|
@@ -111,17 +110,6 @@ def sample_rate(val: str) -> int:
|
|
111
110
|
return natural(num)
|
112
111
|
|
113
112
|
|
114
|
-
def bitrate(val: str) -> str:
|
115
|
-
if val == "unset":
|
116
|
-
return val
|
117
|
-
_num, unit = _split_num_str(val)
|
118
|
-
num = int(_num) if _num.is_integer() else _num
|
119
|
-
if unit not in ("", "k", "K", "M"):
|
120
|
-
extra = f". Did you mean `{num}M`?" if unit == "m" else ""
|
121
|
-
raise CoerceError(f"`{val}` is not a valid bitrate format{extra}")
|
122
|
-
return val
|
123
|
-
|
124
|
-
|
125
113
|
def time(val: str, tb: Fraction) -> int:
|
126
114
|
if ":" in val:
|
127
115
|
boxes = val.split(":")
|
@@ -167,16 +155,7 @@ def speed_range(val: str) -> tuple[float, str, str]:
|
|
167
155
|
return number(a[0]), a[1], a[2]
|
168
156
|
|
169
157
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
def stream(val: str) -> Stream:
|
174
|
-
if val == "all" or val == "'all":
|
175
|
-
return "all"
|
176
|
-
return natural(val)
|
177
|
-
|
178
|
-
|
179
|
-
def color(val: str) -> str:
|
158
|
+
def parse_color(val: str) -> str:
|
180
159
|
"""
|
181
160
|
Convert a color str into an RGB tuple
|
182
161
|
|
@@ -218,11 +197,9 @@ class Args:
|
|
218
197
|
yt_dlp_extras: str | None = None
|
219
198
|
video_codec: str = "auto"
|
220
199
|
audio_codec: str = "auto"
|
221
|
-
video_bitrate: str = "
|
222
|
-
audio_bitrate: str = "
|
223
|
-
video_quality_scale: str = "unset"
|
200
|
+
video_bitrate: str = "auto"
|
201
|
+
audio_bitrate: str = "auto"
|
224
202
|
scale: float = 1.0
|
225
|
-
extras: str | None = None
|
226
203
|
sn: bool = False
|
227
204
|
dn: bool = False
|
228
205
|
no_seek: bool = False
|
@@ -232,7 +209,7 @@ class Args:
|
|
232
209
|
frame_rate: Fraction | None = None
|
233
210
|
sample_rate: int | None = None
|
234
211
|
resolution: tuple[int, int] | None = None
|
235
|
-
background: str = "#
|
212
|
+
background: str = "#000000"
|
236
213
|
edit_based_on: str = "audio"
|
237
214
|
keep_tracks_separate: bool = False
|
238
215
|
audio_normalize: str = "#f"
|
@@ -241,13 +218,10 @@ class Args:
|
|
241
218
|
no_open: bool = False
|
242
219
|
temp_dir: str | None = None
|
243
220
|
ffmpeg_location: str | None = None
|
244
|
-
my_ffmpeg: bool = False
|
245
221
|
progress: str = "modern"
|
246
222
|
version: bool = False
|
247
223
|
debug: bool = False
|
248
224
|
config: bool = False
|
249
|
-
show_ffmpeg_commands: bool = False
|
250
|
-
show_ffmpeg_output: bool = False
|
251
225
|
quiet: bool = False
|
252
226
|
preview: bool = False
|
253
227
|
no_cache: bool = False
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: auto-editor
|
3
|
-
Version:
|
3
|
+
Version: 26.0.1
|
4
4
|
Summary: Auto-Editor: Effort free video editing!
|
5
5
|
Author-email: WyattBlue <wyattblue@auto-editor.com>
|
6
6
|
License: Unlicense
|
@@ -13,7 +13,6 @@ Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
14
14
|
Requires-Dist: numpy <3.0,>=1.23.0
|
15
15
|
Requires-Dist: pyav ==13.1.*
|
16
|
-
Requires-Dist: ae-ffmpeg ==1.2.*
|
17
16
|
|
18
17
|
<p align="center"><img src="https://auto-editor.com/img/auto-editor-banner.webp" title="Auto-Editor" width="700"></p>
|
19
18
|
|
@@ -1,18 +1,18 @@
|
|
1
|
-
auto_editor/__init__.py,sha256=
|
2
|
-
auto_editor/__main__.py,sha256=
|
1
|
+
auto_editor/__init__.py,sha256=IVlNYVWUewREksm_90yLqKeN61i9bI8Lx_lWZz4SObk,23
|
2
|
+
auto_editor/__main__.py,sha256=vSvw0fWi4GOIsak_RuOBnMB_CrtNNp8COh7i8LV4acE,11541
|
3
3
|
auto_editor/analyze.py,sha256=uCi21659BB-lbPwZ6yxNLekS6Q3yoB2ypLNXPhmhTfg,11688
|
4
|
-
auto_editor/edit.py,sha256=
|
5
|
-
auto_editor/ffwrapper.py,sha256=
|
6
|
-
auto_editor/help.py,sha256=
|
4
|
+
auto_editor/edit.py,sha256=_fjvs2UzK84Wl6DVZwyRBbqbxh16z4VPNTHUlvjU9iQ,15977
|
5
|
+
auto_editor/ffwrapper.py,sha256=Sx1-9OmAStR73I-RR2XPwWPTmGywM7ssqT9-U0sffA4,5615
|
6
|
+
auto_editor/help.py,sha256=62s3L0rlhA7nkkOjtXItRUl779EJ__A7_6E-VFH3J_E,7924
|
7
7
|
auto_editor/make_layers.py,sha256=8uFy5SvMArAP-5slYJrxa_iGAEwimQBFeM-T01VORVw,8995
|
8
|
-
auto_editor/output.py,sha256=
|
8
|
+
auto_editor/output.py,sha256=ho8Lpqz4Sv_Gw0Vj2OvG39s83xHpyZlvtRNryTPbXqc,2563
|
9
9
|
auto_editor/preview.py,sha256=HUsjmV9Fx73rZ26BXrpz9z-z_e4oiui3u9e7qbbGoBY,3037
|
10
|
-
auto_editor/timeline.py,sha256=
|
10
|
+
auto_editor/timeline.py,sha256=XfaH9cH-RB-MObOpMr5IfLcqJcjmabO1XwkUkT3_FQM,8186
|
11
11
|
auto_editor/vanparse.py,sha256=f0vViZ-aYtDxEyVrFHJ5X2pPTQAfqtw3N2gZgzn51kU,10002
|
12
12
|
auto_editor/wavfile.py,sha256=1HbZ4L8IBD6Fbg3pd5MQG4ZXy48YZA05t8XllSplhWk,9499
|
13
13
|
auto_editor/formats/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
14
|
auto_editor/formats/fcp11.py,sha256=qzo-qpHYsiHjOPjGBWjBeJUAACDmo8ijJkjslHTQH6Q,5196
|
15
|
-
auto_editor/formats/fcp7.py,sha256=
|
15
|
+
auto_editor/formats/fcp7.py,sha256=LYkGtZC_dmbHQDg1wYP7XQYS74NEon6ws8c5MDdTd90,20275
|
16
16
|
auto_editor/formats/json.py,sha256=Br-xHVHj59C0OPP2FwfJeht_fImepRXsaw0iDFvK7-w,7693
|
17
17
|
auto_editor/formats/shotcut.py,sha256=-ES854LLFCMCBe100JRJedDmuk8zPev17aQMTrzPv-g,4923
|
18
18
|
auto_editor/formats/utils.py,sha256=LYXDiqOk9WwUorLGw2D0M7In9BNDkoKikNawuks7hqE,1648
|
@@ -20,37 +20,36 @@ auto_editor/lang/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
20
20
|
auto_editor/lang/json.py,sha256=OsNcYlfEj8ZLlzLK-gkLcrCCKI7mJz9rpe-6XLr4f9U,9231
|
21
21
|
auto_editor/lang/libintrospection.py,sha256=6H1rGp0wqaCud5IPaoEmzULGnYt6ec7_0h32ATcw2oY,261
|
22
22
|
auto_editor/lang/libmath.py,sha256=z33A161Oe6vYYK7R6pgYjdZZe63dQkN38Qf36TL3prg,847
|
23
|
-
auto_editor/lang/palet.py,sha256=
|
24
|
-
auto_editor/lang/stdenv.py,sha256=
|
23
|
+
auto_editor/lang/palet.py,sha256=jHSO8R4eAbMeiQaGwCLih6z0pPGoJEcmPgSvsTpF8EA,24139
|
24
|
+
auto_editor/lang/stdenv.py,sha256=3UnVgLaTT7hQMhquDmv-mQx82jtr_YOYstwZAwvXfJY,43754
|
25
25
|
auto_editor/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
auto_editor/lib/contracts.py,sha256=lExGQymcQUmwG5lC1lO4qm4GY8W0q_yzK_miTaAoPA4,7586
|
27
27
|
auto_editor/lib/data_structs.py,sha256=dcsXgsLLzbmFDUZucoirzewPALsKzoxz7z5L22_QJM8,7091
|
28
28
|
auto_editor/lib/err.py,sha256=UlszQJdzMZwkbT8x3sY4GkCV_5x9yrd6uVVUzvA8iiI,35
|
29
29
|
auto_editor/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
auto_editor/render/audio.py,sha256=
|
31
|
-
auto_editor/render/subtitle.py,sha256=
|
32
|
-
auto_editor/render/video.py,sha256=
|
30
|
+
auto_editor/render/audio.py,sha256=KvhAJf-5_HFkRoaYaKOYraT2uQr65gdayuicWYOpjgk,13376
|
31
|
+
auto_editor/render/subtitle.py,sha256=qyP_AZHwGToVBeH8qMSa9LUenMaNmsnJN8w0Y7SXQ3o,6235
|
32
|
+
auto_editor/render/video.py,sha256=dje0RNW2dKILfTzt0VAF0WR6REfGOsc6l17pP1Z4ooA,12215
|
33
33
|
auto_editor/subcommands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
auto_editor/subcommands/desc.py,sha256=GDrKJYiHMaeTrplZAceXl1JwoqD78XsV2_5lc0Xd7po,869
|
35
35
|
auto_editor/subcommands/info.py,sha256=t5n43HLt9hpMFSIfGV777X4zIPBAFugOKlpCfRjiKxY,6921
|
36
36
|
auto_editor/subcommands/levels.py,sha256=ChJMDTd34-jgxewqHRmmd3VNhFdy964w0DcQG0ls-hY,4079
|
37
37
|
auto_editor/subcommands/palet.py,sha256=ONzTqemaQq9YEfIOsDRNnwzfqnEMUMSXIQrETxyroRU,749
|
38
|
-
auto_editor/subcommands/repl.py,sha256=
|
38
|
+
auto_editor/subcommands/repl.py,sha256=TF_I7zsFY7-KdgidrqjafTz7o_eluVbLvgTcOBG-UWQ,3449
|
39
39
|
auto_editor/subcommands/subdump.py,sha256=af_XBf7kaevqHn1A71z8C-7x8pS5WKD9FE_ugkCw6rk,665
|
40
|
-
auto_editor/subcommands/test.py,sha256=
|
40
|
+
auto_editor/subcommands/test.py,sha256=bR3MQvW1P_cKDwd1hRa2t-n3GqgRGGv5D3IBnfrH8-0,25787
|
41
41
|
auto_editor/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
42
|
auto_editor/utils/bar.py,sha256=hG_NiYeuM90TdILzAJORft-UOS5grwWN3SbRuj6upsI,3998
|
43
43
|
auto_editor/utils/chunks.py,sha256=J-eGKtEz68gFtRrj1kOSgH4Tj_Yz6prNQ7Xr-d9NQJw,52
|
44
|
-
auto_editor/utils/cmdkw.py,sha256=
|
45
|
-
auto_editor/utils/container.py,sha256=
|
46
|
-
auto_editor/utils/
|
47
|
-
auto_editor/utils/func.py,sha256=3p5f6BxC6wMjsolLSfrcx7OwVQnMRAprwBI7MQ8TjB0,3725
|
44
|
+
auto_editor/utils/cmdkw.py,sha256=aUGBvBel2Ko1o6Rwmr4rEL-BMc5hEnzYLbyZ1GeJdcY,5729
|
45
|
+
auto_editor/utils/container.py,sha256=Wf1ZL0tvXWl6m1B9mK_SkgVl89ilV_LpwlQq0TVroCc,2704
|
46
|
+
auto_editor/utils/func.py,sha256=kB-pNDn20M6YT7sljyd_auve5teK-E2G4TgwVOAIuJw,2754
|
48
47
|
auto_editor/utils/log.py,sha256=M2QKeQHMRNLm3HMVUKedZPRprT2u5dipOStiO4miPBk,3613
|
49
|
-
auto_editor/utils/types.py,sha256=
|
48
|
+
auto_editor/utils/types.py,sha256=ecjTQmTlKoT9Wbwb_N4p6wC7s3bxiKPmq8sF15WfyVs,10772
|
50
49
|
docs/build.py,sha256=CM-ZWgQk8wSNjivx_-6wGIaG7cstrNKsX2d4TzFVivE,1642
|
51
|
-
auto_editor-
|
52
|
-
auto_editor-
|
53
|
-
auto_editor-
|
54
|
-
auto_editor-
|
55
|
-
auto_editor-
|
56
|
-
auto_editor-
|
50
|
+
auto_editor-26.0.1.dist-info/LICENSE,sha256=yiq99pWITHfqS0pbZMp7cy2dnbreTuvBwudsU-njvIM,1210
|
51
|
+
auto_editor-26.0.1.dist-info/METADATA,sha256=e_JZKirHFmWBAXaCDqXHIOB4J-IIpbuoK72fzhlXMtw,6115
|
52
|
+
auto_editor-26.0.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
53
|
+
auto_editor-26.0.1.dist-info/entry_points.txt,sha256=-H7zdTw4MqnAcwrN5xTNkGIhzZtJMxS9r6lTMeR9-aA,240
|
54
|
+
auto_editor-26.0.1.dist-info/top_level.txt,sha256=jBV5zlbWRbKOa-xaWPvTD45QL7lGExx2BDzv-Ji4dTw,17
|
55
|
+
auto_editor-26.0.1.dist-info/RECORD,,
|
auto_editor/utils/encoder.py
DELETED
@@ -1,135 +0,0 @@
|
|
1
|
-
encoders = {
|
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"),
|
135
|
-
}
|
File without changes
|
File without changes
|
File without changes
|