typed-ffmpeg-compatible 3.5.2__py3-none-any.whl → 3.6__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.
Files changed (71) hide show
  1. typed_ffmpeg/__init__.py +4 -1
  2. typed_ffmpeg/_version.py +2 -2
  3. typed_ffmpeg/base.py +4 -1
  4. typed_ffmpeg/codecs/__init__.py +2 -0
  5. typed_ffmpeg/codecs/decoders.py +1852 -1853
  6. typed_ffmpeg/codecs/encoders.py +2001 -1782
  7. typed_ffmpeg/codecs/schema.py +6 -12
  8. typed_ffmpeg/common/__init__.py +1 -0
  9. typed_ffmpeg/common/cache.py +9 -6
  10. typed_ffmpeg/common/schema.py +11 -0
  11. typed_ffmpeg/common/serialize.py +13 -7
  12. typed_ffmpeg/compile/__init__.py +1 -0
  13. typed_ffmpeg/compile/compile_cli.py +23 -4
  14. typed_ffmpeg/compile/compile_json.py +4 -0
  15. typed_ffmpeg/compile/compile_python.py +15 -0
  16. typed_ffmpeg/compile/context.py +15 -4
  17. typed_ffmpeg/compile/validate.py +4 -3
  18. typed_ffmpeg/dag/factory.py +2 -0
  19. typed_ffmpeg/dag/global_runnable/__init__.py +1 -0
  20. typed_ffmpeg/dag/global_runnable/global_args.py +2 -2
  21. typed_ffmpeg/dag/global_runnable/runnable.py +6 -2
  22. typed_ffmpeg/dag/io/__init__.py +1 -0
  23. typed_ffmpeg/dag/io/_input.py +20 -5
  24. typed_ffmpeg/dag/io/_output.py +24 -9
  25. typed_ffmpeg/dag/io/output_args.py +21 -7
  26. typed_ffmpeg/dag/nodes.py +20 -0
  27. typed_ffmpeg/dag/schema.py +19 -6
  28. typed_ffmpeg/dag/utils.py +2 -2
  29. typed_ffmpeg/exceptions.py +2 -1
  30. typed_ffmpeg/expressions.py +884 -0
  31. typed_ffmpeg/ffprobe/__init__.py +1 -0
  32. typed_ffmpeg/ffprobe/parse.py +7 -1
  33. typed_ffmpeg/ffprobe/probe.py +3 -1
  34. typed_ffmpeg/ffprobe/schema.py +83 -1
  35. typed_ffmpeg/ffprobe/xml2json.py +8 -2
  36. typed_ffmpeg/filters.py +540 -631
  37. typed_ffmpeg/formats/__init__.py +2 -0
  38. typed_ffmpeg/formats/demuxers.py +1869 -1921
  39. typed_ffmpeg/formats/muxers.py +1382 -1107
  40. typed_ffmpeg/formats/schema.py +6 -12
  41. typed_ffmpeg/info.py +8 -0
  42. typed_ffmpeg/options/__init__.py +15 -0
  43. typed_ffmpeg/options/codec.py +711 -0
  44. typed_ffmpeg/options/format.py +196 -0
  45. typed_ffmpeg/options/framesync.py +43 -0
  46. typed_ffmpeg/options/timeline.py +22 -0
  47. typed_ffmpeg/schema.py +15 -0
  48. typed_ffmpeg/sources.py +392 -381
  49. typed_ffmpeg/streams/__init__.py +2 -0
  50. typed_ffmpeg/streams/audio.py +1071 -882
  51. typed_ffmpeg/streams/av.py +9 -3
  52. typed_ffmpeg/streams/subtitle.py +3 -3
  53. typed_ffmpeg/streams/video.py +1873 -1725
  54. typed_ffmpeg/types.py +3 -2
  55. typed_ffmpeg/utils/__init__.py +1 -0
  56. typed_ffmpeg/utils/escaping.py +8 -4
  57. typed_ffmpeg/utils/frozendict.py +31 -1
  58. typed_ffmpeg/utils/lazy_eval/__init__.py +1 -0
  59. typed_ffmpeg/utils/lazy_eval/operator.py +75 -27
  60. typed_ffmpeg/utils/lazy_eval/schema.py +176 -4
  61. typed_ffmpeg/utils/run.py +2 -0
  62. typed_ffmpeg/utils/snapshot.py +1 -0
  63. typed_ffmpeg/utils/typing.py +2 -1
  64. typed_ffmpeg/utils/view.py +2 -1
  65. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/METADATA +1 -1
  66. typed_ffmpeg_compatible-3.6.dist-info/RECORD +73 -0
  67. typed_ffmpeg_compatible-3.5.2.dist-info/RECORD +0 -67
  68. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/WHEEL +0 -0
  69. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt +0 -0
  70. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE +0 -0
  71. {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/top_level.txt +0 -0
typed_ffmpeg/sources.py CHANGED
@@ -1,10 +1,16 @@
1
1
  # NOTE: this file is auto-generated, do not modify
2
+ """FFmpeg sources."""
2
3
 
3
4
  from typing import Any, Literal
4
5
 
5
6
  from .common.schema import FFMpegFilterDef
6
7
  from .dag.factory import filter_node_factory
7
- from .dag.nodes import FilterableStream, FilterNode
8
+ from .dag.nodes import (
9
+ FilterableStream,
10
+ FilterNode,
11
+ )
12
+ from .options.framesync import FFMpegFrameSyncOption
13
+ from .options.timeline import FFMpegTimelineOption
8
14
  from .schema import Auto, Default
9
15
  from .streams.audio import AudioStream
10
16
  from .streams.video import VideoStream
@@ -32,10 +38,10 @@ from .utils.frozendict import merge
32
38
  def abuffer(
33
39
  *,
34
40
  time_base: Rational = Default("0/1"),
35
- sample_rate: Int = Default(0),
41
+ sample_rate: Int = Default("0"),
36
42
  sample_fmt: Sample_fmt = Default("none"),
37
43
  channel_layout: String = Default(None),
38
- channels: Int = Default(0),
44
+ channels: Int = Default("0"),
39
45
  extra_options: dict[str, Any] | None = None,
40
46
  ) -> AudioStream:
41
47
  """
@@ -48,6 +54,7 @@ def abuffer(
48
54
  sample_fmt: (default none)
49
55
  channel_layout:
50
56
  channels: (from 0 to INT_MAX) (default 0)
57
+ extra_options: Extra options for the filter
51
58
 
52
59
  Returns:
53
60
  default: the audio stream
@@ -75,9 +82,9 @@ def abuffer(
75
82
  def aevalsrc(
76
83
  *,
77
84
  exprs: String = Default(None),
78
- nb_samples: Int = Default(1024),
85
+ nb_samples: Int = Default("1024"),
79
86
  sample_rate: String = Default("44100"),
80
- duration: Duration = Default(-1e-06),
87
+ duration: Duration = Default("-0.000001"),
81
88
  channel_layout: String = Default(None),
82
89
  extra_options: dict[str, Any] | None = None,
83
90
  ) -> AudioStream:
@@ -91,6 +98,7 @@ def aevalsrc(
91
98
  sample_rate: set the sample rate (default "44100")
92
99
  duration: set audio duration (default -0.000001)
93
100
  channel_layout: set channel layout
101
+ extra_options: Extra options for the filter
94
102
 
95
103
  Returns:
96
104
  default: the audio stream
@@ -117,10 +125,10 @@ def aevalsrc(
117
125
 
118
126
  def afdelaysrc(
119
127
  *,
120
- delay: Double = Default(0.0),
121
- sample_rate: Int = Default(44100),
122
- nb_samples: Int = Default(1024),
123
- taps: Int = Default(0),
128
+ delay: Double = Default("0"),
129
+ sample_rate: Int = Default("44100"),
130
+ nb_samples: Int = Default("1024"),
131
+ taps: Int = Default("0"),
124
132
  channel_layout: String = Default("stereo"),
125
133
  extra_options: dict[str, Any] | None = None,
126
134
  ) -> AudioStream:
@@ -134,6 +142,7 @@ def afdelaysrc(
134
142
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
135
143
  taps: set number of taps for delay filter (from 0 to 32768) (default 0)
136
144
  channel_layout: set channel layout (default "stereo")
145
+ extra_options: Extra options for the filter
137
146
 
138
147
  Returns:
139
148
  default: the audio stream
@@ -169,27 +178,27 @@ def afireqsrc(
169
178
  "beats",
170
179
  "classic",
171
180
  "clear",
172
- "deep",
181
+ "deep bass",
173
182
  "dubstep",
174
183
  "electronic",
175
184
  "hardstyle",
176
- "hop",
185
+ "hip-hop",
177
186
  "jazz",
178
187
  "metal",
179
188
  "movie",
180
189
  "pop",
181
- "b",
190
+ "r&b",
182
191
  "rock",
183
- "vocal",
192
+ "vocal booster",
184
193
  ]
185
194
  | Default = Default("flat"),
186
195
  gains: String = Default("0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"),
187
196
  bands: String = Default(
188
197
  "25 40 63 100 160 250 400 630 1000 1600 2500 4000 6300 10000 16000 24000"
189
198
  ),
190
- taps: Int = Default(4096),
191
- sample_rate: Int = Default(44100),
192
- nb_samples: Int = Default(1024),
199
+ taps: Int = Default("4096"),
200
+ sample_rate: Int = Default("44100"),
201
+ nb_samples: Int = Default("1024"),
193
202
  interp: Int | Literal["linear", "cubic"] | Default = Default("linear"),
194
203
  phase: Int | Literal["linear", "min"] | Default = Default("min"),
195
204
  extra_options: dict[str, Any] | None = None,
@@ -207,6 +216,7 @@ def afireqsrc(
207
216
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
208
217
  interp: set the interpolation (from 0 to 1) (default linear)
209
218
  phase: set the phase (from 0 to 1) (default min)
219
+ extra_options: Extra options for the filter
210
220
 
211
221
  Returns:
212
222
  default: the audio stream
@@ -236,12 +246,12 @@ def afireqsrc(
236
246
 
237
247
  def afirsrc(
238
248
  *,
239
- taps: Int = Default(1025),
249
+ taps: Int = Default("1025"),
240
250
  frequency: String = Default("0 1"),
241
251
  magnitude: String = Default("1 1"),
242
252
  phase: String = Default("0 0"),
243
- sample_rate: Int = Default(44100),
244
- nb_samples: Int = Default(1024),
253
+ sample_rate: Int = Default("44100"),
254
+ nb_samples: Int = Default("1024"),
245
255
  win_func: Int
246
256
  | Literal[
247
257
  "rect",
@@ -266,28 +276,6 @@ def afirsrc(
266
276
  "poisson",
267
277
  "bohman",
268
278
  "kaiser",
269
- "rect",
270
- "bartlett",
271
- "hann",
272
- "hanning",
273
- "hamming",
274
- "blackman",
275
- "welch",
276
- "flattop",
277
- "bharris",
278
- "bnuttall",
279
- "bhann",
280
- "sine",
281
- "nuttall",
282
- "lanczos",
283
- "gauss",
284
- "tukey",
285
- "dolph",
286
- "cauchy",
287
- "parzen",
288
- "poisson",
289
- "bohman",
290
- "kaiser",
291
279
  ]
292
280
  | Default = Default("blackman"),
293
281
  extra_options: dict[str, Any] | None = None,
@@ -304,6 +292,7 @@ def afirsrc(
304
292
  sample_rate: set sample rate (from 1 to INT_MAX) (default 44100)
305
293
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
306
294
  win_func: set window function (from 0 to 20) (default blackman)
295
+ extra_options: Extra options for the filter
307
296
 
308
297
  Returns:
309
298
  default: the audio stream
@@ -345,6 +334,7 @@ def ainterleave(
345
334
  Args:
346
335
  nb_inputs: set number of inputs (from 1 to INT_MAX) (default 2)
347
336
  duration: how to determine the end-of-stream (from 0 to 2) (default longest)
337
+ extra_options: Extra options for the filter
348
338
 
349
339
  Returns:
350
340
  default: the audio stream
@@ -374,7 +364,7 @@ def ainterleave(
374
364
  def allrgb(
375
365
  *,
376
366
  rate: Video_rate = Default("25"),
377
- duration: Duration = Default(-1e-06),
367
+ duration: Duration = Default("-0.000001"),
378
368
  sar: Rational = Default("1/1"),
379
369
  extra_options: dict[str, Any] | None = None,
380
370
  ) -> VideoStream:
@@ -386,6 +376,7 @@ def allrgb(
386
376
  rate: set video rate (default "25")
387
377
  duration: set video duration (default -0.000001)
388
378
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
379
+ extra_options: Extra options for the filter
389
380
 
390
381
  Returns:
391
382
  default: the video stream
@@ -411,7 +402,7 @@ def allrgb(
411
402
  def allyuv(
412
403
  *,
413
404
  rate: Video_rate = Default("25"),
414
- duration: Duration = Default(-1e-06),
405
+ duration: Duration = Default("-0.000001"),
415
406
  sar: Rational = Default("1/1"),
416
407
  extra_options: dict[str, Any] | None = None,
417
408
  ) -> VideoStream:
@@ -423,6 +414,7 @@ def allyuv(
423
414
  rate: set video rate (default "25")
424
415
  duration: set video duration (default -0.000001)
425
416
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
417
+ extra_options: Extra options for the filter
426
418
 
427
419
  Returns:
428
420
  default: the video stream
@@ -456,6 +448,7 @@ def amerge(
456
448
 
457
449
  Args:
458
450
  inputs: specify the number of inputs (from 1 to 64) (default 2)
451
+ extra_options: Extra options for the filter
459
452
 
460
453
  Returns:
461
454
  default: the audio stream
@@ -487,9 +480,9 @@ def amix(
487
480
  duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
488
481
  "longest"
489
482
  ),
490
- dropout_transition: Float = Default(2.0),
483
+ dropout_transition: Float = Default("2"),
491
484
  weights: String = Default("1 1"),
492
- normalize: Boolean = Default(True),
485
+ normalize: Boolean = Default("true"),
493
486
  extra_options: dict[str, Any] | None = None,
494
487
  ) -> AudioStream:
495
488
  """
@@ -502,6 +495,7 @@ def amix(
502
495
  dropout_transition: Transition time, in seconds, for volume renormalization when an input stream ends. (from 0 to INT_MAX) (default 2)
503
496
  weights: Set weight for each input. (default "1 1")
504
497
  normalize: Scale inputs (default true)
498
+ extra_options: Extra options for the filter
505
499
 
506
500
  Returns:
507
501
  default: the audio stream
@@ -535,12 +529,12 @@ def amovie(
535
529
  *,
536
530
  filename: String = Default(None),
537
531
  format_name: String = Default(None),
538
- stream_index: Int = Default(-1),
539
- seek_point: Double = Default(0.0),
532
+ stream_index: Int = Default("-1"),
533
+ seek_point: Double = Default("0"),
540
534
  streams: String = Default(None),
541
- loop: Int = Default(1),
542
- discontinuity: Duration = Default(0.0),
543
- dec_threads: Int = Default(0),
535
+ loop: Int = Default("1"),
536
+ discontinuity: Duration = Default("0"),
537
+ dec_threads: Int = Default("0"),
544
538
  format_opts: Dictionary = Default(None),
545
539
  extra_options: dict[str, Any] | None = None,
546
540
  ) -> FilterNode:
@@ -558,6 +552,7 @@ def amovie(
558
552
  discontinuity: set discontinuity threshold (default 0)
559
553
  dec_threads: set the number of threads for decoding (from 0 to INT_MAX) (default 0)
560
554
  format_opts: set format options for the opened file
555
+ extra_options: Extra options for the filter
561
556
 
562
557
  Returns:
563
558
  filter_node: the filter node
@@ -594,15 +589,15 @@ def amovie(
594
589
 
595
590
  def anoisesrc(
596
591
  *,
597
- sample_rate: Int = Default(48000),
598
- amplitude: Double = Default(1.0),
599
- duration: Duration = Default(0.0),
592
+ sample_rate: Int = Default("48000"),
593
+ amplitude: Double = Default("1"),
594
+ duration: Duration = Default("0"),
600
595
  color: Int
601
596
  | Literal["white", "pink", "brown", "blue", "violet", "velvet"]
602
597
  | Default = Default("white"),
603
- seed: Int64 = Default(-1),
604
- nb_samples: Int = Default(1024),
605
- density: Double = Default(0.05),
598
+ seed: Int64 = Default("-1"),
599
+ nb_samples: Int = Default("1024"),
600
+ density: Double = Default("0.05"),
606
601
  extra_options: dict[str, Any] | None = None,
607
602
  ) -> AudioStream:
608
603
  """
@@ -617,6 +612,7 @@ def anoisesrc(
617
612
  seed: set random seed (from -1 to UINT32_MAX) (default -1)
618
613
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
619
614
  density: set density (from 0 to 1) (default 0.05)
615
+ extra_options: Extra options for the filter
620
616
 
621
617
  Returns:
622
618
  default: the audio stream
@@ -647,8 +643,8 @@ def anullsrc(
647
643
  *,
648
644
  channel_layout: String = Default("stereo"),
649
645
  sample_rate: String = Default("44100"),
650
- nb_samples: Int = Default(1024),
651
- duration: Duration = Default(-1e-06),
646
+ nb_samples: Int = Default("1024"),
647
+ duration: Duration = Default("-0.000001"),
652
648
  extra_options: dict[str, Any] | None = None,
653
649
  ) -> AudioStream:
654
650
  """
@@ -660,6 +656,7 @@ def anullsrc(
660
656
  sample_rate: set sample rate (default "44100")
661
657
  nb_samples: set the number of samples per requested frame (from 1 to 65535) (default 1024)
662
658
  duration: set the audio duration (default -0.000001)
659
+ extra_options: Extra options for the filter
663
660
 
664
661
  Returns:
665
662
  default: the audio stream
@@ -691,11 +688,12 @@ def astreamselect(
691
688
  ) -> FilterNode:
692
689
  """
693
690
 
694
- Select audio streams
691
+ Select audio streams.
695
692
 
696
693
  Args:
697
694
  inputs: number of input streams (from 2 to INT_MAX) (default 2)
698
695
  map: input indexes to remap to outputs
696
+ extra_options: Extra options for the filter
699
697
 
700
698
  Returns:
701
699
  filter_node: the filter node
@@ -728,12 +726,12 @@ def avsynctest(
728
726
  *,
729
727
  size: Image_size = Default("hd720"),
730
728
  framerate: Video_rate = Default("30"),
731
- samplerate: Int = Default(44100),
732
- amplitude: Float = Default(0.7),
733
- period: Int = Default(3),
734
- delay: Int = Default(0),
735
- cycle: Boolean = Default(False),
736
- duration: Duration = Default(0.0),
729
+ samplerate: Int = Default("44100"),
730
+ amplitude: Float = Default("0.7"),
731
+ period: Int = Default("3"),
732
+ delay: Int = Default("0"),
733
+ cycle: Boolean = Default("false"),
734
+ duration: Duration = Default("0"),
737
735
  fg: Color = Default("white"),
738
736
  bg: Color = Default("black"),
739
737
  ag: Color = Default("gray"),
@@ -758,6 +756,7 @@ def avsynctest(
758
756
  fg: set foreground color (default "white")
759
757
  bg: set background color (default "black")
760
758
  ag: set additional color (default "gray")
759
+ extra_options: Extra options for the filter
761
760
 
762
761
  Returns:
763
762
  audio: the audio stream
@@ -796,18 +795,18 @@ def avsynctest(
796
795
 
797
796
  def bm3d(
798
797
  *streams: VideoStream,
799
- sigma: Float = Default(1.0),
800
- block: Int = Default(16),
801
- bstep: Int = Default(4),
802
- group: Int = Default(1),
803
- range: Int = Default(9),
804
- mstep: Int = Default(1),
805
- thmse: Float = Default(0.0),
806
- hdthr: Float = Default(2.7),
798
+ sigma: Float = Default("1"),
799
+ block: Int = Default("16"),
800
+ bstep: Int = Default("4"),
801
+ group: Int = Default("1"),
802
+ range: Int = Default("9"),
803
+ mstep: Int = Default("1"),
804
+ thmse: Float = Default("0"),
805
+ hdthr: Float = Default("2.7"),
807
806
  estim: Int | Literal["basic", "final"] | Default = Default("basic"),
808
- ref: Boolean = Default(False),
809
- planes: Int = Default(7),
810
- enable: String = Default(None),
807
+ ref: Boolean = Default("false"),
808
+ planes: Int = Default("7"),
809
+ timeline_options: FFMpegTimelineOption | None = None,
811
810
  extra_options: dict[str, Any] | None = None,
812
811
  ) -> VideoStream:
813
812
  """
@@ -826,7 +825,8 @@ def bm3d(
826
825
  estim: set filtering estimation mode (from 0 to 1) (default basic)
827
826
  ref: have reference stream (default false)
828
827
  planes: set planes to filter (from 0 to 15) (default 7)
829
- enable: timeline editing
828
+ timeline_options: Timeline options
829
+ extra_options: Extra options for the filter
830
830
 
831
831
  Returns:
832
832
  default: the video stream
@@ -855,9 +855,9 @@ def bm3d(
855
855
  "estim": estim,
856
856
  "ref": ref,
857
857
  "planes": planes,
858
- "enable": enable,
859
858
  },
860
859
  extra_options,
860
+ timeline_options,
861
861
  ),
862
862
  )
863
863
  return filter_node.video(0)
@@ -865,9 +865,9 @@ def bm3d(
865
865
 
866
866
  def buffer(
867
867
  *,
868
- width: Int = Default(0),
868
+ width: Int = Default("0"),
869
869
  video_size: Image_size = Default(None),
870
- height: Int = Default(0),
870
+ height: Int = Default("0"),
871
871
  pix_fmt: Pix_fmt = Default("none"),
872
872
  sar: Rational = Default("0/1"),
873
873
  time_base: Rational = Default("0/1"),
@@ -884,6 +884,7 @@ def buffer(
884
884
  pix_fmt: (default none)
885
885
  sar: sample aspect ratio (from 0 to DBL_MAX) (default 0/1)
886
886
  time_base: (from 0 to DBL_MAX) (default 0/1)
887
+ extra_options: Extra options for the filter
887
888
 
888
889
  Returns:
889
890
  default: the video stream
@@ -915,13 +916,13 @@ def cellauto(
915
916
  pattern: String = Default(None),
916
917
  rate: Video_rate = Default("25"),
917
918
  size: Image_size = Default(None),
918
- rule: Int = Default(110),
919
- random_fill_ratio: Double = Default(0.618034),
920
- random_seed: Int64 = Default(-1),
921
- scroll: Boolean = Default(True),
922
- start_full: Boolean = Default(False),
923
- full: Boolean = Default(True),
924
- stitch: Boolean = Default(True),
919
+ rule: Int = Default("110"),
920
+ random_fill_ratio: Double = Default("0.618034"),
921
+ random_seed: Int64 = Default("-1"),
922
+ scroll: Boolean = Default("true"),
923
+ start_full: Boolean = Default("false"),
924
+ full: Boolean = Default("true"),
925
+ stitch: Boolean = Default("true"),
925
926
  extra_options: dict[str, Any] | None = None,
926
927
  ) -> VideoStream:
927
928
  """
@@ -940,6 +941,7 @@ def cellauto(
940
941
  start_full: start filling the whole video (default false)
941
942
  full: start filling the whole video (default true)
942
943
  stitch: stitch boundaries (default true)
944
+ extra_options: Extra options for the filter
943
945
 
944
946
  Returns:
945
947
  default: the video stream
@@ -975,7 +977,7 @@ def color(
975
977
  color: Color = Default("black"),
976
978
  size: Image_size = Default("320x240"),
977
979
  rate: Video_rate = Default("25"),
978
- duration: Duration = Default(-1e-06),
980
+ duration: Duration = Default("-0.000001"),
979
981
  sar: Rational = Default("1/1"),
980
982
  extra_options: dict[str, Any] | None = None,
981
983
  ) -> VideoStream:
@@ -989,6 +991,7 @@ def color(
989
991
  rate: set video rate (default "25")
990
992
  duration: set video duration (default -0.000001)
991
993
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
994
+ extra_options: Extra options for the filter
992
995
 
993
996
  Returns:
994
997
  default: the video stream
@@ -1018,17 +1021,17 @@ def color_vulkan(
1018
1021
  color: Color = Default("black"),
1019
1022
  size: Image_size = Default("1920x1080"),
1020
1023
  rate: Video_rate = Default("60"),
1021
- duration: Duration = Default(-1e-06),
1024
+ duration: Duration = Default("-0.000001"),
1022
1025
  sar: Rational = Default("1/1"),
1023
1026
  format: String = Default(None),
1024
1027
  out_range: Int
1025
1028
  | Literal["full", "limited", "jpeg", "mpeg", "tv", "pc"]
1026
- | Default = Default(0),
1029
+ | Default = Default("0) (from 0 to 2) (default 0"),
1027
1030
  extra_options: dict[str, Any] | None = None,
1028
1031
  ) -> VideoStream:
1029
1032
  """
1030
1033
 
1031
- Generate a constant color (Vulkan)
1034
+ Generate a constant color (Vulkan).
1032
1035
 
1033
1036
  Args:
1034
1037
  color: set color (default "black")
@@ -1038,6 +1041,7 @@ def color_vulkan(
1038
1041
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
1039
1042
  format: Output video format (software format of hardware frames)
1040
1043
  out_range: Output colour range (from 0 to 2) (default 0) (from 0 to 2) (default 0)
1044
+ extra_options: Extra options for the filter
1041
1045
 
1042
1046
  Returns:
1043
1047
  default: the video stream
@@ -1069,7 +1073,7 @@ def color_vulkan(
1069
1073
  def colorchart(
1070
1074
  *,
1071
1075
  rate: Video_rate = Default("25"),
1072
- duration: Duration = Default(-1e-06),
1076
+ duration: Duration = Default("-0.000001"),
1073
1077
  sar: Rational = Default("1/1"),
1074
1078
  patch_size: Image_size = Default("64x64"),
1075
1079
  preset: Int | Literal["reference", "skintones"] | Default = Default("reference"),
@@ -1085,6 +1089,7 @@ def colorchart(
1085
1089
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
1086
1090
  patch_size: set the single patch size (default "64x64")
1087
1091
  preset: set the color checker chart preset (from 0 to 1) (default reference)
1092
+ extra_options: Extra options for the filter
1088
1093
 
1089
1094
  Returns:
1090
1095
  default: the video stream
@@ -1113,7 +1118,7 @@ def colorspectrum(
1113
1118
  *,
1114
1119
  size: Image_size = Default("320x240"),
1115
1120
  rate: Video_rate = Default("25"),
1116
- duration: Duration = Default(-1e-06),
1121
+ duration: Duration = Default("-0.000001"),
1117
1122
  sar: Rational = Default("1/1"),
1118
1123
  type: Int | Literal["black", "white", "all"] | Default = Default("black"),
1119
1124
  extra_options: dict[str, Any] | None = None,
@@ -1128,6 +1133,7 @@ def colorspectrum(
1128
1133
  duration: set video duration (default -0.000001)
1129
1134
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
1130
1135
  type: set the color spectrum type (from 0 to 2) (default black)
1136
+ extra_options: Extra options for the filter
1131
1137
 
1132
1138
  Returns:
1133
1139
  default: the video stream
@@ -1157,9 +1163,9 @@ def colorspectrum(
1157
1163
  def concat(
1158
1164
  *streams: FilterableStream,
1159
1165
  n: Int = Auto("len(streams) // (int(v) + int(a))"),
1160
- v: Int = Default(1),
1161
- a: Int = Default(0),
1162
- unsafe: Boolean = Default(False),
1166
+ v: Int = Default("1"),
1167
+ a: Int = Default("0"),
1168
+ unsafe: Boolean = Default("false"),
1163
1169
  extra_options: dict[str, Any] | None = None,
1164
1170
  ) -> FilterNode:
1165
1171
  """
@@ -1171,6 +1177,7 @@ def concat(
1171
1177
  v: specify the number of video streams (from 0 to INT_MAX) (default 1)
1172
1178
  a: specify the number of audio streams (from 0 to INT_MAX) (default 0)
1173
1179
  unsafe: enable unsafe mode (default false)
1180
+ extra_options: Extra options for the filter
1174
1181
 
1175
1182
  Returns:
1176
1183
  filter_node: the filter node
@@ -1203,14 +1210,14 @@ def concat(
1203
1210
 
1204
1211
  def decimate(
1205
1212
  *streams: VideoStream,
1206
- cycle: Int = Default(5),
1207
- dupthresh: Double = Default(1.1),
1208
- scthresh: Double = Default(15.0),
1209
- blockx: Int = Default(32),
1210
- blocky: Int = Default(32),
1211
- ppsrc: Boolean = Default(False),
1212
- chroma: Boolean = Default(True),
1213
- mixed: Boolean = Default(False),
1213
+ cycle: Int = Default("5"),
1214
+ dupthresh: Double = Default("1.1"),
1215
+ scthresh: Double = Default("15"),
1216
+ blockx: Int = Default("32"),
1217
+ blocky: Int = Default("32"),
1218
+ ppsrc: Boolean = Default("false"),
1219
+ chroma: Boolean = Default("true"),
1220
+ mixed: Boolean = Default("false"),
1214
1221
  extra_options: dict[str, Any] | None = None,
1215
1222
  ) -> VideoStream:
1216
1223
  """
@@ -1226,6 +1233,7 @@ def decimate(
1226
1233
  ppsrc: mark main input as a pre-processed input and activate clean source input stream (default false)
1227
1234
  chroma: set whether or not chroma is considered in the metric calculations (default true)
1228
1235
  mixed: set whether or not the input only partially contains content to be decimated (default false)
1236
+ extra_options: Extra options for the filter
1229
1237
 
1230
1238
  Returns:
1231
1239
  default: the video stream
@@ -1264,18 +1272,18 @@ def fieldmatch(
1264
1272
  mode: Int
1265
1273
  | Literal["pc", "pc_n", "pc_u", "pc_n_ub", "pcn", "pcn_ub"]
1266
1274
  | Default = Default("pc_n"),
1267
- ppsrc: Boolean = Default(False),
1275
+ ppsrc: Boolean = Default("false"),
1268
1276
  field: Int | Literal["auto", "bottom", "top"] | Default = Default("auto"),
1269
- mchroma: Boolean = Default(True),
1270
- y0: Int = Default(0),
1271
- scthresh: Double = Default(12.0),
1277
+ mchroma: Boolean = Default("true"),
1278
+ y0: Int = Default("0"),
1279
+ scthresh: Double = Default("12"),
1272
1280
  combmatch: Int | Literal["none", "sc", "full"] | Default = Default("sc"),
1273
1281
  combdbg: Int | Literal["none", "pcn", "pcnub"] | Default = Default("none"),
1274
- cthresh: Int = Default(9),
1275
- chroma: Boolean = Default(False),
1276
- blockx: Int = Default(16),
1277
- blocky: Int = Default(16),
1278
- combpel: Int = Default(80),
1282
+ cthresh: Int = Default("9"),
1283
+ chroma: Boolean = Default("false"),
1284
+ blockx: Int = Default("16"),
1285
+ blocky: Int = Default("16"),
1286
+ combpel: Int = Default("80"),
1279
1287
  extra_options: dict[str, Any] | None = None,
1280
1288
  ) -> VideoStream:
1281
1289
  """
@@ -1297,6 +1305,7 @@ def fieldmatch(
1297
1305
  blockx: set the x-axis size of the window used during combed frame detection (from 4 to 512) (default 16)
1298
1306
  blocky: set the y-axis size of the window used during combed frame detection (from 4 to 512) (default 16)
1299
1307
  combpel: set the number of combed pixels inside any of the blocky by blockx size blocks on the frame for the frame to be detected as combed (from 0 to INT_MAX) (default 80)
1308
+ extra_options: Extra options for the filter
1300
1309
 
1301
1310
  Returns:
1302
1311
  default: the video stream
@@ -1337,8 +1346,8 @@ def fieldmatch(
1337
1346
 
1338
1347
  def flite(
1339
1348
  *,
1340
- list_voices: Boolean = Default(False),
1341
- nb_samples: Int = Default(512),
1349
+ list_voices: Boolean = Default("false"),
1350
+ nb_samples: Int = Default("512"),
1342
1351
  text: String = Default(None),
1343
1352
  textfile: String = Default(None),
1344
1353
  v: String = Default("kal"),
@@ -1354,6 +1363,7 @@ def flite(
1354
1363
  text: set text to speak
1355
1364
  textfile: set filename of the text to speak
1356
1365
  v: set voice (default "kal")
1366
+ extra_options: Extra options for the filter
1357
1367
 
1358
1368
  Returns:
1359
1369
  default: the audio stream
@@ -1383,7 +1393,6 @@ def frei0r_src(
1383
1393
  size: Image_size = Default("320x240"),
1384
1394
  framerate: Video_rate = Default("25"),
1385
1395
  filter_name: String = Default(None),
1386
- filter_params: String = Default(None),
1387
1396
  extra_options: dict[str, Any] | None = None,
1388
1397
  ) -> VideoStream:
1389
1398
  """
@@ -1394,7 +1403,7 @@ def frei0r_src(
1394
1403
  size: Dimensions of the generated video. (default "320x240")
1395
1404
  framerate: (default "25")
1396
1405
  filter_name:
1397
- filter_params:
1406
+ extra_options: Extra options for the filter
1398
1407
 
1399
1408
  Returns:
1400
1409
  default: the video stream
@@ -1410,7 +1419,6 @@ def frei0r_src(
1410
1419
  "size": size,
1411
1420
  "framerate": framerate,
1412
1421
  "filter_name": filter_name,
1413
- "filter_params": filter_params,
1414
1422
  },
1415
1423
  extra_options,
1416
1424
  ),
@@ -1430,14 +1438,14 @@ def gradients(
1430
1438
  c5: Color = Default("random"),
1431
1439
  c6: Color = Default("random"),
1432
1440
  c7: Color = Default("random"),
1433
- x0: Int = Default(-1),
1434
- y0: Int = Default(-1),
1435
- x1: Int = Default(-1),
1436
- y1: Int = Default(-1),
1437
- nb_colors: Int = Default(2),
1438
- seed: Int64 = Default(-1),
1439
- duration: Duration = Default(-1e-06),
1440
- speed: Float = Default(0.01),
1441
+ x0: Int = Default("-1"),
1442
+ y0: Int = Default("-1"),
1443
+ x1: Int = Default("-1"),
1444
+ y1: Int = Default("-1"),
1445
+ nb_colors: Int = Default("2"),
1446
+ seed: Int64 = Default("-1"),
1447
+ duration: Duration = Default("-0.000001"),
1448
+ speed: Float = Default("0.01"),
1441
1449
  type: Int | Literal["linear", "radial", "circular", "spiral"] | Default = Default(
1442
1450
  "linear"
1443
1451
  ),
@@ -1467,6 +1475,7 @@ def gradients(
1467
1475
  duration: set video duration (default -0.000001)
1468
1476
  speed: set gradients rotation speed (from 1e-05 to 1) (default 0.01)
1469
1477
  type: set gradient type (from 0 to 3) (default linear)
1478
+ extra_options: Extra options for the filter
1470
1479
 
1471
1480
  Returns:
1472
1481
  default: the video stream
@@ -1507,13 +1516,13 @@ def gradients(
1507
1516
 
1508
1517
  def guided(
1509
1518
  *streams: VideoStream,
1510
- radius: Int = Default(3),
1511
- eps: Float = Default(0.01),
1519
+ radius: Int = Default("3"),
1520
+ eps: Float = Default("0.01"),
1512
1521
  mode: Int | Literal["basic", "fast"] | Default = Default("basic"),
1513
- sub: Int = Default(4),
1522
+ sub: Int = Default("4"),
1514
1523
  guidance: Int | Literal["off", "on"] | Default = Default("off"),
1515
- planes: Int = Default(1),
1516
- enable: String = Default(None),
1524
+ planes: Int = Default("1"),
1525
+ timeline_options: FFMpegTimelineOption | None = None,
1517
1526
  extra_options: dict[str, Any] | None = None,
1518
1527
  ) -> VideoStream:
1519
1528
  """
@@ -1527,7 +1536,8 @@ def guided(
1527
1536
  sub: subsampling ratio for fast mode (from 2 to 64) (default 4)
1528
1537
  guidance: set guidance mode (0: off mode; 1: on mode) (from 0 to 1) (default off)
1529
1538
  planes: set planes to filter (from 0 to 15) (default 1)
1530
- enable: timeline editing
1539
+ timeline_options: Timeline options
1540
+ extra_options: Extra options for the filter
1531
1541
 
1532
1542
  Returns:
1533
1543
  default: the video stream
@@ -1551,9 +1561,9 @@ def guided(
1551
1561
  "sub": sub,
1552
1562
  "guidance": guidance,
1553
1563
  "planes": planes,
1554
- "enable": enable,
1555
1564
  },
1556
1565
  extra_options,
1566
+ timeline_options,
1557
1567
  ),
1558
1568
  )
1559
1569
  return filter_node.video(0)
@@ -1561,9 +1571,9 @@ def guided(
1561
1571
 
1562
1572
  def haldclutsrc(
1563
1573
  *,
1564
- level: Int = Default(6),
1574
+ level: Int = Default("6"),
1565
1575
  rate: Video_rate = Default("25"),
1566
- duration: Duration = Default(-1e-06),
1576
+ duration: Duration = Default("-0.000001"),
1567
1577
  sar: Rational = Default("1/1"),
1568
1578
  extra_options: dict[str, Any] | None = None,
1569
1579
  ) -> VideoStream:
@@ -1576,6 +1586,7 @@ def haldclutsrc(
1576
1586
  rate: set video rate (default "25")
1577
1587
  duration: set video duration (default -0.000001)
1578
1588
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
1589
+ extra_options: Extra options for the filter
1579
1590
 
1580
1591
  Returns:
1581
1592
  default: the video stream
@@ -1604,10 +1615,10 @@ def haldclutsrc(
1604
1615
  def headphone(
1605
1616
  *streams: AudioStream,
1606
1617
  map: String = Default(None),
1607
- gain: Float = Default(0.0),
1608
- lfe: Float = Default(0.0),
1618
+ gain: Float = Default("0"),
1619
+ lfe: Float = Default("0"),
1609
1620
  type: Int | Literal["time", "freq"] | Default = Default("freq"),
1610
- size: Int = Default(1024),
1621
+ size: Int = Default("1024"),
1611
1622
  hrir: Int | Literal["stereo", "multich"] | Default = Default("stereo"),
1612
1623
  extra_options: dict[str, Any] | None = None,
1613
1624
  ) -> AudioStream:
@@ -1622,6 +1633,7 @@ def headphone(
1622
1633
  type: set processing (from 0 to 1) (default freq)
1623
1634
  size: set frame size (from 1024 to 96000) (default 1024)
1624
1635
  hrir: set hrir format (from 0 to 1) (default stereo)
1636
+ extra_options: Extra options for the filter
1625
1637
 
1626
1638
  Returns:
1627
1639
  default: the audio stream
@@ -1654,9 +1666,9 @@ def headphone(
1654
1666
 
1655
1667
  def hilbert(
1656
1668
  *,
1657
- sample_rate: Int = Default(44100),
1658
- taps: Int = Default(22051),
1659
- nb_samples: Int = Default(1024),
1669
+ sample_rate: Int = Default("44100"),
1670
+ taps: Int = Default("22051"),
1671
+ nb_samples: Int = Default("1024"),
1660
1672
  win_func: Int
1661
1673
  | Literal[
1662
1674
  "rect",
@@ -1681,28 +1693,6 @@ def hilbert(
1681
1693
  "poisson",
1682
1694
  "bohman",
1683
1695
  "kaiser",
1684
- "rect",
1685
- "bartlett",
1686
- "hann",
1687
- "hanning",
1688
- "hamming",
1689
- "blackman",
1690
- "welch",
1691
- "flattop",
1692
- "bharris",
1693
- "bnuttall",
1694
- "bhann",
1695
- "sine",
1696
- "nuttall",
1697
- "lanczos",
1698
- "gauss",
1699
- "tukey",
1700
- "dolph",
1701
- "cauchy",
1702
- "parzen",
1703
- "poisson",
1704
- "bohman",
1705
- "kaiser",
1706
1696
  ]
1707
1697
  | Default = Default("blackman"),
1708
1698
  extra_options: dict[str, Any] | None = None,
@@ -1716,6 +1706,7 @@ def hilbert(
1716
1706
  taps: set number of taps (from 11 to 65535) (default 22051)
1717
1707
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
1718
1708
  win_func: set window function (from 0 to 20) (default blackman)
1709
+ extra_options: Extra options for the filter
1719
1710
 
1720
1711
  Returns:
1721
1712
  default: the audio stream
@@ -1742,7 +1733,7 @@ def hilbert(
1742
1733
  def hstack(
1743
1734
  *streams: VideoStream,
1744
1735
  inputs: Int = Auto("len(streams)"),
1745
- shortest: Boolean = Default(False),
1736
+ shortest: Boolean = Default("false"),
1746
1737
  extra_options: dict[str, Any] | None = None,
1747
1738
  ) -> VideoStream:
1748
1739
  """
@@ -1752,6 +1743,7 @@ def hstack(
1752
1743
  Args:
1753
1744
  inputs: set number of inputs (from 2 to INT_MAX) (default 2)
1754
1745
  shortest: force termination when the shortest input terminates (default false)
1746
+ extra_options: Extra options for the filter
1755
1747
 
1756
1748
  Returns:
1757
1749
  default: the video stream
@@ -1780,19 +1772,20 @@ def hstack(
1780
1772
 
1781
1773
  def hstack_vaapi(
1782
1774
  *streams: VideoStream,
1783
- inputs: Int = Default(2),
1784
- shortest: Boolean = Default(False),
1785
- height: Int = Default(0),
1775
+ inputs: Int = Default("2"),
1776
+ shortest: Boolean = Default("false"),
1777
+ height: Int = Default("0"),
1786
1778
  extra_options: dict[str, Any] | None = None,
1787
1779
  ) -> VideoStream:
1788
1780
  """
1789
1781
 
1790
- "VA-API" hstack
1782
+ "VA-API" hstack.
1791
1783
 
1792
1784
  Args:
1793
1785
  inputs: Set number of inputs (from 2 to 65535) (default 2)
1794
1786
  shortest: Force termination when the shortest input terminates (default false)
1795
1787
  height: Set output height (0 to use the height of input 0) (from 0 to 65535) (default 0)
1788
+ extra_options: Extra options for the filter
1796
1789
 
1797
1790
  Returns:
1798
1791
  default: the video stream
@@ -1835,6 +1828,7 @@ def interleave(
1835
1828
  Args:
1836
1829
  nb_inputs: set number of inputs (from 1 to INT_MAX) (default 2)
1837
1830
  duration: how to determine the end-of-stream (from 0 to 2) (default longest)
1831
+ extra_options: Extra options for the filter
1838
1832
 
1839
1833
  Returns:
1840
1834
  default: the video stream
@@ -1876,6 +1870,7 @@ def join(
1876
1870
  inputs: Number of input streams. (from 1 to INT_MAX) (default 2)
1877
1871
  channel_layout: Channel layout of the output stream. (default "stereo")
1878
1872
  map: A comma-separated list of channels maps in the format 'input_stream.input_channel-output_channel.
1873
+ extra_options: Extra options for the filter
1879
1874
 
1880
1875
  Returns:
1881
1876
  default: the audio stream
@@ -1908,10 +1903,10 @@ def ladspa(
1908
1903
  file: String = Default(None),
1909
1904
  plugin: String = Default(None),
1910
1905
  controls: String = Default(None),
1911
- sample_rate: Int = Default(44100),
1912
- nb_samples: Int = Default(1024),
1913
- duration: Duration = Default(-1e-06),
1914
- latency: Boolean = Default(False),
1906
+ sample_rate: Int = Default("44100"),
1907
+ nb_samples: Int = Default("1024"),
1908
+ duration: Duration = Default("-0.000001"),
1909
+ latency: Boolean = Default("false"),
1915
1910
  extra_options: dict[str, Any] | None = None,
1916
1911
  ) -> AudioStream:
1917
1912
  """
@@ -1926,6 +1921,7 @@ def ladspa(
1926
1921
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
1927
1922
  duration: set audio duration (default -0.000001)
1928
1923
  latency: enable latency compensation (default false)
1924
+ extra_options: Extra options for the filter
1929
1925
 
1930
1926
  Returns:
1931
1927
  default: the audio stream
@@ -1961,23 +1957,23 @@ def libplacebo(
1961
1957
  w: String = Default("iw"),
1962
1958
  h: String = Default("ih"),
1963
1959
  fps: String = Default("none"),
1964
- crop_x: String = Default("(iw-cw"),
1965
- crop_y: String = Default("(ih-ch"),
1960
+ crop_x: String = Default("(iw-cw)/2"),
1961
+ crop_y: String = Default("(ih-ch)/2"),
1966
1962
  crop_w: String = Default("iw"),
1967
1963
  crop_h: String = Default("ih"),
1968
- pos_x: String = Default("(ow-pw"),
1969
- pos_y: String = Default("(oh-ph"),
1964
+ pos_x: String = Default("(ow-pw)/2"),
1965
+ pos_y: String = Default("(oh-ph)/2"),
1970
1966
  pos_w: String = Default("ow"),
1971
1967
  pos_h: String = Default("oh"),
1972
1968
  format: String = Default(None),
1973
1969
  force_original_aspect_ratio: Int
1974
1970
  | Literal["disable", "decrease", "increase"]
1975
1971
  | Default = Default("disable"),
1976
- force_divisible_by: Int = Default(1),
1977
- normalize_sar: Boolean = Default(False),
1978
- pad_crop_ratio: Float = Default(0.0),
1972
+ force_divisible_by: Int = Default("1"),
1973
+ normalize_sar: Boolean = Default("false"),
1974
+ pad_crop_ratio: Float = Default("0"),
1979
1975
  fillcolor: String = Default("black"),
1980
- corner_rounding: Float = Default(0.0),
1976
+ corner_rounding: Float = Default("0"),
1981
1977
  extra_opts: Dictionary = Default(None),
1982
1978
  colorspace: Int
1983
1979
  | Literal[
@@ -2013,7 +2009,7 @@ def libplacebo(
2013
2009
  "smpte428",
2014
2010
  "smpte431",
2015
2011
  "smpte432",
2016
- "p22",
2012
+ "jedec-p22",
2017
2013
  "ebu3213",
2018
2014
  ]
2019
2015
  | Default = Default("auto"),
@@ -2027,39 +2023,39 @@ def libplacebo(
2027
2023
  "smpte170m",
2028
2024
  "smpte240m",
2029
2025
  "linear",
2030
- "4",
2026
+ "iec61966-2-4",
2031
2027
  "bt1361e",
2032
- "1",
2033
- "10",
2034
- "12",
2028
+ "iec61966-2-1",
2029
+ "bt2020-10",
2030
+ "bt2020-12",
2035
2031
  "smpte2084",
2036
- "b67",
2032
+ "arib-std-b67",
2037
2033
  ]
2038
2034
  | Default = Default("auto"),
2039
2035
  upscaler: String = Default("spline36"),
2040
2036
  downscaler: String = Default("mitchell"),
2041
2037
  frame_mixer: String = Default("none"),
2042
- lut_entries: Int = Default(0),
2043
- antiringing: Float = Default(0.0),
2044
- sigmoid: Boolean = Default(True),
2045
- apply_filmgrain: Boolean = Default(True),
2046
- apply_dolbyvision: Boolean = Default(True),
2047
- deband: Boolean = Default(False),
2048
- deband_iterations: Int = Default(1),
2049
- deband_threshold: Float = Default(4.0),
2050
- deband_radius: Float = Default(16.0),
2051
- deband_grain: Float = Default(6.0),
2052
- brightness: Float = Default(0.0),
2053
- contrast: Float = Default(1.0),
2054
- saturation: Float = Default(1.0),
2055
- hue: Float = Default(0.0),
2056
- gamma: Float = Default(1.0),
2057
- peak_detect: Boolean = Default(True),
2058
- smoothing_period: Float = Default(100.0),
2059
- minimum_peak: Float = Default(1.0),
2060
- scene_threshold_low: Float = Default(5.5),
2061
- scene_threshold_high: Float = Default(10.0),
2062
- percentile: Float = Default(99.995),
2038
+ lut_entries: Int = Default("0"),
2039
+ antiringing: Float = Default("0"),
2040
+ sigmoid: Boolean = Default("true"),
2041
+ apply_filmgrain: Boolean = Default("true"),
2042
+ apply_dolbyvision: Boolean = Default("true"),
2043
+ deband: Boolean = Default("false"),
2044
+ deband_iterations: Int = Default("1"),
2045
+ deband_threshold: Float = Default("4"),
2046
+ deband_radius: Float = Default("16"),
2047
+ deband_grain: Float = Default("6"),
2048
+ brightness: Float = Default("0"),
2049
+ contrast: Float = Default("1"),
2050
+ saturation: Float = Default("1"),
2051
+ hue: Float = Default("0"),
2052
+ gamma: Float = Default("1"),
2053
+ peak_detect: Boolean = Default("true"),
2054
+ smoothing_period: Float = Default("100"),
2055
+ minimum_peak: Float = Default("1"),
2056
+ scene_threshold_low: Float = Default("5.5"),
2057
+ scene_threshold_high: Float = Default("10"),
2058
+ percentile: Float = Default("99.995"),
2063
2059
  gamut_mode: Int
2064
2060
  | Literal[
2065
2061
  "clip",
@@ -2077,10 +2073,10 @@ def libplacebo(
2077
2073
  | Literal[
2078
2074
  "auto",
2079
2075
  "clip",
2080
- "40",
2081
- "10",
2082
- "2390",
2083
- "2446a",
2076
+ "st2094-40",
2077
+ "st2094-10",
2078
+ "bt.2390",
2079
+ "bt.2446a",
2084
2080
  "spline",
2085
2081
  "reinhard",
2086
2082
  "mobius",
@@ -2089,45 +2085,45 @@ def libplacebo(
2089
2085
  "linear",
2090
2086
  ]
2091
2087
  | Default = Default("auto"),
2092
- tonemapping_param: Float = Default(0.0),
2093
- inverse_tonemapping: Boolean = Default(False),
2094
- tonemapping_lut_size: Int = Default(256),
2095
- contrast_recovery: Float = Default(0.3),
2096
- contrast_smoothness: Float = Default(3.5),
2097
- desaturation_strength: Float = Default(-1.0),
2098
- desaturation_exponent: Float = Default(-1.0),
2099
- gamut_warning: Boolean = Default(False),
2100
- gamut_clipping: Boolean = Default(False),
2088
+ tonemapping_param: Float = Default("0"),
2089
+ inverse_tonemapping: Boolean = Default("false"),
2090
+ tonemapping_lut_size: Int = Default("256"),
2091
+ contrast_recovery: Float = Default("0.3"),
2092
+ contrast_smoothness: Float = Default("3.5"),
2093
+ desaturation_strength: Float = Default("-1"),
2094
+ desaturation_exponent: Float = Default("-1"),
2095
+ gamut_warning: Boolean = Default("false"),
2096
+ gamut_clipping: Boolean = Default("false"),
2101
2097
  intent: Int
2102
2098
  | Literal["perceptual", "relative", "absolute", "saturation"]
2103
2099
  | Default = Default("perceptual"),
2104
2100
  tonemapping_mode: Int
2105
2101
  | Literal["auto", "rgb", "max", "hybrid", "luma"]
2106
2102
  | Default = Default("auto"),
2107
- tonemapping_crosstalk: Float = Default(0.04),
2108
- overshoot: Float = Default(0.05),
2109
- hybrid_mix: Float = Default(0.2),
2103
+ tonemapping_crosstalk: Float = Default("0.04"),
2104
+ overshoot: Float = Default("0.05"),
2105
+ hybrid_mix: Float = Default("0.2"),
2110
2106
  dithering: Int
2111
2107
  | Literal["none", "blue", "ordered", "ordered_fixed", "white"]
2112
2108
  | Default = Default("blue"),
2113
- dither_lut_size: Int = Default(6),
2114
- dither_temporal: Boolean = Default(False),
2109
+ dither_lut_size: Int = Default("6"),
2110
+ dither_temporal: Boolean = Default("false"),
2115
2111
  cones: Flags | Literal["l", "m", "s"] | Default = Default("0"),
2116
- cone_strength: Float = Default(0.0),
2112
+ cone_strength: Float = Default("0"),
2117
2113
  custom_shader_path: String = Default(None),
2118
2114
  custom_shader_bin: Binary = Default(None),
2119
- skip_aa: Boolean = Default(False),
2120
- polar_cutoff: Float = Default(0.0),
2121
- disable_linear: Boolean = Default(False),
2122
- disable_builtin: Boolean = Default(False),
2123
- force_icc_lut: Boolean = Default(False),
2124
- force_dither: Boolean = Default(False),
2125
- disable_fbos: Boolean = Default(False),
2115
+ skip_aa: Boolean = Default("false"),
2116
+ polar_cutoff: Float = Default("0"),
2117
+ disable_linear: Boolean = Default("false"),
2118
+ disable_builtin: Boolean = Default("false"),
2119
+ force_icc_lut: Boolean = Default("false"),
2120
+ force_dither: Boolean = Default("false"),
2121
+ disable_fbos: Boolean = Default("false"),
2126
2122
  extra_options: dict[str, Any] | None = None,
2127
2123
  ) -> VideoStream:
2128
2124
  """
2129
2125
 
2130
- Apply various GPU filters from libplacebo
2126
+ Apply various GPU filters from libplacebo.
2131
2127
 
2132
2128
  Args:
2133
2129
  inputs: Number of inputs (from 1 to INT_MAX) (default 1)
@@ -2208,6 +2204,7 @@ def libplacebo(
2208
2204
  force_icc_lut: Deprecated, does nothing (default false)
2209
2205
  force_dither: Force dithering (default false)
2210
2206
  disable_fbos: Force-disable FBOs (default false)
2207
+ extra_options: Extra options for the filter
2211
2208
 
2212
2209
  Returns:
2213
2210
  default: the video stream
@@ -2316,10 +2313,10 @@ def life(
2316
2313
  size: Image_size = Default(None),
2317
2314
  rate: Video_rate = Default("25"),
2318
2315
  rule: String = Default("B3/S23"),
2319
- random_fill_ratio: Double = Default(0.618034),
2320
- random_seed: Int64 = Default(-1),
2321
- stitch: Boolean = Default(True),
2322
- mold: Int = Default(0),
2316
+ random_fill_ratio: Double = Default("0.618034"),
2317
+ random_seed: Int64 = Default("-1"),
2318
+ stitch: Boolean = Default("true"),
2319
+ mold: Int = Default("0"),
2323
2320
  life_color: Color = Default("white"),
2324
2321
  death_color: Color = Default("black"),
2325
2322
  mold_color: Color = Default("black"),
@@ -2341,6 +2338,7 @@ def life(
2341
2338
  life_color: set life color (default "white")
2342
2339
  death_color: set death color (default "black")
2343
2340
  mold_color: set mold color (default "black")
2341
+ extra_options: Extra options for the filter
2344
2342
 
2345
2343
  Returns:
2346
2344
  default: the video stream
@@ -2373,11 +2371,11 @@ def life(
2373
2371
 
2374
2372
  def limitdiff(
2375
2373
  *streams: VideoStream,
2376
- threshold: Float = Default(0.00392157),
2377
- elasticity: Float = Default(2.0),
2378
- reference: Boolean = Default(False),
2379
- planes: Int = Default(15),
2380
- enable: String = Default(None),
2374
+ threshold: Float = Default("0.00392157"),
2375
+ elasticity: Float = Default("2"),
2376
+ reference: Boolean = Default("false"),
2377
+ planes: Int = Default("15"),
2378
+ timeline_options: FFMpegTimelineOption | None = None,
2381
2379
  extra_options: dict[str, Any] | None = None,
2382
2380
  ) -> VideoStream:
2383
2381
  """
@@ -2389,7 +2387,8 @@ def limitdiff(
2389
2387
  elasticity: set the elasticity (from 0 to 10) (default 2)
2390
2388
  reference: enable reference stream (default false)
2391
2389
  planes: set the planes to filter (from 0 to 15) (default 15)
2392
- enable: timeline editing
2390
+ timeline_options: Timeline options
2391
+ extra_options: Extra options for the filter
2393
2392
 
2394
2393
  Returns:
2395
2394
  default: the video stream
@@ -2411,9 +2410,9 @@ def limitdiff(
2411
2410
  "elasticity": elasticity,
2412
2411
  "reference": reference,
2413
2412
  "planes": planes,
2414
- "enable": enable,
2415
2413
  },
2416
2414
  extra_options,
2415
+ timeline_options,
2417
2416
  ),
2418
2417
  )
2419
2418
  return filter_node.video(0)
@@ -2423,9 +2422,9 @@ def lv2(
2423
2422
  *streams: AudioStream,
2424
2423
  plugin: String = Default(None),
2425
2424
  controls: String = Default(None),
2426
- sample_rate: Int = Default(44100),
2427
- nb_samples: Int = Default(1024),
2428
- duration: Duration = Default(-1e-06),
2425
+ sample_rate: Int = Default("44100"),
2426
+ nb_samples: Int = Default("1024"),
2427
+ duration: Duration = Default("-0.000001"),
2429
2428
  extra_options: dict[str, Any] | None = None,
2430
2429
  ) -> AudioStream:
2431
2430
  """
@@ -2438,6 +2437,7 @@ def lv2(
2438
2437
  sample_rate: set sample rate (from 1 to INT_MAX) (default 44100)
2439
2438
  nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
2440
2439
  duration: set audio duration (default -0.000001)
2440
+ extra_options: Extra options for the filter
2441
2441
 
2442
2442
  Returns:
2443
2443
  default: the audio stream
@@ -2469,16 +2469,16 @@ def mandelbrot(
2469
2469
  *,
2470
2470
  size: Image_size = Default("640x480"),
2471
2471
  rate: Video_rate = Default("25"),
2472
- maxiter: Int = Default(7189),
2473
- start_x: Double = Default(-0.743644),
2474
- start_y: Double = Default(-0.131826),
2475
- start_scale: Double = Default(3.0),
2476
- end_scale: Double = Default(0.3),
2477
- end_pts: Double = Default(400.0),
2478
- bailout: Double = Default(10.0),
2479
- morphxf: Double = Default(0.01),
2480
- morphyf: Double = Default(0.0123),
2481
- morphamp: Double = Default(0.0),
2472
+ maxiter: Int = Default("7189"),
2473
+ start_x: Double = Default("-0.743644"),
2474
+ start_y: Double = Default("-0.131826"),
2475
+ start_scale: Double = Default("3"),
2476
+ end_scale: Double = Default("0.3"),
2477
+ end_pts: Double = Default("400"),
2478
+ bailout: Double = Default("10"),
2479
+ morphxf: Double = Default("0.01"),
2480
+ morphyf: Double = Default("0.0123"),
2481
+ morphamp: Double = Default("0"),
2482
2482
  outer: Int
2483
2483
  | Literal["iteration_count", "normalized_iteration_count", "white", "outz"]
2484
2484
  | Default = Default("normalized_iteration_count"),
@@ -2506,6 +2506,7 @@ def mandelbrot(
2506
2506
  morphamp: set morph amplitude (from -FLT_MAX to FLT_MAX) (default 0)
2507
2507
  outer: set outer coloring mode (from 0 to INT_MAX) (default normalized_iteration_count)
2508
2508
  inner: set inner coloring mode (from 0 to INT_MAX) (default mincol)
2509
+ extra_options: Extra options for the filter
2509
2510
 
2510
2511
  Returns:
2511
2512
  default: the video stream
@@ -2541,16 +2542,16 @@ def mandelbrot(
2541
2542
 
2542
2543
  def mergeplanes(
2543
2544
  *streams: VideoStream,
2544
- mapping: Int = Default(-1),
2545
+ mapping: Int = Default("-1"),
2545
2546
  format: Pix_fmt = Default("yuva444p"),
2546
- map0s: Int = Default(0),
2547
- map0p: Int = Default(0),
2548
- map1s: Int = Default(0),
2549
- map1p: Int = Default(0),
2550
- map2s: Int = Default(0),
2551
- map2p: Int = Default(0),
2552
- map3s: Int = Default(0),
2553
- map3p: Int = Default(0),
2547
+ map0s: Int = Default("0"),
2548
+ map0p: Int = Default("0"),
2549
+ map1s: Int = Default("0"),
2550
+ map1p: Int = Default("0"),
2551
+ map2s: Int = Default("0"),
2552
+ map2p: Int = Default("0"),
2553
+ map3s: Int = Default("0"),
2554
+ map3p: Int = Default("0"),
2554
2555
  extra_options: dict[str, Any] | None = None,
2555
2556
  ) -> VideoStream:
2556
2557
  """
@@ -2568,6 +2569,7 @@ def mergeplanes(
2568
2569
  map2p: set 3rd input to output plane mapping (from 0 to 3) (default 0)
2569
2570
  map3s: set 4th input to output stream mapping (from 0 to 3) (default 0)
2570
2571
  map3p: set 4th input to output plane mapping (from 0 to 3) (default 0)
2572
+ extra_options: Extra options for the filter
2571
2573
 
2572
2574
  Returns:
2573
2575
  default: the video stream
@@ -2606,12 +2608,12 @@ def mix(
2606
2608
  *streams: VideoStream,
2607
2609
  inputs: Int = Auto("len(streams)"),
2608
2610
  weights: String = Default("1 1"),
2609
- scale: Float = Default(0.0),
2611
+ scale: Float = Default("0"),
2610
2612
  planes: Flags = Default("F"),
2611
2613
  duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
2612
2614
  "longest"
2613
2615
  ),
2614
- enable: String = Default(None),
2616
+ timeline_options: FFMpegTimelineOption | None = None,
2615
2617
  extra_options: dict[str, Any] | None = None,
2616
2618
  ) -> VideoStream:
2617
2619
  """
@@ -2624,7 +2626,8 @@ def mix(
2624
2626
  scale: set scale (from 0 to 32767) (default 0)
2625
2627
  planes: set what planes to filter (default F)
2626
2628
  duration: how to determine end of stream (from 0 to 2) (default longest)
2627
- enable: timeline editing
2629
+ timeline_options: Timeline options
2630
+ extra_options: Extra options for the filter
2628
2631
 
2629
2632
  Returns:
2630
2633
  default: the video stream
@@ -2647,9 +2650,9 @@ def mix(
2647
2650
  "scale": scale,
2648
2651
  "planes": planes,
2649
2652
  "duration": duration,
2650
- "enable": enable,
2651
2653
  },
2652
2654
  extra_options,
2655
+ timeline_options,
2653
2656
  ),
2654
2657
  )
2655
2658
  return filter_node.video(0)
@@ -2659,12 +2662,12 @@ def movie(
2659
2662
  *,
2660
2663
  filename: String = Default(None),
2661
2664
  format_name: String = Default(None),
2662
- stream_index: Int = Default(-1),
2663
- seek_point: Double = Default(0.0),
2665
+ stream_index: Int = Default("-1"),
2666
+ seek_point: Double = Default("0"),
2664
2667
  streams: String = Default(None),
2665
- loop: Int = Default(1),
2666
- discontinuity: Duration = Default(0.0),
2667
- dec_threads: Int = Default(0),
2668
+ loop: Int = Default("1"),
2669
+ discontinuity: Duration = Default("0"),
2670
+ dec_threads: Int = Default("0"),
2668
2671
  format_opts: Dictionary = Default(None),
2669
2672
  extra_options: dict[str, Any] | None = None,
2670
2673
  ) -> FilterNode:
@@ -2682,6 +2685,7 @@ def movie(
2682
2685
  discontinuity: set discontinuity threshold (default 0)
2683
2686
  dec_threads: set the number of threads for decoding (from 0 to INT_MAX) (default 0)
2684
2687
  format_opts: set format options for the opened file
2688
+ extra_options: Extra options for the filter
2685
2689
 
2686
2690
  Returns:
2687
2691
  filter_node: the filter node
@@ -2719,7 +2723,7 @@ def movie(
2719
2723
  def mptestsrc(
2720
2724
  *,
2721
2725
  rate: Video_rate = Default("25"),
2722
- duration: Duration = Default(-1e-06),
2726
+ duration: Duration = Default("-0.000001"),
2723
2727
  test: Int
2724
2728
  | Literal[
2725
2729
  "dc_luma",
@@ -2735,7 +2739,7 @@ def mptestsrc(
2735
2739
  "all",
2736
2740
  ]
2737
2741
  | Default = Default("all"),
2738
- max_frames: Int64 = Default(30),
2742
+ max_frames: Int64 = Default("30"),
2739
2743
  extra_options: dict[str, Any] | None = None,
2740
2744
  ) -> VideoStream:
2741
2745
  """
@@ -2747,6 +2751,7 @@ def mptestsrc(
2747
2751
  duration: set video duration (default -0.000001)
2748
2752
  test: set test to perform (from 0 to INT_MAX) (default all)
2749
2753
  max_frames: Set the maximum number of frames generated for each test (from 1 to I64_MAX) (default 30)
2754
+ extra_options: Extra options for the filter
2750
2755
 
2751
2756
  Returns:
2752
2757
  default: the video stream
@@ -2774,7 +2779,7 @@ def nullsrc(
2774
2779
  *,
2775
2780
  size: Image_size = Default("320x240"),
2776
2781
  rate: Video_rate = Default("25"),
2777
- duration: Duration = Default(-1e-06),
2782
+ duration: Duration = Default("-0.000001"),
2778
2783
  sar: Rational = Default("1/1"),
2779
2784
  extra_options: dict[str, Any] | None = None,
2780
2785
  ) -> VideoStream:
@@ -2787,6 +2792,7 @@ def nullsrc(
2787
2792
  rate: set video rate (default "25")
2788
2793
  duration: set video duration (default -0.000001)
2789
2794
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
2795
+ extra_options: Extra options for the filter
2790
2796
 
2791
2797
  Returns:
2792
2798
  default: the video stream
@@ -2821,7 +2827,7 @@ def openclsrc(
2821
2827
  ) -> VideoStream:
2822
2828
  """
2823
2829
 
2824
- Generate video using an OpenCL program
2830
+ Generate video using an OpenCL program.
2825
2831
 
2826
2832
  Args:
2827
2833
  source: OpenCL program source file
@@ -2829,6 +2835,7 @@ def openclsrc(
2829
2835
  size: Video size
2830
2836
  format: Video format (default none)
2831
2837
  rate: Video frame rate (default "25")
2838
+ extra_options: Extra options for the filter
2832
2839
 
2833
2840
  Returns:
2834
2841
  default: the video stream
@@ -2857,7 +2864,7 @@ def pal100bars(
2857
2864
  *,
2858
2865
  size: Image_size = Default("320x240"),
2859
2866
  rate: Video_rate = Default("25"),
2860
- duration: Duration = Default(-1e-06),
2867
+ duration: Duration = Default("-0.000001"),
2861
2868
  sar: Rational = Default("1/1"),
2862
2869
  extra_options: dict[str, Any] | None = None,
2863
2870
  ) -> VideoStream:
@@ -2870,6 +2877,7 @@ def pal100bars(
2870
2877
  rate: set video rate (default "25")
2871
2878
  duration: set video duration (default -0.000001)
2872
2879
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
2880
+ extra_options: Extra options for the filter
2873
2881
 
2874
2882
  Returns:
2875
2883
  default: the video stream
@@ -2897,7 +2905,7 @@ def pal75bars(
2897
2905
  *,
2898
2906
  size: Image_size = Default("320x240"),
2899
2907
  rate: Video_rate = Default("25"),
2900
- duration: Duration = Default(-1e-06),
2908
+ duration: Duration = Default("-0.000001"),
2901
2909
  sar: Rational = Default("1/1"),
2902
2910
  extra_options: dict[str, Any] | None = None,
2903
2911
  ) -> VideoStream:
@@ -2910,6 +2918,7 @@ def pal75bars(
2910
2918
  rate: set video rate (default "25")
2911
2919
  duration: set video duration (default -0.000001)
2912
2920
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
2921
+ extra_options: Extra options for the filter
2913
2922
 
2914
2923
  Returns:
2915
2924
  default: the video stream
@@ -2935,9 +2944,9 @@ def pal75bars(
2935
2944
 
2936
2945
  def premultiply(
2937
2946
  *streams: VideoStream,
2938
- planes: Int = Default(15),
2939
- inplace: Boolean = Default(False),
2940
- enable: String = Default(None),
2947
+ planes: Int = Default("15"),
2948
+ inplace: Boolean = Default("false"),
2949
+ timeline_options: FFMpegTimelineOption | None = None,
2941
2950
  extra_options: dict[str, Any] | None = None,
2942
2951
  ) -> VideoStream:
2943
2952
  """
@@ -2947,7 +2956,8 @@ def premultiply(
2947
2956
  Args:
2948
2957
  planes: set planes (from 0 to 15) (default 15)
2949
2958
  inplace: enable inplace mode (default false)
2950
- enable: timeline editing
2959
+ timeline_options: Timeline options
2960
+ extra_options: Extra options for the filter
2951
2961
 
2952
2962
  Returns:
2953
2963
  default: the video stream
@@ -2967,9 +2977,9 @@ def premultiply(
2967
2977
  {
2968
2978
  "planes": planes,
2969
2979
  "inplace": inplace,
2970
- "enable": enable,
2971
2980
  },
2972
2981
  extra_options,
2982
+ timeline_options,
2973
2983
  ),
2974
2984
  )
2975
2985
  return filter_node.video(0)
@@ -2979,27 +2989,22 @@ def program_opencl(
2979
2989
  *streams: VideoStream,
2980
2990
  source: String = Default(None),
2981
2991
  kernel: String = Default(None),
2982
- inputs: Int = Default(1),
2992
+ inputs: Int = Default("1"),
2983
2993
  size: Image_size = Default(None),
2984
- eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
2985
- shortest: Boolean = Default(False),
2986
- repeatlast: Boolean = Default(True),
2987
- ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
2994
+ framesync_options: FFMpegFrameSyncOption | None = None,
2988
2995
  extra_options: dict[str, Any] | None = None,
2989
2996
  ) -> VideoStream:
2990
2997
  """
2991
2998
 
2992
- Filter video using an OpenCL program
2999
+ Filter video using an OpenCL program.
2993
3000
 
2994
3001
  Args:
2995
3002
  source: OpenCL program source file
2996
3003
  kernel: Kernel name in program
2997
3004
  inputs: Number of inputs (from 1 to INT_MAX) (default 1)
2998
3005
  size: Video size
2999
- eof_action: Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)
3000
- shortest: force termination when the shortest input terminates (default false)
3001
- repeatlast: extend last frame of secondary streams beyond EOF (default true)
3002
- ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
3006
+ framesync_options: Framesync options
3007
+ extra_options: Extra options for the filter
3003
3008
 
3004
3009
  Returns:
3005
3010
  default: the video stream
@@ -3021,12 +3026,9 @@ def program_opencl(
3021
3026
  "kernel": kernel,
3022
3027
  "inputs": inputs,
3023
3028
  "size": size,
3024
- "eof_action": eof_action,
3025
- "shortest": shortest,
3026
- "repeatlast": repeatlast,
3027
- "ts_sync_mode": ts_sync_mode,
3028
3029
  },
3029
3030
  extra_options,
3031
+ framesync_options,
3030
3032
  ),
3031
3033
  )
3032
3034
  return filter_node.video(0)
@@ -3036,9 +3038,9 @@ def rgbtestsrc(
3036
3038
  *,
3037
3039
  size: Image_size = Default("320x240"),
3038
3040
  rate: Video_rate = Default("25"),
3039
- duration: Duration = Default(-1e-06),
3041
+ duration: Duration = Default("-0.000001"),
3040
3042
  sar: Rational = Default("1/1"),
3041
- complement: Boolean = Default(False),
3043
+ complement: Boolean = Default("false"),
3042
3044
  extra_options: dict[str, Any] | None = None,
3043
3045
  ) -> VideoStream:
3044
3046
  """
@@ -3051,6 +3053,7 @@ def rgbtestsrc(
3051
3053
  duration: set video duration (default -0.000001)
3052
3054
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3053
3055
  complement: set complement colors (default false)
3056
+ extra_options: Extra options for the filter
3054
3057
 
3055
3058
  Returns:
3056
3059
  default: the video stream
@@ -3079,8 +3082,8 @@ def sierpinski(
3079
3082
  *,
3080
3083
  size: Image_size = Default("640x480"),
3081
3084
  rate: Video_rate = Default("25"),
3082
- seed: Int64 = Default(-1),
3083
- jump: Int = Default(100),
3085
+ seed: Int64 = Default("-1"),
3086
+ jump: Int = Default("100"),
3084
3087
  type: Int | Literal["carpet", "triangle"] | Default = Default("carpet"),
3085
3088
  extra_options: dict[str, Any] | None = None,
3086
3089
  ) -> VideoStream:
@@ -3094,6 +3097,7 @@ def sierpinski(
3094
3097
  seed: set the seed (from -1 to UINT32_MAX) (default -1)
3095
3098
  jump: set the jump (from 1 to 10000) (default 100)
3096
3099
  type: set fractal type (from 0 to 1) (default carpet)
3100
+ extra_options: Extra options for the filter
3097
3101
 
3098
3102
  Returns:
3099
3103
  default: the video stream
@@ -3124,16 +3128,16 @@ def signature(
3124
3128
  nb_inputs: Int = Auto("len(streams)"),
3125
3129
  filename: String = Default(""),
3126
3130
  format: Int | Literal["binary", "xml"] | Default = Default("binary"),
3127
- th_d: Int = Default(9000),
3128
- th_dc: Int = Default(60000),
3129
- th_xh: Int = Default(116),
3130
- th_di: Int = Default(0),
3131
- th_it: Double = Default(0.5),
3131
+ th_d: Int = Default("9000"),
3132
+ th_dc: Int = Default("60000"),
3133
+ th_xh: Int = Default("116"),
3134
+ th_di: Int = Default("0"),
3135
+ th_it: Double = Default("0.5"),
3132
3136
  extra_options: dict[str, Any] | None = None,
3133
3137
  ) -> VideoStream:
3134
3138
  """
3135
3139
 
3136
- Calculate the MPEG-7 video signature
3140
+ Calculate the MPEG-7 video signature.
3137
3141
 
3138
3142
  Args:
3139
3143
  detectmode: set the detectmode (from 0 to 2) (default off)
@@ -3145,6 +3149,7 @@ def signature(
3145
3149
  th_xh: threshold to detect frames as similar (from 1 to INT_MAX) (default 116)
3146
3150
  th_di: minimum length of matching sequence in frames (from 0 to INT_MAX) (default 0)
3147
3151
  th_it: threshold for relation of good to all frames (from 0 to 1) (default 0.5)
3152
+ extra_options: Extra options for the filter
3148
3153
 
3149
3154
  Returns:
3150
3155
  default: the video stream
@@ -3180,16 +3185,16 @@ def signature(
3180
3185
 
3181
3186
  def sinc(
3182
3187
  *,
3183
- sample_rate: Int = Default(44100),
3184
- nb_samples: Int = Default(1024),
3185
- hp: Float = Default(0.0),
3186
- lp: Float = Default(0.0),
3187
- phase: Float = Default(50.0),
3188
- beta: Float = Default(-1.0),
3189
- att: Float = Default(120.0),
3190
- round: Boolean = Default(False),
3191
- hptaps: Int = Default(0),
3192
- lptaps: Int = Default(0),
3188
+ sample_rate: Int = Default("44100"),
3189
+ nb_samples: Int = Default("1024"),
3190
+ hp: Float = Default("0"),
3191
+ lp: Float = Default("0"),
3192
+ phase: Float = Default("50"),
3193
+ beta: Float = Default("-1"),
3194
+ att: Float = Default("120"),
3195
+ round: Boolean = Default("false"),
3196
+ hptaps: Int = Default("0"),
3197
+ lptaps: Int = Default("0"),
3193
3198
  extra_options: dict[str, Any] | None = None,
3194
3199
  ) -> AudioStream:
3195
3200
  """
@@ -3207,6 +3212,7 @@ def sinc(
3207
3212
  round: enable rounding (default false)
3208
3213
  hptaps: set number of taps for high-pass filter (from 0 to 32768) (default 0)
3209
3214
  lptaps: set number of taps for low-pass filter (from 0 to 32768) (default 0)
3215
+ extra_options: Extra options for the filter
3210
3216
 
3211
3217
  Returns:
3212
3218
  default: the audio stream
@@ -3238,10 +3244,10 @@ def sinc(
3238
3244
 
3239
3245
  def sine(
3240
3246
  *,
3241
- frequency: Double = Default(440.0),
3242
- beep_factor: Double = Default(0.0),
3243
- sample_rate: Int = Default(44100),
3244
- duration: Duration = Default(0.0),
3247
+ frequency: Double = Default("440"),
3248
+ beep_factor: Double = Default("0"),
3249
+ sample_rate: Int = Default("44100"),
3250
+ duration: Duration = Default("0"),
3245
3251
  samples_per_frame: String = Default("1024"),
3246
3252
  extra_options: dict[str, Any] | None = None,
3247
3253
  ) -> AudioStream:
@@ -3255,6 +3261,7 @@ def sine(
3255
3261
  sample_rate: set the sample rate (from 1 to INT_MAX) (default 44100)
3256
3262
  duration: set the audio duration (default 0)
3257
3263
  samples_per_frame: set the number of samples per frame (default "1024")
3264
+ extra_options: Extra options for the filter
3258
3265
 
3259
3266
  Returns:
3260
3267
  default: the audio stream
@@ -3283,7 +3290,7 @@ def smptebars(
3283
3290
  *,
3284
3291
  size: Image_size = Default("320x240"),
3285
3292
  rate: Video_rate = Default("25"),
3286
- duration: Duration = Default(-1e-06),
3293
+ duration: Duration = Default("-0.000001"),
3287
3294
  sar: Rational = Default("1/1"),
3288
3295
  extra_options: dict[str, Any] | None = None,
3289
3296
  ) -> VideoStream:
@@ -3296,6 +3303,7 @@ def smptebars(
3296
3303
  rate: set video rate (default "25")
3297
3304
  duration: set video duration (default -0.000001)
3298
3305
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3306
+ extra_options: Extra options for the filter
3299
3307
 
3300
3308
  Returns:
3301
3309
  default: the video stream
@@ -3323,7 +3331,7 @@ def smptehdbars(
3323
3331
  *,
3324
3332
  size: Image_size = Default("320x240"),
3325
3333
  rate: Video_rate = Default("25"),
3326
- duration: Duration = Default(-1e-06),
3334
+ duration: Duration = Default("-0.000001"),
3327
3335
  sar: Rational = Default("1/1"),
3328
3336
  extra_options: dict[str, Any] | None = None,
3329
3337
  ) -> VideoStream:
@@ -3336,6 +3344,7 @@ def smptehdbars(
3336
3344
  rate: set video rate (default "25")
3337
3345
  duration: set video duration (default -0.000001)
3338
3346
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3347
+ extra_options: Extra options for the filter
3339
3348
 
3340
3349
  Returns:
3341
3350
  default: the video stream
@@ -3369,11 +3378,12 @@ def streamselect(
3369
3378
  ) -> FilterNode:
3370
3379
  """
3371
3380
 
3372
- Select video streams
3381
+ Select video streams.
3373
3382
 
3374
3383
  Args:
3375
3384
  inputs: number of input streams (from 2 to INT_MAX) (default 2)
3376
3385
  map: input indexes to remap to outputs
3386
+ extra_options: Extra options for the filter
3377
3387
 
3378
3388
  Returns:
3379
3389
  filter_node: the filter node
@@ -3406,9 +3416,9 @@ def testsrc(
3406
3416
  *,
3407
3417
  size: Image_size = Default("320x240"),
3408
3418
  rate: Video_rate = Default("25"),
3409
- duration: Duration = Default(-1e-06),
3419
+ duration: Duration = Default("-0.000001"),
3410
3420
  sar: Rational = Default("1/1"),
3411
- decimals: Int = Default(0),
3421
+ decimals: Int = Default("0"),
3412
3422
  extra_options: dict[str, Any] | None = None,
3413
3423
  ) -> VideoStream:
3414
3424
  """
@@ -3421,6 +3431,7 @@ def testsrc(
3421
3431
  duration: set video duration (default -0.000001)
3422
3432
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3423
3433
  decimals: set number of decimals to show (from 0 to 17) (default 0)
3434
+ extra_options: Extra options for the filter
3424
3435
 
3425
3436
  Returns:
3426
3437
  default: the video stream
@@ -3449,9 +3460,9 @@ def testsrc2(
3449
3460
  *,
3450
3461
  size: Image_size = Default("320x240"),
3451
3462
  rate: Video_rate = Default("25"),
3452
- duration: Duration = Default(-1e-06),
3463
+ duration: Duration = Default("-0.000001"),
3453
3464
  sar: Rational = Default("1/1"),
3454
- alpha: Int = Default(255),
3465
+ alpha: Int = Default("255"),
3455
3466
  extra_options: dict[str, Any] | None = None,
3456
3467
  ) -> VideoStream:
3457
3468
  """
@@ -3464,6 +3475,7 @@ def testsrc2(
3464
3475
  duration: set video duration (default -0.000001)
3465
3476
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3466
3477
  alpha: set global alpha (opacity) (from 0 to 255) (default 255)
3478
+ extra_options: Extra options for the filter
3467
3479
 
3468
3480
  Returns:
3469
3481
  default: the video stream
@@ -3490,9 +3502,9 @@ def testsrc2(
3490
3502
 
3491
3503
  def unpremultiply(
3492
3504
  *streams: VideoStream,
3493
- planes: Int = Default(15),
3494
- inplace: Boolean = Default(False),
3495
- enable: String = Default(None),
3505
+ planes: Int = Default("15"),
3506
+ inplace: Boolean = Default("false"),
3507
+ timeline_options: FFMpegTimelineOption | None = None,
3496
3508
  extra_options: dict[str, Any] | None = None,
3497
3509
  ) -> VideoStream:
3498
3510
  """
@@ -3502,7 +3514,8 @@ def unpremultiply(
3502
3514
  Args:
3503
3515
  planes: set planes (from 0 to 15) (default 15)
3504
3516
  inplace: enable inplace mode (default false)
3505
- enable: timeline editing
3517
+ timeline_options: Timeline options
3518
+ extra_options: Extra options for the filter
3506
3519
 
3507
3520
  Returns:
3508
3521
  default: the video stream
@@ -3522,9 +3535,9 @@ def unpremultiply(
3522
3535
  {
3523
3536
  "planes": planes,
3524
3537
  "inplace": inplace,
3525
- "enable": enable,
3526
3538
  },
3527
3539
  extra_options,
3540
+ timeline_options,
3528
3541
  ),
3529
3542
  )
3530
3543
  return filter_node.video(0)
@@ -3533,7 +3546,7 @@ def unpremultiply(
3533
3546
  def vstack(
3534
3547
  *streams: VideoStream,
3535
3548
  inputs: Int = Auto("len(streams)"),
3536
- shortest: Boolean = Default(False),
3549
+ shortest: Boolean = Default("false"),
3537
3550
  extra_options: dict[str, Any] | None = None,
3538
3551
  ) -> VideoStream:
3539
3552
  """
@@ -3543,6 +3556,7 @@ def vstack(
3543
3556
  Args:
3544
3557
  inputs: set number of inputs (from 2 to INT_MAX) (default 2)
3545
3558
  shortest: force termination when the shortest input terminates (default false)
3559
+ extra_options: Extra options for the filter
3546
3560
 
3547
3561
  Returns:
3548
3562
  default: the video stream
@@ -3571,19 +3585,20 @@ def vstack(
3571
3585
 
3572
3586
  def vstack_vaapi(
3573
3587
  *streams: VideoStream,
3574
- inputs: Int = Default(2),
3575
- shortest: Boolean = Default(False),
3576
- width: Int = Default(0),
3588
+ inputs: Int = Default("2"),
3589
+ shortest: Boolean = Default("false"),
3590
+ width: Int = Default("0"),
3577
3591
  extra_options: dict[str, Any] | None = None,
3578
3592
  ) -> VideoStream:
3579
3593
  """
3580
3594
 
3581
- "VA-API" vstack
3595
+ "VA-API" vstack.
3582
3596
 
3583
3597
  Args:
3584
3598
  inputs: Set number of inputs (from 2 to 65535) (default 2)
3585
3599
  shortest: Force termination when the shortest input terminates (default false)
3586
3600
  width: Set output width (0 to use the width of input 0) (from 0 to 65535) (default 0)
3601
+ extra_options: Extra options for the filter
3587
3602
 
3588
3603
  Returns:
3589
3604
  default: the video stream
@@ -3614,13 +3629,10 @@ def vstack_vaapi(
3614
3629
  def xmedian(
3615
3630
  *streams: VideoStream,
3616
3631
  inputs: Int = Auto("len(streams)"),
3617
- planes: Int = Default(15),
3618
- percentile: Float = Default(0.5),
3619
- eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
3620
- shortest: Boolean = Default(False),
3621
- repeatlast: Boolean = Default(True),
3622
- ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
3623
- enable: String = Default(None),
3632
+ planes: Int = Default("15"),
3633
+ percentile: Float = Default("0.5"),
3634
+ framesync_options: FFMpegFrameSyncOption | None = None,
3635
+ timeline_options: FFMpegTimelineOption | None = None,
3624
3636
  extra_options: dict[str, Any] | None = None,
3625
3637
  ) -> VideoStream:
3626
3638
  """
@@ -3631,11 +3643,9 @@ def xmedian(
3631
3643
  inputs: set number of inputs (from 3 to 255) (default 3)
3632
3644
  planes: set planes to filter (from 0 to 15) (default 15)
3633
3645
  percentile: set percentile (from 0 to 1) (default 0.5)
3634
- eof_action: Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)
3635
- shortest: force termination when the shortest input terminates (default false)
3636
- repeatlast: extend last frame of secondary streams beyond EOF (default true)
3637
- ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
3638
- enable: timeline editing
3646
+ framesync_options: Framesync options
3647
+ timeline_options: Timeline options
3648
+ extra_options: Extra options for the filter
3639
3649
 
3640
3650
  Returns:
3641
3651
  default: the video stream
@@ -3656,13 +3666,10 @@ def xmedian(
3656
3666
  "inputs": inputs,
3657
3667
  "planes": planes,
3658
3668
  "percentile": percentile,
3659
- "eof_action": eof_action,
3660
- "shortest": shortest,
3661
- "repeatlast": repeatlast,
3662
- "ts_sync_mode": ts_sync_mode,
3663
- "enable": enable,
3664
3669
  },
3665
3670
  extra_options,
3671
+ framesync_options,
3672
+ timeline_options,
3666
3673
  ),
3667
3674
  )
3668
3675
  return filter_node.video(0)
@@ -3673,7 +3680,7 @@ def xstack(
3673
3680
  inputs: Int = Auto("len(streams)"),
3674
3681
  layout: String = Default(None),
3675
3682
  grid: Image_size = Default(None),
3676
- shortest: Boolean = Default(False),
3683
+ shortest: Boolean = Default("false"),
3677
3684
  fill: String = Default("none"),
3678
3685
  extra_options: dict[str, Any] | None = None,
3679
3686
  ) -> VideoStream:
@@ -3687,6 +3694,7 @@ def xstack(
3687
3694
  grid: set fixed size grid layout
3688
3695
  shortest: force termination when the shortest input terminates (default false)
3689
3696
  fill: set the color for unused pixels (default "none")
3697
+ extra_options: Extra options for the filter
3690
3698
 
3691
3699
  Returns:
3692
3700
  default: the video stream
@@ -3718,8 +3726,8 @@ def xstack(
3718
3726
 
3719
3727
  def xstack_vaapi(
3720
3728
  *streams: VideoStream,
3721
- inputs: Int = Default(2),
3722
- shortest: Boolean = Default(False),
3729
+ inputs: Int = Default("2"),
3730
+ shortest: Boolean = Default("false"),
3723
3731
  layout: String = Default(None),
3724
3732
  grid: Image_size = Default(None),
3725
3733
  grid_tile_size: Image_size = Default(None),
@@ -3728,7 +3736,7 @@ def xstack_vaapi(
3728
3736
  ) -> VideoStream:
3729
3737
  """
3730
3738
 
3731
- "VA-API" xstack
3739
+ "VA-API" xstack.
3732
3740
 
3733
3741
  Args:
3734
3742
  inputs: Set number of inputs (from 2 to 65535) (default 2)
@@ -3737,6 +3745,7 @@ def xstack_vaapi(
3737
3745
  grid: set fixed size grid layout
3738
3746
  grid_tile_size: set tile size in grid layout
3739
3747
  fill: Set the color for unused pixels (default "none")
3748
+ extra_options: Extra options for the filter
3740
3749
 
3741
3750
  Returns:
3742
3751
  default: the video stream
@@ -3771,7 +3780,7 @@ def yuvtestsrc(
3771
3780
  *,
3772
3781
  size: Image_size = Default("320x240"),
3773
3782
  rate: Video_rate = Default("25"),
3774
- duration: Duration = Default(-1e-06),
3783
+ duration: Duration = Default("-0.000001"),
3775
3784
  sar: Rational = Default("1/1"),
3776
3785
  extra_options: dict[str, Any] | None = None,
3777
3786
  ) -> VideoStream:
@@ -3784,6 +3793,7 @@ def yuvtestsrc(
3784
3793
  rate: set video rate (default "25")
3785
3794
  duration: set video duration (default -0.000001)
3786
3795
  sar: set video sample aspect ratio (from 0 to INT_MAX) (default 1/1)
3796
+ extra_options: Extra options for the filter
3787
3797
 
3788
3798
  Returns:
3789
3799
  default: the video stream
@@ -3811,24 +3821,24 @@ def zoneplate(
3811
3821
  *,
3812
3822
  size: Image_size = Default("320x240"),
3813
3823
  rate: Video_rate = Default("25"),
3814
- duration: Duration = Default(-1e-06),
3824
+ duration: Duration = Default("-0.000001"),
3815
3825
  sar: Rational = Default("1/1"),
3816
- precision: Int = Default(10),
3817
- xo: Int = Default(0),
3818
- yo: Int = Default(0),
3819
- to: Int = Default(0),
3820
- k0: Int = Default(0),
3821
- kx: Int = Default(0),
3822
- ky: Int = Default(0),
3823
- kt: Int = Default(0),
3824
- kxt: Int = Default(0),
3825
- kyt: Int = Default(0),
3826
- kxy: Int = Default(0),
3827
- kx2: Int = Default(0),
3828
- ky2: Int = Default(0),
3829
- kt2: Int = Default(0),
3830
- ku: Int = Default(0),
3831
- kv: Int = Default(0),
3826
+ precision: Int = Default("10"),
3827
+ xo: Int = Default("0"),
3828
+ yo: Int = Default("0"),
3829
+ to: Int = Default("0"),
3830
+ k0: Int = Default("0"),
3831
+ kx: Int = Default("0"),
3832
+ ky: Int = Default("0"),
3833
+ kt: Int = Default("0"),
3834
+ kxt: Int = Default("0"),
3835
+ kyt: Int = Default("0"),
3836
+ kxy: Int = Default("0"),
3837
+ kx2: Int = Default("0"),
3838
+ ky2: Int = Default("0"),
3839
+ kt2: Int = Default("0"),
3840
+ ku: Int = Default("0"),
3841
+ kv: Int = Default("0"),
3832
3842
  extra_options: dict[str, Any] | None = None,
3833
3843
  ) -> VideoStream:
3834
3844
  """
@@ -3856,6 +3866,7 @@ def zoneplate(
3856
3866
  kt2: set 2-order T-axis phase (from INT_MIN to INT_MAX) (default 0)
3857
3867
  ku: set 0-order U-color phase (from INT_MIN to INT_MAX) (default 0)
3858
3868
  kv: set 0-order V-color phase (from INT_MIN to INT_MAX) (default 0)
3869
+ extra_options: Extra options for the filter
3859
3870
 
3860
3871
  Returns:
3861
3872
  default: the video stream