libdatachannel-py 2025.1.0.dev11__tar.gz → 2025.1.0.dev13__tar.gz

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 (43) hide show
  1. {libdatachannel_py-2025.1.0.dev11/src/libdatachannel_py.egg-info → libdatachannel_py-2025.1.0.dev13}/PKG-INFO +1 -1
  2. libdatachannel_py-2025.1.0.dev13/VERSION +1 -0
  3. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/pyproject.toml +7 -1
  4. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/libdatachannel_ext.cpython-313-darwin.so +0 -0
  5. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/libdatachannel_ext.pyi +15 -15
  6. libdatachannel_py-2025.1.0.dev13/src/libdatachannel/libyuv/__init__.pyi +187 -0
  7. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13/src/libdatachannel_py.egg-info}/PKG-INFO +1 -1
  8. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_libyuv.py +5 -5
  9. libdatachannel_py-2025.1.0.dev11/VERSION +0 -1
  10. libdatachannel_py-2025.1.0.dev11/src/libdatachannel/libyuv/__init__.pyi +0 -345
  11. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/LICENSE +0 -0
  12. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/MANIFEST.in +0 -0
  13. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/README.md +0 -0
  14. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/buildbase.py +0 -0
  15. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/pypath.py +0 -0
  16. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/run.py +0 -0
  17. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/setup.cfg +0 -0
  18. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/setup.py +0 -0
  19. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/__init__.py +0 -0
  20. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/codec/__init__.py +0 -0
  21. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/codec/__init__.pyi +0 -0
  22. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/libyuv/__init__.py +0 -0
  23. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel/py.typed +0 -0
  24. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel_py.egg-info/SOURCES.txt +0 -0
  25. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel_py.egg-info/dependency_links.txt +0 -0
  26. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/src/libdatachannel_py.egg-info/top_level.txt +0 -0
  27. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_audio_codec.py +0 -0
  28. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_candidate.py +0 -0
  29. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_configuration.py +0 -0
  30. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_description.py +0 -0
  31. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_frameinfo.py +0 -0
  32. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_h265nalunit.py +0 -0
  33. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_mediahandler.py +0 -0
  34. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_message.py +0 -0
  35. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_nalunit.py +0 -0
  36. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_packetizationconfig.py +0 -0
  37. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_peerconnection.py +0 -0
  38. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_prop_audio_codec.py +0 -0
  39. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_reliability.py +0 -0
  40. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_rtppacketizer.py +0 -0
  41. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_video_codec.py +0 -0
  42. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_websocket.py +0 -0
  43. {libdatachannel_py-2025.1.0.dev11 → libdatachannel_py-2025.1.0.dev13}/tests/test_websocketserver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: libdatachannel-py
3
- Version: 2025.1.0.dev11
3
+ Version: 2025.1.0.dev13
4
4
  Summary: libdatachannel-py is a Python binding for libdatachannel.
5
5
  Home-page: https://github.com/shiguredo/libdatachannel-py
6
6
  License-Expression: Apache-2.0
@@ -0,0 +1 @@
1
+ 2025.1.0.dev13
@@ -12,7 +12,6 @@ classifiers = [
12
12
  "Programming Language :: Python :: 3.13",
13
13
  ]
14
14
  requires-python = ">=3.13"
15
-
16
15
  [project.urls]
17
16
  Source = "https://github.com/shiguredo/libdatachannel-py"
18
17
  Discord = "https://discord.gg/shiguredo"
@@ -31,6 +30,9 @@ dev = [
31
30
  "numpy>=2.2",
32
31
  "ty",
33
32
  "hypothesis>=6.132.0",
33
+ "mypy",
34
+ "pyrefly",
35
+ "pyright",
34
36
  ]
35
37
 
36
38
  [tool.uv.workspace]
@@ -39,3 +41,7 @@ members = ["examples"]
39
41
  [tool.ruff]
40
42
  target-version = "py313"
41
43
  line-length = 100
