typed-ffmpeg-compatible 2.6.0__py3-none-any.whl → 2.6.2__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- typed_ffmpeg/base.py +24 -5
- typed_ffmpeg/common/schema.py +25 -9
- typed_ffmpeg/common/serialize.py +9 -4
- typed_ffmpeg/dag/__init__.py +8 -1
- typed_ffmpeg/dag/context.py +7 -2
- typed_ffmpeg/dag/factory.py +29 -9
- typed_ffmpeg/dag/global_runnable/global_args.py +1 -2
- typed_ffmpeg/dag/global_runnable/runnable.py +9 -3
- typed_ffmpeg/dag/io/_input.py +3 -1
- typed_ffmpeg/dag/io/_output.py +3 -1
- typed_ffmpeg/dag/io/output_args.py +7 -4
- typed_ffmpeg/dag/nodes.py +55 -26
- typed_ffmpeg/dag/schema.py +3 -3
- typed_ffmpeg/dag/validate.py +26 -8
- typed_ffmpeg/exceptions.py +1 -1
- typed_ffmpeg/filters.py +304 -72
- typed_ffmpeg/info.py +9 -3
- typed_ffmpeg/probe.py +9 -2
- typed_ffmpeg/schema.py +0 -1
- typed_ffmpeg/streams/audio.py +697 -214
- typed_ffmpeg/streams/video.py +1400 -401
- typed_ffmpeg/utils/escaping.py +6 -5
- typed_ffmpeg/utils/run.py +1 -1
- typed_ffmpeg/utils/snapshot.py +6 -1
- typed_ffmpeg/utils/view.py +7 -2
- {typed_ffmpeg_compatible-2.6.0.dist-info → typed_ffmpeg_compatible-2.6.2.dist-info}/METADATA +1 -1
- typed_ffmpeg_compatible-2.6.2.dist-info/RECORD +46 -0
- typed_ffmpeg_compatible-2.6.0.dist-info/RECORD +0 -46
- {typed_ffmpeg_compatible-2.6.0.dist-info → typed_ffmpeg_compatible-2.6.2.dist-info}/LICENSE +0 -0
- {typed_ffmpeg_compatible-2.6.0.dist-info → typed_ffmpeg_compatible-2.6.2.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-2.6.0.dist-info → typed_ffmpeg_compatible-2.6.2.dist-info}/entry_points.txt +0 -0
typed_ffmpeg/filters.py
CHANGED
@@ -7,7 +7,19 @@ from .dag.nodes import FilterableStream, FilterNode
|
|
7
7
|
from .schema import Auto, Default
|
8
8
|
from .streams.audio import AudioStream
|
9
9
|
from .streams.video import VideoStream
|
10
|
-
from .types import
|
10
|
+
from .types import (
|
11
|
+
Boolean,
|
12
|
+
Color,
|
13
|
+
Double,
|
14
|
+
Duration,
|
15
|
+
Flags,
|
16
|
+
Float,
|
17
|
+
Image_size,
|
18
|
+
Int,
|
19
|
+
Int64,
|
20
|
+
Pix_fmt,
|
21
|
+
String,
|
22
|
+
)
|
11
23
|
|
12
24
|
|
13
25
|
def acrossfade(
|
@@ -94,7 +106,11 @@ def acrossfade(
|
|
94
106
|
|
95
107
|
"""
|
96
108
|
filter_node = filter_node_factory(
|
97
|
-
FFMpegFilterDef(
|
109
|
+
FFMpegFilterDef(
|
110
|
+
name="acrossfade",
|
111
|
+
typings_input=("audio", "audio"),
|
112
|
+
typings_output=("audio",),
|
113
|
+
),
|
98
114
|
_crossfade0,
|
99
115
|
_crossfade1,
|
100
116
|
**{
|
@@ -112,7 +128,9 @@ def acrossfade(
|
|
112
128
|
def ainterleave(
|
113
129
|
*streams: AudioStream,
|
114
130
|
nb_inputs: Int = Auto("len(streams)"),
|
115
|
-
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
131
|
+
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
132
|
+
"longest"
|
133
|
+
),
|
116
134
|
extra_options: dict[str, Any] = None,
|
117
135
|
) -> AudioStream:
|
118
136
|
"""
|
@@ -132,7 +150,9 @@ def ainterleave(
|
|
132
150
|
"""
|
133
151
|
filter_node = filter_node_factory(
|
134
152
|
FFMpegFilterDef(
|
135
|
-
name="ainterleave",
|
153
|
+
name="ainterleave",
|
154
|
+
typings_input="[StreamType.audio] * int(nb_inputs)",
|
155
|
+
typings_output=("audio",),
|
136
156
|
),
|
137
157
|
*streams,
|
138
158
|
**{
|
@@ -174,7 +194,11 @@ def alphamerge(
|
|
174
194
|
|
175
195
|
"""
|
176
196
|
filter_node = filter_node_factory(
|
177
|
-
FFMpegFilterDef(
|
197
|
+
FFMpegFilterDef(
|
198
|
+
name="alphamerge",
|
199
|
+
typings_input=("video", "video"),
|
200
|
+
typings_output=("video",),
|
201
|
+
),
|
178
202
|
_main,
|
179
203
|
_alpha,
|
180
204
|
**{
|
@@ -209,7 +233,11 @@ def amerge(
|
|
209
233
|
|
210
234
|
"""
|
211
235
|
filter_node = filter_node_factory(
|
212
|
-
FFMpegFilterDef(
|
236
|
+
FFMpegFilterDef(
|
237
|
+
name="amerge",
|
238
|
+
typings_input="[StreamType.audio] * int(inputs)",
|
239
|
+
typings_output=("audio",),
|
240
|
+
),
|
213
241
|
*streams,
|
214
242
|
**{
|
215
243
|
"inputs": inputs,
|
@@ -222,7 +250,9 @@ def amerge(
|
|
222
250
|
def amix(
|
223
251
|
*streams: AudioStream,
|
224
252
|
inputs: Int = Auto("len(streams)"),
|
225
|
-
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
253
|
+
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
254
|
+
"longest"
|
255
|
+
),
|
226
256
|
dropout_transition: Float = Default(2.0),
|
227
257
|
weights: String = Default("1 1"),
|
228
258
|
normalize: Boolean = Default(True),
|
@@ -247,7 +277,11 @@ def amix(
|
|
247
277
|
|
248
278
|
"""
|
249
279
|
filter_node = filter_node_factory(
|
250
|
-
FFMpegFilterDef(
|
280
|
+
FFMpegFilterDef(
|
281
|
+
name="amix",
|
282
|
+
typings_input="[StreamType.audio] * int(inputs)",
|
283
|
+
typings_output=("audio",),
|
284
|
+
),
|
251
285
|
*streams,
|
252
286
|
**{
|
253
287
|
"inputs": inputs,
|
@@ -278,7 +312,11 @@ def amultiply(
|
|
278
312
|
|
279
313
|
"""
|
280
314
|
filter_node = filter_node_factory(
|
281
|
-
FFMpegFilterDef(
|
315
|
+
FFMpegFilterDef(
|
316
|
+
name="amultiply",
|
317
|
+
typings_input=("audio", "audio"),
|
318
|
+
typings_output=("audio",),
|
319
|
+
),
|
282
320
|
_multiply0,
|
283
321
|
_multiply1,
|
284
322
|
**{} | (extra_options or {}),
|
@@ -318,7 +356,9 @@ def anlmf(
|
|
318
356
|
|
319
357
|
"""
|
320
358
|
filter_node = filter_node_factory(
|
321
|
-
FFMpegFilterDef(
|
359
|
+
FFMpegFilterDef(
|
360
|
+
name="anlmf", typings_input=("audio", "audio"), typings_output=("audio",)
|
361
|
+
),
|
322
362
|
_input,
|
323
363
|
_desired,
|
324
364
|
**{
|
@@ -366,7 +406,9 @@ def anlms(
|
|
366
406
|
|
367
407
|
"""
|
368
408
|
filter_node = filter_node_factory(
|
369
|
-
FFMpegFilterDef(
|
409
|
+
FFMpegFilterDef(
|
410
|
+
name="anlms", typings_input=("audio", "audio"), typings_output=("audio",)
|
411
|
+
),
|
370
412
|
_input,
|
371
413
|
_desired,
|
372
414
|
**{
|
@@ -404,7 +446,9 @@ def apsnr(
|
|
404
446
|
|
405
447
|
"""
|
406
448
|
filter_node = filter_node_factory(
|
407
|
-
FFMpegFilterDef(
|
449
|
+
FFMpegFilterDef(
|
450
|
+
name="apsnr", typings_input=("audio", "audio"), typings_output=("audio",)
|
451
|
+
),
|
408
452
|
_input0,
|
409
453
|
_input1,
|
410
454
|
**{
|
@@ -445,7 +489,9 @@ def arls(
|
|
445
489
|
|
446
490
|
"""
|
447
491
|
filter_node = filter_node_factory(
|
448
|
-
FFMpegFilterDef(
|
492
|
+
FFMpegFilterDef(
|
493
|
+
name="arls", typings_input=("audio", "audio"), typings_output=("audio",)
|
494
|
+
),
|
449
495
|
_input,
|
450
496
|
_desired,
|
451
497
|
**{
|
@@ -482,7 +528,9 @@ def asdr(
|
|
482
528
|
|
483
529
|
"""
|
484
530
|
filter_node = filter_node_factory(
|
485
|
-
FFMpegFilterDef(
|
531
|
+
FFMpegFilterDef(
|
532
|
+
name="asdr", typings_input=("audio", "audio"), typings_output=("audio",)
|
533
|
+
),
|
486
534
|
_input0,
|
487
535
|
_input1,
|
488
536
|
**{
|
@@ -515,7 +563,9 @@ def asisdr(
|
|
515
563
|
|
516
564
|
"""
|
517
565
|
filter_node = filter_node_factory(
|
518
|
-
FFMpegFilterDef(
|
566
|
+
FFMpegFilterDef(
|
567
|
+
name="asisdr", typings_input=("audio", "audio"), typings_output=("audio",)
|
568
|
+
),
|
519
569
|
_input0,
|
520
570
|
_input1,
|
521
571
|
**{
|
@@ -589,7 +639,11 @@ def axcorrelate(
|
|
589
639
|
|
590
640
|
"""
|
591
641
|
filter_node = filter_node_factory(
|
592
|
-
FFMpegFilterDef(
|
642
|
+
FFMpegFilterDef(
|
643
|
+
name="axcorrelate",
|
644
|
+
typings_input=("audio", "audio"),
|
645
|
+
typings_output=("audio",),
|
646
|
+
),
|
593
647
|
_axcorrelate0,
|
594
648
|
_axcorrelate1,
|
595
649
|
**{
|
@@ -886,7 +940,9 @@ def blend(
|
|
886
940
|
|
887
941
|
"""
|
888
942
|
filter_node = filter_node_factory(
|
889
|
-
FFMpegFilterDef(
|
943
|
+
FFMpegFilterDef(
|
944
|
+
name="blend", typings_input=("video", "video"), typings_output=("video",)
|
945
|
+
),
|
890
946
|
_top,
|
891
947
|
_bottom,
|
892
948
|
**{
|
@@ -1014,7 +1070,11 @@ def colormap(
|
|
1014
1070
|
|
1015
1071
|
"""
|
1016
1072
|
filter_node = filter_node_factory(
|
1017
|
-
FFMpegFilterDef(
|
1073
|
+
FFMpegFilterDef(
|
1074
|
+
name="colormap",
|
1075
|
+
typings_input=("video", "video", "video"),
|
1076
|
+
typings_output=("video",),
|
1077
|
+
),
|
1018
1078
|
_default,
|
1019
1079
|
_source,
|
1020
1080
|
_target,
|
@@ -1111,7 +1171,9 @@ def convolve(
|
|
1111
1171
|
|
1112
1172
|
"""
|
1113
1173
|
filter_node = filter_node_factory(
|
1114
|
-
FFMpegFilterDef(
|
1174
|
+
FFMpegFilterDef(
|
1175
|
+
name="convolve", typings_input=("video", "video"), typings_output=("video",)
|
1176
|
+
),
|
1115
1177
|
_main,
|
1116
1178
|
_impulse,
|
1117
1179
|
**{
|
@@ -1159,7 +1221,9 @@ def corr(
|
|
1159
1221
|
|
1160
1222
|
"""
|
1161
1223
|
filter_node = filter_node_factory(
|
1162
|
-
FFMpegFilterDef(
|
1224
|
+
FFMpegFilterDef(
|
1225
|
+
name="corr", typings_input=("video", "video"), typings_output=("video",)
|
1226
|
+
),
|
1163
1227
|
_main,
|
1164
1228
|
_reference,
|
1165
1229
|
**{
|
@@ -1265,7 +1329,11 @@ def deconvolve(
|
|
1265
1329
|
|
1266
1330
|
"""
|
1267
1331
|
filter_node = filter_node_factory(
|
1268
|
-
FFMpegFilterDef(
|
1332
|
+
FFMpegFilterDef(
|
1333
|
+
name="deconvolve",
|
1334
|
+
typings_input=("video", "video"),
|
1335
|
+
typings_output=("video",),
|
1336
|
+
),
|
1269
1337
|
_main,
|
1270
1338
|
_impulse,
|
1271
1339
|
**{
|
@@ -1288,7 +1356,9 @@ def displace(
|
|
1288
1356
|
_xmap: VideoStream,
|
1289
1357
|
_ymap: VideoStream,
|
1290
1358
|
*,
|
1291
|
-
edge: Int | Literal["blank", "smear", "wrap", "mirror"] | Default = Default(
|
1359
|
+
edge: Int | Literal["blank", "smear", "wrap", "mirror"] | Default = Default(
|
1360
|
+
"smear"
|
1361
|
+
),
|
1292
1362
|
enable: String = Default(None),
|
1293
1363
|
extra_options: dict[str, Any] = None,
|
1294
1364
|
) -> VideoStream:
|
@@ -1308,7 +1378,11 @@ def displace(
|
|
1308
1378
|
|
1309
1379
|
"""
|
1310
1380
|
filter_node = filter_node_factory(
|
1311
|
-
FFMpegFilterDef(
|
1381
|
+
FFMpegFilterDef(
|
1382
|
+
name="displace",
|
1383
|
+
typings_input=("video", "video", "video"),
|
1384
|
+
typings_output=("video",),
|
1385
|
+
),
|
1312
1386
|
_source,
|
1313
1387
|
_xmap,
|
1314
1388
|
_ymap,
|
@@ -1328,7 +1402,10 @@ def feedback(
|
|
1328
1402
|
x: Int = Default(0),
|
1329
1403
|
w: Int = Default(0),
|
1330
1404
|
extra_options: dict[str, Any] = None,
|
1331
|
-
) -> tuple[
|
1405
|
+
) -> tuple[
|
1406
|
+
VideoStream,
|
1407
|
+
VideoStream,
|
1408
|
+
]:
|
1332
1409
|
"""
|
1333
1410
|
|
1334
1411
|
Apply feedback video filter.
|
@@ -1346,7 +1423,11 @@ def feedback(
|
|
1346
1423
|
|
1347
1424
|
"""
|
1348
1425
|
filter_node = filter_node_factory(
|
1349
|
-
FFMpegFilterDef(
|
1426
|
+
FFMpegFilterDef(
|
1427
|
+
name="feedback",
|
1428
|
+
typings_input=("video", "video"),
|
1429
|
+
typings_output=("video", "video"),
|
1430
|
+
),
|
1350
1431
|
_default,
|
1351
1432
|
_feedin,
|
1352
1433
|
**{
|
@@ -1364,7 +1445,9 @@ def feedback(
|
|
1364
1445
|
def fieldmatch(
|
1365
1446
|
*streams: VideoStream,
|
1366
1447
|
order: Int | Literal["auto", "bff", "tff"] | Default = Default("auto"),
|
1367
|
-
mode: Int
|
1448
|
+
mode: Int
|
1449
|
+
| Literal["pc", "pc_n", "pc_u", "pc_n_ub", "pcn", "pcn_ub"]
|
1450
|
+
| Default = Default("pc_n"),
|
1368
1451
|
ppsrc: Boolean = Default(False),
|
1369
1452
|
field: Int | Literal["auto", "bottom", "top"] | Default = Default("auto"),
|
1370
1453
|
mchroma: Boolean = Default(True),
|
@@ -1438,7 +1521,9 @@ def framepack(
|
|
1438
1521
|
_left: VideoStream,
|
1439
1522
|
_right: VideoStream,
|
1440
1523
|
*,
|
1441
|
-
format: Int
|
1524
|
+
format: Int
|
1525
|
+
| Literal["sbs", "tab", "frameseq", "lines", "columns"]
|
1526
|
+
| Default = Default("sbs"),
|
1442
1527
|
extra_options: dict[str, Any] = None,
|
1443
1528
|
) -> VideoStream:
|
1444
1529
|
"""
|
@@ -1456,7 +1541,11 @@ def framepack(
|
|
1456
1541
|
|
1457
1542
|
"""
|
1458
1543
|
filter_node = filter_node_factory(
|
1459
|
-
FFMpegFilterDef(
|
1544
|
+
FFMpegFilterDef(
|
1545
|
+
name="framepack",
|
1546
|
+
typings_input=("video", "video"),
|
1547
|
+
typings_output=("video",),
|
1548
|
+
),
|
1460
1549
|
_left,
|
1461
1550
|
_right,
|
1462
1551
|
**{
|
@@ -1493,7 +1582,11 @@ def freezeframes(
|
|
1493
1582
|
|
1494
1583
|
"""
|
1495
1584
|
filter_node = filter_node_factory(
|
1496
|
-
FFMpegFilterDef(
|
1585
|
+
FFMpegFilterDef(
|
1586
|
+
name="freezeframes",
|
1587
|
+
typings_input=("video", "video"),
|
1588
|
+
typings_output=("video",),
|
1589
|
+
),
|
1497
1590
|
_source,
|
1498
1591
|
_replace,
|
1499
1592
|
**{
|
@@ -1563,7 +1656,9 @@ def haldclut(
|
|
1563
1656
|
_clut: VideoStream,
|
1564
1657
|
*,
|
1565
1658
|
clut: Int | Literal["first", "all"] | Default = Default("all"),
|
1566
|
-
interp: Int
|
1659
|
+
interp: Int
|
1660
|
+
| Literal["nearest", "trilinear", "tetrahedral", "pyramid", "prism"]
|
1661
|
+
| Default = Default("tetrahedral"),
|
1567
1662
|
eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
|
1568
1663
|
shortest: Boolean = Default(False),
|
1569
1664
|
repeatlast: Boolean = Default(True),
|
@@ -1592,7 +1687,9 @@ def haldclut(
|
|
1592
1687
|
|
1593
1688
|
"""
|
1594
1689
|
filter_node = filter_node_factory(
|
1595
|
-
FFMpegFilterDef(
|
1690
|
+
FFMpegFilterDef(
|
1691
|
+
name="haldclut", typings_input=("video", "video"), typings_output=("video",)
|
1692
|
+
),
|
1596
1693
|
_main,
|
1597
1694
|
_clut,
|
1598
1695
|
**{
|
@@ -1680,7 +1777,11 @@ def hstack(
|
|
1680
1777
|
|
1681
1778
|
"""
|
1682
1779
|
filter_node = filter_node_factory(
|
1683
|
-
FFMpegFilterDef(
|
1780
|
+
FFMpegFilterDef(
|
1781
|
+
name="hstack",
|
1782
|
+
typings_input="[StreamType.video] * int(inputs)",
|
1783
|
+
typings_output=("video",),
|
1784
|
+
),
|
1684
1785
|
*streams,
|
1685
1786
|
**{
|
1686
1787
|
"inputs": inputs,
|
@@ -1725,7 +1826,11 @@ def hysteresis(
|
|
1725
1826
|
|
1726
1827
|
"""
|
1727
1828
|
filter_node = filter_node_factory(
|
1728
|
-
FFMpegFilterDef(
|
1829
|
+
FFMpegFilterDef(
|
1830
|
+
name="hysteresis",
|
1831
|
+
typings_input=("video", "video"),
|
1832
|
+
typings_output=("video",),
|
1833
|
+
),
|
1729
1834
|
_base,
|
1730
1835
|
_alt,
|
1731
1836
|
**{
|
@@ -1772,7 +1877,9 @@ def identity(
|
|
1772
1877
|
|
1773
1878
|
"""
|
1774
1879
|
filter_node = filter_node_factory(
|
1775
|
-
FFMpegFilterDef(
|
1880
|
+
FFMpegFilterDef(
|
1881
|
+
name="identity", typings_input=("video", "video"), typings_output=("video",)
|
1882
|
+
),
|
1776
1883
|
_main,
|
1777
1884
|
_reference,
|
1778
1885
|
**{
|
@@ -1790,7 +1897,9 @@ def identity(
|
|
1790
1897
|
def interleave(
|
1791
1898
|
*streams: VideoStream,
|
1792
1899
|
nb_inputs: Int = Auto("len(streams)"),
|
1793
|
-
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
1900
|
+
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
1901
|
+
"longest"
|
1902
|
+
),
|
1794
1903
|
extra_options: dict[str, Any] = None,
|
1795
1904
|
) -> VideoStream:
|
1796
1905
|
"""
|
@@ -1810,7 +1919,9 @@ def interleave(
|
|
1810
1919
|
"""
|
1811
1920
|
filter_node = filter_node_factory(
|
1812
1921
|
FFMpegFilterDef(
|
1813
|
-
name="interleave",
|
1922
|
+
name="interleave",
|
1923
|
+
typings_input="[StreamType.video] * int(nb_inputs)",
|
1924
|
+
typings_output=("video",),
|
1814
1925
|
),
|
1815
1926
|
*streams,
|
1816
1927
|
**{
|
@@ -1846,7 +1957,11 @@ def join(
|
|
1846
1957
|
|
1847
1958
|
"""
|
1848
1959
|
filter_node = filter_node_factory(
|
1849
|
-
FFMpegFilterDef(
|
1960
|
+
FFMpegFilterDef(
|
1961
|
+
name="join",
|
1962
|
+
typings_input="[StreamType.audio] * int(inputs)",
|
1963
|
+
typings_output=("audio",),
|
1964
|
+
),
|
1850
1965
|
*streams,
|
1851
1966
|
**{
|
1852
1967
|
"inputs": inputs,
|
@@ -1900,7 +2015,9 @@ def libvmaf(
|
|
1900
2015
|
|
1901
2016
|
"""
|
1902
2017
|
filter_node = filter_node_factory(
|
1903
|
-
FFMpegFilterDef(
|
2018
|
+
FFMpegFilterDef(
|
2019
|
+
name="libvmaf", typings_input=("video", "video"), typings_output=("video",)
|
2020
|
+
),
|
1904
2021
|
_main,
|
1905
2022
|
_reference,
|
1906
2023
|
**{
|
@@ -2007,7 +2124,9 @@ def lut2(
|
|
2007
2124
|
|
2008
2125
|
"""
|
2009
2126
|
filter_node = filter_node_factory(
|
2010
|
-
FFMpegFilterDef(
|
2127
|
+
FFMpegFilterDef(
|
2128
|
+
name="lut2", typings_input=("video", "video"), typings_output=("video",)
|
2129
|
+
),
|
2011
2130
|
_srcx,
|
2012
2131
|
_srcy,
|
2013
2132
|
**{
|
@@ -2056,7 +2175,11 @@ def maskedclamp(
|
|
2056
2175
|
|
2057
2176
|
"""
|
2058
2177
|
filter_node = filter_node_factory(
|
2059
|
-
FFMpegFilterDef(
|
2178
|
+
FFMpegFilterDef(
|
2179
|
+
name="maskedclamp",
|
2180
|
+
typings_input=("video", "video", "video"),
|
2181
|
+
typings_output=("video",),
|
2182
|
+
),
|
2060
2183
|
_base,
|
2061
2184
|
_dark,
|
2062
2185
|
_bright,
|
@@ -2096,7 +2219,11 @@ def maskedmax(
|
|
2096
2219
|
|
2097
2220
|
"""
|
2098
2221
|
filter_node = filter_node_factory(
|
2099
|
-
FFMpegFilterDef(
|
2222
|
+
FFMpegFilterDef(
|
2223
|
+
name="maskedmax",
|
2224
|
+
typings_input=("video", "video", "video"),
|
2225
|
+
typings_output=("video",),
|
2226
|
+
),
|
2100
2227
|
_source,
|
2101
2228
|
_filter1,
|
2102
2229
|
_filter2,
|
@@ -2134,7 +2261,11 @@ def maskedmerge(
|
|
2134
2261
|
|
2135
2262
|
"""
|
2136
2263
|
filter_node = filter_node_factory(
|
2137
|
-
FFMpegFilterDef(
|
2264
|
+
FFMpegFilterDef(
|
2265
|
+
name="maskedmerge",
|
2266
|
+
typings_input=("video", "video", "video"),
|
2267
|
+
typings_output=("video",),
|
2268
|
+
),
|
2138
2269
|
_base,
|
2139
2270
|
_overlay,
|
2140
2271
|
_mask,
|
@@ -2172,7 +2303,11 @@ def maskedmin(
|
|
2172
2303
|
|
2173
2304
|
"""
|
2174
2305
|
filter_node = filter_node_factory(
|
2175
|
-
FFMpegFilterDef(
|
2306
|
+
FFMpegFilterDef(
|
2307
|
+
name="maskedmin",
|
2308
|
+
typings_input=("video", "video", "video"),
|
2309
|
+
typings_output=("video",),
|
2310
|
+
),
|
2176
2311
|
_source,
|
2177
2312
|
_filter1,
|
2178
2313
|
_filter2,
|
@@ -2213,7 +2348,11 @@ def maskedthreshold(
|
|
2213
2348
|
|
2214
2349
|
"""
|
2215
2350
|
filter_node = filter_node_factory(
|
2216
|
-
FFMpegFilterDef(
|
2351
|
+
FFMpegFilterDef(
|
2352
|
+
name="maskedthreshold",
|
2353
|
+
typings_input=("video", "video"),
|
2354
|
+
typings_output=("video",),
|
2355
|
+
),
|
2217
2356
|
_source,
|
2218
2357
|
_reference,
|
2219
2358
|
**{
|
@@ -2312,7 +2451,11 @@ def midequalizer(
|
|
2312
2451
|
|
2313
2452
|
"""
|
2314
2453
|
filter_node = filter_node_factory(
|
2315
|
-
FFMpegFilterDef(
|
2454
|
+
FFMpegFilterDef(
|
2455
|
+
name="midequalizer",
|
2456
|
+
typings_input=("video", "video"),
|
2457
|
+
typings_output=("video",),
|
2458
|
+
),
|
2316
2459
|
_in0,
|
2317
2460
|
_in1,
|
2318
2461
|
**{
|
@@ -2330,7 +2473,9 @@ def mix(
|
|
2330
2473
|
weights: String = Default("1 1"),
|
2331
2474
|
scale: Float = Default(0.0),
|
2332
2475
|
planes: Flags = Default("F"),
|
2333
|
-
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
2476
|
+
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
2477
|
+
"longest"
|
2478
|
+
),
|
2334
2479
|
enable: String = Default(None),
|
2335
2480
|
extra_options: dict[str, Any] = None,
|
2336
2481
|
) -> VideoStream:
|
@@ -2354,7 +2499,11 @@ def mix(
|
|
2354
2499
|
|
2355
2500
|
"""
|
2356
2501
|
filter_node = filter_node_factory(
|
2357
|
-
FFMpegFilterDef(
|
2502
|
+
FFMpegFilterDef(
|
2503
|
+
name="mix",
|
2504
|
+
typings_input="[StreamType.video] * int(inputs)",
|
2505
|
+
typings_output=("video",),
|
2506
|
+
),
|
2358
2507
|
*streams,
|
2359
2508
|
**{
|
2360
2509
|
"inputs": inputs,
|
@@ -2407,7 +2556,9 @@ def morpho(
|
|
2407
2556
|
|
2408
2557
|
"""
|
2409
2558
|
filter_node = filter_node_factory(
|
2410
|
-
FFMpegFilterDef(
|
2559
|
+
FFMpegFilterDef(
|
2560
|
+
name="morpho", typings_input=("video", "video"), typings_output=("video",)
|
2561
|
+
),
|
2411
2562
|
_default,
|
2412
2563
|
_structure,
|
2413
2564
|
**{
|
@@ -2455,7 +2606,9 @@ def msad(
|
|
2455
2606
|
|
2456
2607
|
"""
|
2457
2608
|
filter_node = filter_node_factory(
|
2458
|
-
FFMpegFilterDef(
|
2609
|
+
FFMpegFilterDef(
|
2610
|
+
name="msad", typings_input=("video", "video"), typings_output=("video",)
|
2611
|
+
),
|
2459
2612
|
_main,
|
2460
2613
|
_reference,
|
2461
2614
|
**{
|
@@ -2498,7 +2651,9 @@ def multiply(
|
|
2498
2651
|
|
2499
2652
|
"""
|
2500
2653
|
filter_node = filter_node_factory(
|
2501
|
-
FFMpegFilterDef(
|
2654
|
+
FFMpegFilterDef(
|
2655
|
+
name="multiply", typings_input=("video", "video"), typings_output=("video",)
|
2656
|
+
),
|
2502
2657
|
_source,
|
2503
2658
|
_factor,
|
2504
2659
|
**{
|
@@ -2518,11 +2673,23 @@ def overlay(
|
|
2518
2673
|
*,
|
2519
2674
|
x: String = Default("0"),
|
2520
2675
|
y: String = Default("0"),
|
2521
|
-
eof_action: Int
|
2676
|
+
eof_action: Int
|
2677
|
+
| Literal["repeat", "endall", "pass", "repeat", "endall", "pass"]
|
2678
|
+
| Default = Default("repeat"),
|
2522
2679
|
eval: Int | Literal["init", "frame"] | Default = Default("frame"),
|
2523
2680
|
shortest: Boolean = Default(False),
|
2524
2681
|
format: Int
|
2525
|
-
| Literal[
|
2682
|
+
| Literal[
|
2683
|
+
"yuv420",
|
2684
|
+
"yuv420p10",
|
2685
|
+
"yuv422",
|
2686
|
+
"yuv422p10",
|
2687
|
+
"yuv444",
|
2688
|
+
"yuv444p10",
|
2689
|
+
"rgb",
|
2690
|
+
"gbrp",
|
2691
|
+
"auto",
|
2692
|
+
]
|
2526
2693
|
| Default = Default("yuv420"),
|
2527
2694
|
repeatlast: Boolean = Default(True),
|
2528
2695
|
alpha: Int | Literal["straight", "premultiplied"] | Default = Default("straight"),
|
@@ -2554,7 +2721,9 @@ def overlay(
|
|
2554
2721
|
|
2555
2722
|
"""
|
2556
2723
|
filter_node = filter_node_factory(
|
2557
|
-
FFMpegFilterDef(
|
2724
|
+
FFMpegFilterDef(
|
2725
|
+
name="overlay", typings_input=("video", "video"), typings_output=("video",)
|
2726
|
+
),
|
2558
2727
|
_main,
|
2559
2728
|
_overlay,
|
2560
2729
|
**{
|
@@ -2579,7 +2748,16 @@ def paletteuse(
|
|
2579
2748
|
_palette: VideoStream,
|
2580
2749
|
*,
|
2581
2750
|
dither: Int
|
2582
|
-
| Literal[
|
2751
|
+
| Literal[
|
2752
|
+
"bayer",
|
2753
|
+
"heckbert",
|
2754
|
+
"floyd_steinberg",
|
2755
|
+
"sierra2",
|
2756
|
+
"sierra2_4a",
|
2757
|
+
"sierra3",
|
2758
|
+
"burkes",
|
2759
|
+
"atkinson",
|
2760
|
+
]
|
2583
2761
|
| Default = Default("sierra2_4a"),
|
2584
2762
|
bayer_scale: Int = Default(2),
|
2585
2763
|
diff_mode: Int | Literal["rectangle"] | Default = Default(0),
|
@@ -2608,7 +2786,11 @@ def paletteuse(
|
|
2608
2786
|
|
2609
2787
|
"""
|
2610
2788
|
filter_node = filter_node_factory(
|
2611
|
-
FFMpegFilterDef(
|
2789
|
+
FFMpegFilterDef(
|
2790
|
+
name="paletteuse",
|
2791
|
+
typings_input=("video", "video"),
|
2792
|
+
typings_output=("video",),
|
2793
|
+
),
|
2612
2794
|
_default,
|
2613
2795
|
_palette,
|
2614
2796
|
**{
|
@@ -2700,7 +2882,9 @@ def psnr(
|
|
2700
2882
|
|
2701
2883
|
"""
|
2702
2884
|
filter_node = filter_node_factory(
|
2703
|
-
FFMpegFilterDef(
|
2885
|
+
FFMpegFilterDef(
|
2886
|
+
name="psnr", typings_input=("video", "video"), typings_output=("video",)
|
2887
|
+
),
|
2704
2888
|
_main,
|
2705
2889
|
_reference,
|
2706
2890
|
**{
|
@@ -2743,7 +2927,11 @@ def remap(
|
|
2743
2927
|
|
2744
2928
|
"""
|
2745
2929
|
filter_node = filter_node_factory(
|
2746
|
-
FFMpegFilterDef(
|
2930
|
+
FFMpegFilterDef(
|
2931
|
+
name="remap",
|
2932
|
+
typings_input=("video", "video", "video"),
|
2933
|
+
typings_output=("video",),
|
2934
|
+
),
|
2747
2935
|
_source,
|
2748
2936
|
_xmap,
|
2749
2937
|
_ymap,
|
@@ -2800,7 +2988,11 @@ def sidechaincompress(
|
|
2800
2988
|
|
2801
2989
|
"""
|
2802
2990
|
filter_node = filter_node_factory(
|
2803
|
-
FFMpegFilterDef(
|
2991
|
+
FFMpegFilterDef(
|
2992
|
+
name="sidechaincompress",
|
2993
|
+
typings_input=("audio", "audio"),
|
2994
|
+
typings_output=("audio",),
|
2995
|
+
),
|
2804
2996
|
_main,
|
2805
2997
|
_sidechain,
|
2806
2998
|
**{
|
@@ -2868,7 +3060,11 @@ def sidechaingate(
|
|
2868
3060
|
|
2869
3061
|
"""
|
2870
3062
|
filter_node = filter_node_factory(
|
2871
|
-
FFMpegFilterDef(
|
3063
|
+
FFMpegFilterDef(
|
3064
|
+
name="sidechaingate",
|
3065
|
+
typings_input=("audio", "audio"),
|
3066
|
+
typings_output=("audio",),
|
3067
|
+
),
|
2872
3068
|
_main,
|
2873
3069
|
_sidechain,
|
2874
3070
|
**{
|
@@ -2928,7 +3124,9 @@ def signature(
|
|
2928
3124
|
"""
|
2929
3125
|
filter_node = filter_node_factory(
|
2930
3126
|
FFMpegFilterDef(
|
2931
|
-
name="signature",
|
3127
|
+
name="signature",
|
3128
|
+
typings_input="[StreamType.video] * int(nb_inputs)",
|
3129
|
+
typings_output=("video",),
|
2932
3130
|
),
|
2933
3131
|
*streams,
|
2934
3132
|
**{
|
@@ -2954,7 +3152,9 @@ def spectrumsynth(
|
|
2954
3152
|
sample_rate: Int = Default(44100),
|
2955
3153
|
channels: Int = Default(1),
|
2956
3154
|
scale: Int | Literal["lin", "log"] | Default = Default("log"),
|
2957
|
-
slide: Int
|
3155
|
+
slide: Int
|
3156
|
+
| Literal["replace", "scroll", "fullframe", "rscroll"]
|
3157
|
+
| Default = Default("fullframe"),
|
2958
3158
|
win_func: Int
|
2959
3159
|
| Literal[
|
2960
3160
|
"rect",
|
@@ -2982,7 +3182,9 @@ def spectrumsynth(
|
|
2982
3182
|
]
|
2983
3183
|
| Default = Default("rect"),
|
2984
3184
|
overlap: Float = Default(1.0),
|
2985
|
-
orientation: Int | Literal["vertical", "horizontal"] | Default = Default(
|
3185
|
+
orientation: Int | Literal["vertical", "horizontal"] | Default = Default(
|
3186
|
+
"vertical"
|
3187
|
+
),
|
2986
3188
|
extra_options: dict[str, Any] = None,
|
2987
3189
|
) -> AudioStream:
|
2988
3190
|
"""
|
@@ -3006,7 +3208,11 @@ def spectrumsynth(
|
|
3006
3208
|
|
3007
3209
|
"""
|
3008
3210
|
filter_node = filter_node_factory(
|
3009
|
-
FFMpegFilterDef(
|
3211
|
+
FFMpegFilterDef(
|
3212
|
+
name="spectrumsynth",
|
3213
|
+
typings_input=("video", "video"),
|
3214
|
+
typings_output=("audio",),
|
3215
|
+
),
|
3010
3216
|
_magnitude,
|
3011
3217
|
_phase,
|
3012
3218
|
**{
|
@@ -3055,7 +3261,9 @@ def ssim(
|
|
3055
3261
|
|
3056
3262
|
"""
|
3057
3263
|
filter_node = filter_node_factory(
|
3058
|
-
FFMpegFilterDef(
|
3264
|
+
FFMpegFilterDef(
|
3265
|
+
name="ssim", typings_input=("video", "video"), typings_output=("video",)
|
3266
|
+
),
|
3059
3267
|
_main,
|
3060
3268
|
_reference,
|
3061
3269
|
**{
|
@@ -3137,7 +3345,9 @@ def threshold(
|
|
3137
3345
|
"""
|
3138
3346
|
filter_node = filter_node_factory(
|
3139
3347
|
FFMpegFilterDef(
|
3140
|
-
name="threshold",
|
3348
|
+
name="threshold",
|
3349
|
+
typings_input=("video", "video", "video", "video"),
|
3350
|
+
typings_output=("video",),
|
3141
3351
|
),
|
3142
3352
|
_default,
|
3143
3353
|
_threshold,
|
@@ -3228,7 +3438,9 @@ def varblur(
|
|
3228
3438
|
|
3229
3439
|
"""
|
3230
3440
|
filter_node = filter_node_factory(
|
3231
|
-
FFMpegFilterDef(
|
3441
|
+
FFMpegFilterDef(
|
3442
|
+
name="varblur", typings_input=("video", "video"), typings_output=("video",)
|
3443
|
+
),
|
3232
3444
|
_default,
|
3233
3445
|
_radius,
|
3234
3446
|
**{
|
@@ -3276,7 +3488,9 @@ def vif(
|
|
3276
3488
|
|
3277
3489
|
"""
|
3278
3490
|
filter_node = filter_node_factory(
|
3279
|
-
FFMpegFilterDef(
|
3491
|
+
FFMpegFilterDef(
|
3492
|
+
name="vif", typings_input=("video", "video"), typings_output=("video",)
|
3493
|
+
),
|
3280
3494
|
_main,
|
3281
3495
|
_reference,
|
3282
3496
|
**{
|
@@ -3313,7 +3527,11 @@ def vstack(
|
|
3313
3527
|
|
3314
3528
|
"""
|
3315
3529
|
filter_node = filter_node_factory(
|
3316
|
-
FFMpegFilterDef(
|
3530
|
+
FFMpegFilterDef(
|
3531
|
+
name="vstack",
|
3532
|
+
typings_input="[StreamType.video] * int(inputs)",
|
3533
|
+
typings_output=("video",),
|
3534
|
+
),
|
3317
3535
|
*streams,
|
3318
3536
|
**{
|
3319
3537
|
"inputs": inputs,
|
@@ -3358,7 +3576,11 @@ def xcorrelate(
|
|
3358
3576
|
|
3359
3577
|
"""
|
3360
3578
|
filter_node = filter_node_factory(
|
3361
|
-
FFMpegFilterDef(
|
3579
|
+
FFMpegFilterDef(
|
3580
|
+
name="xcorrelate",
|
3581
|
+
typings_input=("video", "video"),
|
3582
|
+
typings_output=("video",),
|
3583
|
+
),
|
3362
3584
|
_primary,
|
3363
3585
|
_secondary,
|
3364
3586
|
**{
|
@@ -3465,7 +3687,9 @@ def xfade(
|
|
3465
3687
|
|
3466
3688
|
"""
|
3467
3689
|
filter_node = filter_node_factory(
|
3468
|
-
FFMpegFilterDef(
|
3690
|
+
FFMpegFilterDef(
|
3691
|
+
name="xfade", typings_input=("video", "video"), typings_output=("video",)
|
3692
|
+
),
|
3469
3693
|
_main,
|
3470
3694
|
_xfade,
|
3471
3695
|
**{
|
@@ -3513,7 +3737,11 @@ def xmedian(
|
|
3513
3737
|
|
3514
3738
|
"""
|
3515
3739
|
filter_node = filter_node_factory(
|
3516
|
-
FFMpegFilterDef(
|
3740
|
+
FFMpegFilterDef(
|
3741
|
+
name="xmedian",
|
3742
|
+
typings_input="[StreamType.video] * int(inputs)",
|
3743
|
+
typings_output=("video",),
|
3744
|
+
),
|
3517
3745
|
*streams,
|
3518
3746
|
**{
|
3519
3747
|
"inputs": inputs,
|
@@ -3558,7 +3786,11 @@ def xstack(
|
|
3558
3786
|
|
3559
3787
|
"""
|
3560
3788
|
filter_node = filter_node_factory(
|
3561
|
-
FFMpegFilterDef(
|
3789
|
+
FFMpegFilterDef(
|
3790
|
+
name="xstack",
|
3791
|
+
typings_input="[StreamType.video] * int(inputs)",
|
3792
|
+
typings_output=("video",),
|
3793
|
+
),
|
3562
3794
|
*streams,
|
3563
3795
|
**{
|
3564
3796
|
"inputs": inputs,
|