44
+
45
+ [tool.pyrefly]
46
+ project-includes = ["**/*"]
47
+ project-excludes = ["**/*venv/**/*"]
@@ -434,12 +434,12 @@ class Description:
434
434
  def __init__(self, id: int, uri: str, direction: Description.Direction = Description.Direction.Unknown) -> None: ...
435
435
 
436
436
  @overload
437
- def __init__(self, description: "std::__1::basic_string_view<char, std::__1::char_traits<char>>") -> None: ...
437
+ def __init__(self, description: str) -> None: ...
438
438
 
439
- def set_description(self, arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> None: ...
439
+ def set_description(self, arg: str, /) -> None: ...
440
440
 
441
441
  @staticmethod
442
- def parse_id(arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> int: ...
442
+ def parse_id(arg: str, /) -> int: ...
443
443
 
444
444
  @property
445
445
  def id(self) -> int: ...
@@ -516,7 +516,7 @@ class Description:
516
516
 
517
517
  def max_message_size(self) -> int | None: ...
518
518
 
519
- def parse_sdp_line(self, arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> None: ...
519
+ def parse_sdp_line(self, arg: str, /) -> None: ...
520
520
 
521
521
  class Media(Description.Entry):
522
522
  @overload
@@ -547,7 +547,7 @@ class Description:
547
547
 
548
548
  def set_bitrate(self, arg: int, /) -> None: ...
549
549
 
550
- def parse_sdp_line(self, arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> None: ...
550
+ def parse_sdp_line(self, arg: str, /) -> None: ...
551
551
 
552
552
  def has_payload_type(self, arg: int, /) -> bool: ...
553
553
 
@@ -572,12 +572,12 @@ class Description:
572
572
  def __init__(self, payload_type: int) -> None: ...
573
573
 
574
574
  @overload
575
- def __init__(self, description: "std::__1::basic_string_view<char, std::__1::char_traits<char>>") -> None: ...
575
+ def __init__(self, description: str) -> None: ...
576
576
 
577
- def set_description(self, arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> None: ...
577
+ def set_description(self, arg: str, /) -> None: ...
578
578
 
579
579
  @staticmethod
580
- def parse_payload_type(arg: "std::__1::basic_string_view<char, std::__1::char_traits<char>>", /) -> int: ...
580
+ def parse_payload_type(arg: str, /) -> int: ...
581
581
 
582
582
  def add_feedback(self, arg: str, /) -> None: ...
583
583
 
@@ -681,7 +681,7 @@ class Description:
681
681
 
682
682
  def has_audio_or_video(self) -> bool: ...
683
683
 
684
- def has_mid(self, mid: "std::__1::basic_string_view<char, std::__1::char_traits<char>>") -> bool: ...
684
+ def has_mid(self, mid: str) -> bool: ...
685
685
 
686
686
  @overload
687
687
  def add_media(self, media: Description.Media) -> int: ...
@@ -780,9 +780,9 @@ class Candidate:
780
780
 
781
781
  def port(self) -> int | None: ...
782
782
 
783
- def __eq__(self, arg: Candidate, /) -> bool: ...
783
+ def __eq__(self, arg: object, /) -> bool: ...
784
784
 
785
- def __ne__(self, arg: Candidate, /) -> bool: ...
785
+ def __ne__(self, arg: object, /) -> bool: ...
786
786
 
787
787
  def __str__(self) -> str: ...
788
788
 
@@ -1350,7 +1350,7 @@ class Channel:
1350
1350
  def send(self, data: bytes | str) -> bool: ...
1351
1351
 
1352
1352
  @overload
1353
- def send(self, data: "std::byte", size: int) -> bool: ...
1353
+ def send(self, data: bytes, size: int) -> bool: ...
1354
1354
 
1355
1355
  def is_open(self) -> bool: ...
1356
1356
 
@@ -1399,7 +1399,7 @@ class DataChannel(Channel):
1399
1399
  def send(self, data: bytes | str) -> bool: ...
1400
1400
 
1401
1401
  @overload
1402
- def send(self, data: "std::byte", size: int) -> bool: ...
1402
+ def send(self, data: bytes, size: int) -> bool: ...
1403
1403
 
1404
1404
  def stream(self) -> int | None: ...
1405
1405
 
@@ -1424,7 +1424,7 @@ class Track(Channel):
1424
1424
  def send(self, data: bytes | str) -> bool: ...
1425
1425
 
1426
1426
  @overload
1427
- def send(self, data: "std::byte", size: int) -> bool: ...
1427
+ def send(self, data: bytes, size: int) -> bool: ...
1428
1428
 
1429
1429
  def mid(self) -> str: ...
1430
1430
 
@@ -1643,7 +1643,7 @@ class WebSocket(Channel):
1643
1643
  def send(self, data: bytes | str) -> bool: ...
1644
1644
 
1645
1645
  @overload
1646
- def send(self, data: "std::byte", size: int) -> bool: ...
1646
+ def send(self, data: bytes, size: int) -> bool: ...
1647
1647
 
1648
1648
  def ready_state(self) -> WebSocket.State: ...
1649
1649
 
@@ -0,0 +1,187 @@
1
+ import enum
2
+
3
+ from numpy.typing import ArrayLike
4
+
5
+
6
+ class FilterMode(enum.Enum):
7
+ kNone = 0
8
+
9
+ kLinear = 1
10
+
11
+ kBilinear = 2
12
+
13
+ kBox = 3
14
+
15
+ class FourCC(enum.Enum):
16
+ kI420 = 808596553
17
+
18
+ kI422 = 842150985
19
+
20
+ kI444 = 875836489
21
+
22
+ kI400 = 808465481
23
+
24
+ kNV21 = 825382478
25
+
26
+ kNV12 = 842094158
27
+
28
+ kYUY2 = 844715353
29
+
30
+ kUYVY = 1498831189
31
+
32
+ kI010 = 808529993
33
+
34
+ kI210 = 808530505
35
+
36
+ kM420 = 808596557
37
+
38
+ kARGB = 1111970369
39
+
40
+ kBGRA = 1095911234
41
+
42
+ kABGR = 1380401729
43
+
44
+ kAR30 = 808669761
45
+
46
+ kAB30 = 808665665
47
+
48
+ kAR64 = 875975233
49
+
50
+ kAB64 = 875971137
51
+
52
+ k24BG = 1195521074
53
+
54
+ kRAW = 544694642
55
+
56
+ kRGBA = 1094862674
57
+
58
+ kRGBP = 1346520914
59
+
60
+ kRGBO = 1329743698
61
+
62
+ kR444 = 875836498
63
+
64
+ kMJPG = 1196444237
65
+
66
+ kYV12 = 842094169
67
+
68
+ kYV16 = 909203033
69
+
70
+ kYV24 = 875714137
71
+
72
+ kYU12 = 842093913
73
+
74
+ kJ420 = 808596554
75
+
76
+ kJ422 = 842150986
77
+
78
+ kJ444 = 875836490
79
+
80
+ kJ400 = 808465482
81
+
82
+ kF420 = 808596550
83
+
84
+ kF422 = 842150982
85
+
86
+ kF444 = 875836486
87
+
88
+ kH420 = 808596552
89
+
90
+ kH422 = 842150984
91
+
92
+ kH444 = 875836488
93
+
94
+ kU420 = 808596565
95
+
96
+ kU422 = 842150997
97
+
98
+ kU444 = 875836501
99
+
100
+ kF010 = 808529990
101
+
102
+ kH010 = 808529992
103
+
104
+ kU010 = 808530005
105
+
106
+ kF210 = 808530502
107
+
108
+ kH210 = 808530504
109
+
110
+ kU210 = 808530517
111
+
112
+ kP010 = 808530000
113
+
114
+ kP210 = 808530512
115
+
116
+ kIYUV = 1448433993
117
+
118
+ kYU16 = 909202777
119
+
120
+ kYU24 = 875713881
121
+
122
+ kYUYV = 1448695129
123
+
124
+ kYUVS = 1937143161
125
+
126
+ kHDYC = 1129923656
127
+
128
+ k2VUY = 2037741106
129
+
130
+ kJPEG = 1195724874
131
+
132
+ kDMB1 = 828534116
133
+
134
+ kBA81 = 825770306
135
+
136
+ kRGB3 = 859981650
137
+
138
+ kBGR3 = 861030210
139
+
140
+ kCM32 = 536870912
141
+
142
+ kCM24 = 402653184
143
+
144
+ kL555 = 892679500
145
+
146
+ kL565 = 892745036
147
+
148
+ k5551 = 825570613
149
+
150
+ kI411 = 825308233
151
+
152
+ kQ420 = 808596561
153
+
154
+ kRGGB = 1111967570
155
+
156
+ kBGGR = 1380403010
157
+
158
+ kGRBG = 1195528775
159
+
160
+ kGBRG = 1196573255
161
+
162
+ kH264 = 875967048
163
+
164
+ kANY = -1
165
+
166
+ class RotationMode(enum.Enum):
167
+ kRotate0 = 0
168
+
169
+ kRotate90 = 90
170
+
171
+ kRotate180 = 180
172
+
173
+ kRotate270 = 270
174
+
175
+ def nv12_scale(src_y: ArrayLike, src_uv: ArrayLike, src_stride_y: int, src_stride_uv: int, src_width: int, src_height: int, dst_y: ArrayLike, dst_uv: ArrayLike, dst_stride_y: int, dst_stride_uv: int, dst_width: int, dst_height: int, filtering: FilterMode) -> int: ...
176
+
177
+ def i420_scale(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, src_width: int, src_height: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, dst_width: int, dst_height: int, filtering: FilterMode) -> int: ...
178
+
179
+ def convert_to_i420(sample: ArrayLike, sample_size: int, dst_y: ArrayLike, dst_stride_y: int, dst_u: ArrayLike, dst_stride_u: int, dst_v: ArrayLike, dst_stride_v: int, crop_x: int, crop_y: int, src_width: int, src_height: int, crop_width: int, crop_height: int, rotation: RotationMode, fourcc: FourCC) -> int: ...
180
+
181
+ def nv12_to_i420(src_y: ArrayLike, src_uv: ArrayLike, src_stride_y: int, src_stride_uv: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, width: int, height: int) -> int: ...
182
+
183
+ def i420_to_nv12(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, dst_y: ArrayLike, dst_uv: ArrayLike, dst_stride_y: int, dst_stride_uv: int, width: int, height: int) -> int: ...
184
+
185
+ def rgb24_to_i420(src_rgb24: ArrayLike, src_stride_rgb24: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, width: int, height: int) -> int: ...
186
+
187
+ def i420_to_rgb24(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, dst_rgb24: ArrayLike, dst_stride_rgb24: int, width: int, height: int) -> int: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: libdatachannel-py
3
- Version: 2025.1.0.dev11
3
+ Version: 2025.1.0.dev13
4
4
  Summary: libdatachannel-py is a Python binding for libdatachannel.
5
5
  Home-page: https://github.com/shiguredo/libdatachannel-py
6
6
  License-Expression: Apache-2.0
@@ -18,7 +18,7 @@ from libdatachannel.libyuv import (
18
18
  def test_libyuv_nv12_scale():
19
19
  src_width, src_height = 640, 480
20
20
  src = VideoFrameBufferNV12.create(src_width, src_height)
21
- # type: ignore しないと型エラーになる
21
+ # ignore しないと型エラーになる
22
22
  # 参考: https://github.com/wjakob/nanobind/pull/442
23
23
  src.y[:, :] = 42 # type: ignore
24
24
 
@@ -37,7 +37,7 @@ def test_libyuv_nv12_scale():
37
37
  dst.stride_uv(),
38
38
  dst.width(),
39
39
  dst.height(),
40
- FilterMode.NONE,
40
+ FilterMode.kNone,
41
41
  )
42
42
 
43
43
  assert r == 0
@@ -68,7 +68,7 @@ def test_libyuv_i420_scale():
68
68
  dst.stride_v(),
69
69
  dst.width(),
70
70
  dst.height(),
71
- FilterMode.NONE,
71
+ FilterMode.kNone,
72
72
  )
73
73
  assert r == 0
74
74
  assert np.all(dst.y == 42)
@@ -93,8 +93,8 @@ def test_libyuv_convert_to_i420():
93
93
  480,
94
94
  640,
95
95
  480,
96
- RotationMode.Rotate0,
97
- FourCC.NV12,
96
+ RotationMode.kRotate0,
97
+ FourCC.kNV12,
98
98
  )
99
99
  assert r == 0
100
100
  assert np.all(dst.y == 42)
@@ -1 +0,0 @@
1
- 2025.1.0.dev11
@@ -1,345 +0,0 @@
1
- import enum
2
-
3
- from numpy.typing import ArrayLike
4
-
5
-
6
- class FilterMode(enum.Enum):
7
- NONE = 0
8
-
9
- Linear = 1
10
-
11
- Bilinear = 2
12
-
13
- Box = 3
14
-
15
- class FourCC(enum.Enum):
16
- I420 = 808596553
17
-
18
- I422 = 842150985
19
-
20
- I444 = 875836489
21
-
22
- I400 = 808465481
23
-
24
- NV21 = 825382478
25
-
26
- NV12 = 842094158
27
-
28
- YUY2 = 844715353
29
-
30
- UYVY = 1498831189
31
-
32
- I010 = 808529993
33
-
34
- I210 = 808530505
35
-
36
- M420 = 808596557
37
-
38
- ARGB = 1111970369
39
-
40
- BGRA = 1095911234
41
-
42
- ABGR = 1380401729
43
-
44
- AR30 = 808669761
45
-
46
- AB30 = 808665665
47
-
48
- AR64 = 875975233
49
-
50
- AB64 = 875971137
51
-
52
- 24BG = 1195521074
53
-
54
- RAW = 544694642
55
-
56
- RGBA = 1094862674
57
-
58
- RGBP = 1346520914
59
-
60
- RGBO = 1329743698
61
-
62
- R444 = 875836498
63
-
64
- MJPG = 1196444237
65
-
66
- YV12 = 842094169
67
-
68
- YV16 = 909203033
69
-
70
- YV24 = 875714137
71
-
72
- YU12 = 842093913
73
-
74
- J420 = 808596554
75
-
76
- J422 = 842150986
77
-
78
- J444 = 875836490
79
-
80
- J400 = 808465482
81
-
82
- F420 = 808596550
83
-
84
- F422 = 842150982
85
-
86
- F444 = 875836486
87
-
88
- H420 = 808596552
89
-
90
- H422 = 842150984
91
-
92
- H444 = 875836488
93
-
94
- U420 = 808596565
95
-
96
- U422 = 842150997
97
-
98
- U444 = 875836501
99
-
100
- F010 = 808529990
101
-
102
- H010 = 808529992
103
-
104
- U010 = 808530005
105
-
106
- F210 = 808530502
107
-
108
- H210 = 808530504
109
-
110
- U210 = 808530517
111
-
112
- P010 = 808530000
113
-
114
- P210 = 808530512
115
-
116
- IYUV = 1448433993
117
-
118
- YU16 = 909202777
119
-
120
- YU24 = 875713881
121
-
122
- YUYV = 1448695129
123
-
124
- YUVS = 1937143161
125
-
126
- HDYC = 1129923656
127
-
128
- 2VUY = 2037741106
129
-
130
- JPEG = 1195724874
131
-
132
- DMB1 = 828534116
133
-
134
- BA81 = 825770306
135
-
136
- RGB3 = 859981650
137
-
138
- BGR3 = 861030210
139
-
140
- CM32 = 536870912
141
-
142
- CM24 = 402653184
143
-
144
- L555 = 892679500
145
-
146
- L565 = 892745036
147
-
148
- 5551 = 825570613
149
-
150
- I411 = 825308233
151
-
152
- Q420 = 808596561
153
-
154
- RGGB = 1111967570
155
-
156
- BGGR = 1380403010
157
-
158
- GRBG = 1195528775
159
-
160
- GBRG = 1196573255
161
-
162
- H264 = 875967048
163
-
164
- ANY = -1
165
-
166
- I420: FourCC = FourCC.I420
167
-
168
- I422: FourCC = FourCC.I422
169
-
170
- I444: FourCC = FourCC.I444
171
-
172
- I400: FourCC = FourCC.I400
173
-
174
- NV21: FourCC = FourCC.NV21
175
-
176
- NV12: FourCC = FourCC.NV12
177
-
178
- YUY2: FourCC = FourCC.YUY2
179
-
180
- UYVY: FourCC = FourCC.UYVY
181
-
182
- I010: FourCC = FourCC.I010
183
-
184
- I210: FourCC = FourCC.I210
185
-
186
- M420: FourCC = FourCC.M420
187
-
188
- ARGB: FourCC = FourCC.ARGB
189
-
190
- BGRA: FourCC = FourCC.BGRA
191
-
192
- ABGR: FourCC = FourCC.ABGR
193
-
194
- AR30: FourCC = FourCC.AR30
195
-
196
- AB30: FourCC = FourCC.AB30
197
-
198
- AR64: FourCC = FourCC.AR64
199
-
200
- AB64: FourCC = FourCC.AB64
201
-
202
- 24BG: FourCC = FourCC.24BG
203
-
204
- RAW: FourCC = FourCC.RAW
205
-
206
- RGBA: FourCC = FourCC.RGBA
207
-
208
- RGBP: FourCC = FourCC.RGBP
209
-
210
- RGBO: FourCC = FourCC.RGBO
211
-
212
- R444: FourCC = FourCC.R444
213
-
214
- MJPG: FourCC = FourCC.MJPG
215
-
216
- YV12: FourCC = FourCC.YV12
217
-
218
- YV16: FourCC = FourCC.YV16
219
-
220
- YV24: FourCC = FourCC.YV24
221
-
222
- YU12: FourCC = FourCC.YU12
223
-
224
- J420: FourCC = FourCC.J420
225
-
226
- J422: FourCC = FourCC.J422
227
-
228
- J444: FourCC = FourCC.J444
229
-
230
- J400: FourCC = FourCC.J400
231
-
232
- F420: FourCC = FourCC.F420
233
-
234
- F422: FourCC = FourCC.F422
235
-
236
- F444: FourCC = FourCC.F444
237
-
238
- H420: FourCC = FourCC.H420
239
-
240
- H422: FourCC = FourCC.H422
241
-
242
- H444: FourCC = FourCC.H444
243
-
244
- U420: FourCC = FourCC.U420
245
-
246
- U422: FourCC = FourCC.U422
247
-
248
- U444: FourCC = FourCC.U444
249
-
250
- F010: FourCC = FourCC.F010
251
-
252
- H010: FourCC = FourCC.H010
253
-
254
- U010: FourCC = FourCC.U010
255
-
256
- F210: FourCC = FourCC.F210
257
-
258
- H210: FourCC = FourCC.H210
259
-
260
- U210: FourCC = FourCC.U210
261
-
262
- P010: FourCC = FourCC.P010
263
-
264
- P210: FourCC = FourCC.P210
265
-
266
- IYUV: FourCC = FourCC.IYUV
267
-
268
- YU16: FourCC = FourCC.YU16
269
-
270
- YU24: FourCC = FourCC.YU24
271
-
272
- YUYV: FourCC = FourCC.YUYV
273
-
274
- YUVS: FourCC = FourCC.YUVS
275
-
276
- HDYC: FourCC = FourCC.HDYC
277
-
278
- 2VUY: FourCC = FourCC.2VUY
279
-
280
- JPEG: FourCC = FourCC.JPEG
281
-
282
- DMB1: FourCC = FourCC.DMB1
283
-
284
- BA81: FourCC = FourCC.BA81
285
-
286
- RGB3: FourCC = FourCC.RGB3
287
-
288
- BGR3: FourCC = FourCC.BGR3
289
-
290
- CM32: FourCC = FourCC.CM32
291
-
292
- CM24: FourCC = FourCC.CM24
293
-
294
- L555: FourCC = FourCC.L555
295
-
296
- L565: FourCC = FourCC.L565
297
-
298
- 5551: FourCC = FourCC.5551
299
-
300
- I411: FourCC = FourCC.I411
301
-
302
- Q420: FourCC = FourCC.Q420
303
-
304
- RGGB: FourCC = FourCC.RGGB
305
-
306
- BGGR: FourCC = FourCC.BGGR
307
-
308
- GRBG: FourCC = FourCC.GRBG
309
-
310
- GBRG: FourCC = FourCC.GBRG
311
-
312
- H264: FourCC = FourCC.H264
313
-
314
- ANY: FourCC = FourCC.ANY
315
-
316
- class RotationMode(enum.Enum):
317
- Rotate0 = 0
318
-
319
- Rotate90 = 90
320
-
321
- Rotate180 = 180
322
-
323
- Rotate270 = 270
324
-
325
- Rotate0: RotationMode = RotationMode.Rotate0
326
-
327
- Rotate90: RotationMode = RotationMode.Rotate90
328
-
329
- Rotate180: RotationMode = RotationMode.Rotate180
330
-
331
- Rotate270: RotationMode = RotationMode.Rotate270
332
-
333
- def nv12_scale(src_y: ArrayLike, src_uv: ArrayLike, src_stride_y: int, src_stride_uv: int, src_width: int, src_height: int, dst_y: ArrayLike, dst_uv: ArrayLike, dst_stride_y: int, dst_stride_uv: int, dst_width: int, dst_height: int, filtering: FilterMode) -> int: ...
334
-
335
- def i420_scale(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, src_width: int, src_height: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, dst_width: int, dst_height: int, filtering: FilterMode) -> int: ...
336
-
337
- def convert_to_i420(sample: ArrayLike, sample_size: int, dst_y: ArrayLike, dst_stride_y: int, dst_u: ArrayLike, dst_stride_u: int, dst_v: ArrayLike, dst_stride_v: int, crop_x: int, crop_y: int, src_width: int, src_height: int, crop_width: int, crop_height: int, rotation: RotationMode, fourcc: FourCC) -> int: ...
338
-
339
- def nv12_to_i420(src_y: ArrayLike, src_uv: ArrayLike, src_stride_y: int, src_stride_uv: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, width: int, height: int) -> int: ...
340
-
341
- def i420_to_nv12(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, dst_y: ArrayLike, dst_uv: ArrayLike, dst_stride_y: int, dst_stride_uv: int, width: int, height: int) -> int: ...
342
-
343
- def rgb24_to_i420(src_rgb24: ArrayLike, src_stride_rgb24: int, dst_y: ArrayLike, dst_u: ArrayLike, dst_v: ArrayLike, dst_stride_y: int, dst_stride_u: int, dst_stride_v: int, width: int, height: int) -> int: ...
344
-
345
- def i420_to_rgb24(src_y: ArrayLike, src_u: ArrayLike, src_v: ArrayLike, src_stride_y: int, src_stride_u: int, src_stride_v: int, dst_rgb24: ArrayLike, dst_stride_rgb24: int, width: int, height: int) -> int: ...