torchcodec 0.7.0__cp312-cp312-win_amd64.whl → 0.8.1__cp312-cp312-win_amd64.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.
Potentially problematic release.
This version of torchcodec might be problematic. Click here for more details.
- torchcodec/_core/AVIOTensorContext.cpp +23 -16
- torchcodec/_core/AVIOTensorContext.h +2 -1
- torchcodec/_core/BetaCudaDeviceInterface.cpp +718 -0
- torchcodec/_core/BetaCudaDeviceInterface.h +193 -0
- torchcodec/_core/CMakeLists.txt +18 -3
- torchcodec/_core/CUDACommon.cpp +330 -0
- torchcodec/_core/CUDACommon.h +51 -0
- torchcodec/_core/Cache.h +6 -20
- torchcodec/_core/CpuDeviceInterface.cpp +195 -108
- torchcodec/_core/CpuDeviceInterface.h +84 -19
- torchcodec/_core/CudaDeviceInterface.cpp +227 -376
- torchcodec/_core/CudaDeviceInterface.h +38 -6
- torchcodec/_core/DeviceInterface.cpp +57 -19
- torchcodec/_core/DeviceInterface.h +97 -16
- torchcodec/_core/Encoder.cpp +346 -9
- torchcodec/_core/Encoder.h +62 -1
- torchcodec/_core/FFMPEGCommon.cpp +190 -3
- torchcodec/_core/FFMPEGCommon.h +27 -1
- torchcodec/_core/FilterGraph.cpp +30 -22
- torchcodec/_core/FilterGraph.h +15 -1
- torchcodec/_core/Frame.cpp +22 -7
- torchcodec/_core/Frame.h +15 -61
- torchcodec/_core/Metadata.h +2 -2
- torchcodec/_core/NVCUVIDRuntimeLoader.cpp +320 -0
- torchcodec/_core/NVCUVIDRuntimeLoader.h +14 -0
- torchcodec/_core/NVDECCache.cpp +60 -0
- torchcodec/_core/NVDECCache.h +102 -0
- torchcodec/_core/SingleStreamDecoder.cpp +196 -201
- torchcodec/_core/SingleStreamDecoder.h +42 -15
- torchcodec/_core/StreamOptions.h +16 -6
- torchcodec/_core/Transform.cpp +87 -0
- torchcodec/_core/Transform.h +84 -0
- torchcodec/_core/__init__.py +4 -0
- torchcodec/_core/custom_ops.cpp +257 -32
- torchcodec/_core/fetch_and_expose_non_gpl_ffmpeg_libs.cmake +61 -1
- torchcodec/_core/nvcuvid_include/cuviddec.h +1374 -0
- torchcodec/_core/nvcuvid_include/nvcuvid.h +610 -0
- torchcodec/_core/ops.py +147 -44
- torchcodec/_core/pybind_ops.cpp +22 -59
- torchcodec/_samplers/video_clip_sampler.py +7 -19
- torchcodec/decoders/__init__.py +1 -0
- torchcodec/decoders/_decoder_utils.py +61 -1
- torchcodec/decoders/_video_decoder.py +46 -20
- torchcodec/libtorchcodec_core4.dll +0 -0
- torchcodec/libtorchcodec_core5.dll +0 -0
- torchcodec/libtorchcodec_core6.dll +0 -0
- torchcodec/libtorchcodec_core7.dll +0 -0
- torchcodec/libtorchcodec_core8.dll +0 -0
- torchcodec/libtorchcodec_custom_ops4.dll +0 -0
- torchcodec/libtorchcodec_custom_ops5.dll +0 -0
- torchcodec/libtorchcodec_custom_ops6.dll +0 -0
- torchcodec/libtorchcodec_custom_ops7.dll +0 -0
- torchcodec/libtorchcodec_custom_ops8.dll +0 -0
- torchcodec/libtorchcodec_pybind_ops4.pyd +0 -0
- torchcodec/libtorchcodec_pybind_ops5.pyd +0 -0
- torchcodec/libtorchcodec_pybind_ops6.pyd +0 -0
- torchcodec/libtorchcodec_pybind_ops7.pyd +0 -0
- torchcodec/libtorchcodec_pybind_ops8.pyd +0 -0
- torchcodec/samplers/_time_based.py +8 -0
- torchcodec/version.py +1 -1
- {torchcodec-0.7.0.dist-info → torchcodec-0.8.1.dist-info}/METADATA +29 -16
- torchcodec-0.8.1.dist-info/RECORD +82 -0
- {torchcodec-0.7.0.dist-info → torchcodec-0.8.1.dist-info}/WHEEL +1 -1
- torchcodec-0.7.0.dist-info/RECORD +0 -67
- {torchcodec-0.7.0.dist-info → torchcodec-0.8.1.dist-info}/licenses/LICENSE +0 -0
- {torchcodec-0.7.0.dist-info → torchcodec-0.8.1.dist-info}/top_level.txt +0 -0
|
@@ -15,6 +15,7 @@ from torch import device as torch_device, Tensor
|
|
|
15
15
|
|
|
16
16
|
from torchcodec import _core as core, Frame, FrameBatch
|
|
17
17
|
from torchcodec.decoders._decoder_utils import (
|
|
18
|
+
_get_cuda_backend,
|
|
18
19
|
create_decoder,
|
|
19
20
|
ERROR_REPORTING_INSTRUCTIONS,
|
|
20
21
|
)
|
|
@@ -55,6 +56,8 @@ class VideoDecoder:
|
|
|
55
56
|
Passing 0 lets FFmpeg decide on the number of threads.
|
|
56
57
|
Default: 1.
|
|
57
58
|
device (str or torch.device, optional): The device to use for decoding. Default: "cpu".
|
|
59
|
+
If you pass a CUDA device, we recommend trying the "beta" CUDA
|
|
60
|
+
backend which is faster! See :func:`~torchcodec.decoders.set_cuda_backend`.
|
|
58
61
|
seek_mode (str, optional): Determines if frame access will be "exact" or
|
|
59
62
|
"approximate". Exact guarantees that requesting frame i will always
|
|
60
63
|
return frame i, but doing so requires an initial :term:`scan` of the
|
|
@@ -63,6 +66,27 @@ class VideoDecoder:
|
|
|
63
66
|
probably is. Default: "exact".
|
|
64
67
|
Read more about this parameter in:
|
|
65
68
|
:ref:`sphx_glr_generated_examples_decoding_approximate_mode.py`
|
|
69
|
+
custom_frame_mappings (str, bytes, or file-like object, optional):
|
|
70
|
+
Mapping of frames to their metadata, typically generated via ffprobe.
|
|
71
|
+
This enables accurate frame seeking without requiring a full video scan.
|
|
72
|
+
Do not set seek_mode when custom_frame_mappings is provided.
|
|
73
|
+
Expected JSON format:
|
|
74
|
+
|
|
75
|
+
.. code-block:: json
|
|
76
|
+
|
|
77
|
+
{
|
|
78
|
+
"frames": [
|
|
79
|
+
{
|
|
80
|
+
"pts": 0,
|
|
81
|
+
"duration": 1001,
|
|
82
|
+
"key_frame": 1
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
Alternative field names "pkt_pts" and "pkt_duration" are also supported.
|
|
88
|
+
Read more about this parameter in:
|
|
89
|
+
:ref:`sphx_glr_generated_examples_decoding_custom_frame_mappings.py`
|
|
66
90
|
|
|
67
91
|
Attributes:
|
|
68
92
|
metadata (VideoStreamMetadata): Metadata of the video stream.
|
|
@@ -80,6 +104,9 @@ class VideoDecoder:
|
|
|
80
104
|
num_ffmpeg_threads: int = 1,
|
|
81
105
|
device: Optional[Union[str, torch_device]] = "cpu",
|
|
82
106
|
seek_mode: Literal["exact", "approximate"] = "exact",
|
|
107
|
+
custom_frame_mappings: Optional[
|
|
108
|
+
Union[str, bytes, io.RawIOBase, io.BufferedReader]
|
|
109
|
+
] = None,
|
|
83
110
|
):
|
|
84
111
|
torch._C._log_api_usage_once("torchcodec.decoders.VideoDecoder")
|
|
85
112
|
allowed_seek_modes = ("exact", "approximate")
|
|
@@ -89,7 +116,6 @@ class VideoDecoder:
|
|
|
89
116
|
f"Supported values are {', '.join(allowed_seek_modes)}."
|
|
90
117
|
)
|
|
91
118
|
|
|
92
|
-
custom_frame_mappings = None
|
|
93
119
|
# Validate seek_mode and custom_frame_mappings are not mismatched
|
|
94
120
|
if custom_frame_mappings is not None and seek_mode == "approximate":
|
|
95
121
|
raise ValueError(
|
|
@@ -120,12 +146,15 @@ class VideoDecoder:
|
|
|
120
146
|
if isinstance(device, torch_device):
|
|
121
147
|
device = str(device)
|
|
122
148
|
|
|
149
|
+
device_variant = _get_cuda_backend()
|
|
150
|
+
|
|
123
151
|
core.add_video_stream(
|
|
124
152
|
self._decoder,
|
|
125
153
|
stream_index=stream_index,
|
|
126
154
|
dimension_order=dimension_order,
|
|
127
155
|
num_threads=num_ffmpeg_threads,
|
|
128
156
|
device=device,
|
|
157
|
+
device_variant=device_variant,
|
|
129
158
|
custom_frame_mappings=custom_frame_mappings_data,
|
|
130
159
|
)
|
|
131
160
|
|
|
@@ -217,24 +246,20 @@ class VideoDecoder:
|
|
|
217
246
|
duration_seconds=duration_seconds.item(),
|
|
218
247
|
)
|
|
219
248
|
|
|
220
|
-
def get_frames_at(self, indices: list[int]) -> FrameBatch:
|
|
249
|
+
def get_frames_at(self, indices: Union[torch.Tensor, list[int]]) -> FrameBatch:
|
|
221
250
|
"""Return frames at the given indices.
|
|
222
251
|
|
|
223
252
|
Args:
|
|
224
|
-
indices (list of int): The indices of the frames to retrieve.
|
|
253
|
+
indices (torch.Tensor or list of int): The indices of the frames to retrieve.
|
|
225
254
|
|
|
226
255
|
Returns:
|
|
227
256
|
FrameBatch: The frames at the given indices.
|
|
228
257
|
"""
|
|
229
|
-
if isinstance(indices, torch.Tensor):
|
|
230
|
-
# TODO we should avoid converting tensors to lists and just let the
|
|
231
|
-
# core ops and C++ code natively accept tensors. See
|
|
232
|
-
# https://github.com/pytorch/torchcodec/issues/879
|
|
233
|
-
indices = indices.to(torch.int).tolist()
|
|
234
258
|
|
|
235
259
|
data, pts_seconds, duration_seconds = core.get_frames_at_indices(
|
|
236
260
|
self._decoder, frame_indices=indices
|
|
237
261
|
)
|
|
262
|
+
|
|
238
263
|
return FrameBatch(
|
|
239
264
|
data=data,
|
|
240
265
|
pts_seconds=pts_seconds,
|
|
@@ -298,20 +323,17 @@ class VideoDecoder:
|
|
|
298
323
|
duration_seconds=duration_seconds.item(),
|
|
299
324
|
)
|
|
300
325
|
|
|
301
|
-
def get_frames_played_at(
|
|
326
|
+
def get_frames_played_at(
|
|
327
|
+
self, seconds: Union[torch.Tensor, list[float]]
|
|
328
|
+
) -> FrameBatch:
|
|
302
329
|
"""Return frames played at the given timestamps in seconds.
|
|
303
330
|
|
|
304
331
|
Args:
|
|
305
|
-
seconds (list of float): The timestamps in seconds when the frames are played.
|
|
332
|
+
seconds (torch.Tensor or list of float): The timestamps in seconds when the frames are played.
|
|
306
333
|
|
|
307
334
|
Returns:
|
|
308
335
|
FrameBatch: The frames that are played at ``seconds``.
|
|
309
336
|
"""
|
|
310
|
-
if isinstance(seconds, torch.Tensor):
|
|
311
|
-
# TODO we should avoid converting tensors to lists and just let the
|
|
312
|
-
# core ops and C++ code natively accept tensors. See
|
|
313
|
-
# https://github.com/pytorch/torchcodec/issues/879
|
|
314
|
-
seconds = seconds.to(torch.float).tolist()
|
|
315
337
|
|
|
316
338
|
data, pts_seconds, duration_seconds = core.get_frames_by_pts(
|
|
317
339
|
self._decoder, timestamps=seconds
|
|
@@ -454,11 +476,15 @@ def _read_custom_frame_mappings(
|
|
|
454
476
|
"Invalid custom frame mappings. The 'pts'/'pkt_pts', 'duration'/'pkt_duration', and 'key_frame' keys are required in the frame metadata."
|
|
455
477
|
)
|
|
456
478
|
|
|
457
|
-
|
|
458
|
-
(
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
479
|
+
all_frames = torch.tensor(
|
|
480
|
+
[int(frame[pts_key]) for frame in input_data["frames"]], dtype=torch.int64
|
|
481
|
+
)
|
|
482
|
+
is_key_frame = torch.tensor(
|
|
483
|
+
[int(frame["key_frame"]) for frame in input_data["frames"]], dtype=torch.bool
|
|
484
|
+
)
|
|
485
|
+
duration = torch.tensor(
|
|
486
|
+
[int(frame[duration_key]) for frame in input_data["frames"]], dtype=torch.int64
|
|
487
|
+
)
|
|
462
488
|
if not (len(all_frames) == len(is_key_frame) == len(duration)):
|
|
463
489
|
raise ValueError("Mismatched lengths in frame index data")
|
|
464
490
|
return all_frames, is_key_frame, duration
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -201,6 +201,14 @@ def _generic_time_based_sampler(
|
|
|
201
201
|
sampling_range_end, # excluded
|
|
202
202
|
seconds_between_clip_starts,
|
|
203
203
|
)
|
|
204
|
+
# As mentioned in the docs, torch.arange may return values
|
|
205
|
+
# equal to or above `end` because of floating precision errors.
|
|
206
|
+
# Here, we manually ensure all values are strictly lower than `sample_range_end`
|
|
207
|
+
if clip_start_seconds[-1] >= sampling_range_end:
|
|
208
|
+
clip_start_seconds = clip_start_seconds[
|
|
209
|
+
clip_start_seconds < sampling_range_end
|
|
210
|
+
]
|
|
211
|
+
|
|
204
212
|
num_clips = len(clip_start_seconds)
|
|
205
213
|
|
|
206
214
|
all_clips_timestamps = _build_all_clips_timestamps(
|
torchcodec/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Note that this file is generated during install.
|
|
2
|
-
__version__ = '0.
|
|
2
|
+
__version__ = '0.8.1'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: torchcodec
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.1
|
|
4
4
|
Summary: A video decoder for PyTorch
|
|
5
5
|
Author-email: PyTorch Team <packages@pytorch.org>
|
|
6
6
|
Project-URL: GitHub, https://github.com/pytorch/torchcodec
|
|
@@ -123,8 +123,8 @@ ffmpeg -f lavfi -i \
|
|
|
123
123
|
`torch` and `torchcodec`.
|
|
124
124
|
|
|
125
125
|
2. Install FFmpeg, if it's not already installed. Linux distributions usually
|
|
126
|
-
come with FFmpeg pre-installed. TorchCodec supports
|
|
127
|
-
in [4, 7].
|
|
126
|
+
come with FFmpeg pre-installed. TorchCodec supports major FFmpeg versions
|
|
127
|
+
in [4, 7] on all platforms, and FFmpeg version 8 is supported on Mac and Linux.
|
|
128
128
|
|
|
129
129
|
If FFmpeg is not already installed, or you need a more recent version, an
|
|
130
130
|
easy way to install it is to use `conda`:
|
|
@@ -147,6 +147,8 @@ The following table indicates the compatibility between versions of
|
|
|
147
147
|
| `torchcodec` | `torch` | Python |
|
|
148
148
|
| ------------------ | ------------------ | ------------------- |
|
|
149
149
|
| `main` / `nightly` | `main` / `nightly` | `>=3.10`, `<=3.13` |
|
|
150
|
+
| `0.8` | `2.9` | `>=3.10`, `<=3.13` |
|
|
151
|
+
| `0.7` | `2.8` | `>=3.9`, `<=3.13` |
|
|
150
152
|
| `0.6` | `2.8` | `>=3.9`, `<=3.13` |
|
|
151
153
|
| `0.5` | `2.7` | `>=3.9`, `<=3.13` |
|
|
152
154
|
| `0.4` | `2.7` | `>=3.9`, `<=3.13` |
|
|
@@ -161,13 +163,9 @@ First, make sure you have a GPU that has NVDEC hardware that can decode the
|
|
|
161
163
|
format you want. Refer to Nvidia's GPU support matrix for more details
|
|
162
164
|
[here](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new).
|
|
163
165
|
|
|
164
|
-
1. Install
|
|
165
|
-
[
|
|
166
|
-
|
|
167
|
-
the CUDA Toolkit.
|
|
168
|
-
|
|
169
|
-
2. Install or compile FFmpeg with NVDEC support.
|
|
170
|
-
TorchCodec with CUDA should work with FFmpeg versions in [4, 7].
|
|
166
|
+
1. Install FFmpeg with NVDEC support.
|
|
167
|
+
TorchCodec with CUDA should work with FFmpeg versions in [4, 7] on all platforms,
|
|
168
|
+
and FFmpeg version 8 is supported on Linux.
|
|
171
169
|
|
|
172
170
|
If FFmpeg is not already installed, or you need a more recent version, an
|
|
173
171
|
easy way to install it is to use `conda`:
|
|
@@ -178,10 +176,6 @@ format you want. Refer to Nvidia's GPU support matrix for more details
|
|
|
178
176
|
conda install "ffmpeg<8" -c conda-forge
|
|
179
177
|
```
|
|
180
178
|
|
|
181
|
-
If you are building FFmpeg from source you can follow Nvidia's guide to
|
|
182
|
-
configuring and installing FFmpeg with NVDEC support
|
|
183
|
-
[here](https://docs.nvidia.com/video-technologies/video-codec-sdk/12.0/ffmpeg-with-nvidia-gpu/index.html).
|
|
184
|
-
|
|
185
179
|
After installing FFmpeg make sure it has NVDEC support when you list the supported
|
|
186
180
|
decoders:
|
|
187
181
|
|
|
@@ -197,8 +191,18 @@ format you want. Refer to Nvidia's GPU support matrix for more details
|
|
|
197
191
|
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i test/resources/nasa_13013.mp4 -f null -
|
|
198
192
|
```
|
|
199
193
|
|
|
200
|
-
|
|
201
|
-
|
|
194
|
+
#### Linux
|
|
195
|
+
|
|
196
|
+
2. Install Pytorch corresponding to your CUDA Toolkit using the
|
|
197
|
+
[official instructions](https://pytorch.org/get-started/locally/). You'll
|
|
198
|
+
need the `libnpp` and `libnvrtc` CUDA libraries, which are usually part of
|
|
199
|
+
the CUDA Toolkit.
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
3. Install TorchCodec
|
|
203
|
+
|
|
204
|
+
Pass in an `--index-url` parameter that corresponds to your CUDA Toolkit
|
|
205
|
+
version, for example:
|
|
202
206
|
|
|
203
207
|
```bash
|
|
204
208
|
# This corresponds to CUDA Toolkit version 12.6. It should be the same one
|
|
@@ -209,6 +213,15 @@ format you want. Refer to Nvidia's GPU support matrix for more details
|
|
|
209
213
|
Note that without passing in the `--index-url` parameter, `pip` installs
|
|
210
214
|
the CPU-only version of TorchCodec.
|
|
211
215
|
|
|
216
|
+
#### Windows
|
|
217
|
+
|
|
218
|
+
2. On Windows (experimental support), you'll need to rely on `conda` to install
|
|
219
|
+
both pytorch and TorchCodec:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
conda install -c conda-forge "torchcodec=*=*cuda*"
|
|
223
|
+
```
|
|
224
|
+
|
|
212
225
|
## Benchmark Results
|
|
213
226
|
|
|
214
227
|
The following was generated by running [our benchmark script](./benchmarks/decoders/generate_readme_data.py) on a lightly loaded 22-core machine with an Nvidia A100 with
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
torchcodec/__init__.py,sha256=F9OpGp7psa4OKvSqaIsCL1FPGtBgqNyAd5Jn0_qUn9s,595
|
|
2
|
+
torchcodec/_frame.py,sha256=_LIIorsNn0nbcInGC9Mwh3Dwc3AuPDhxK4YIBFsfOww,5350
|
|
3
|
+
torchcodec/_internally_replaced_utils.py,sha256=5uYbY1l23FcfWSmLuwZb7j8mWXtMTTp--6sl9LQH28E,2422
|
|
4
|
+
torchcodec/libtorchcodec_core4.dll,sha256=PlG-uqv3lhgFbUp_rl923hpnOPw3xFIAg4QZ-UqxEMg,349184
|
|
5
|
+
torchcodec/libtorchcodec_core5.dll,sha256=v58cP03p8sPrA6i4gVnSPRWFGpkuh5e12eKqfeVknGE,349696
|
|
6
|
+
torchcodec/libtorchcodec_core6.dll,sha256=awpd45k3s2syOgWTS3o2Pkmp5wpAmCTx2eyZFSAXcFE,349696
|
|
7
|
+
torchcodec/libtorchcodec_core7.dll,sha256=wU_brBHv9PdTSK2wXNNkmWgR5rm3CamkYuua01X_zrk,349696
|
|
8
|
+
torchcodec/libtorchcodec_core8.dll,sha256=dMKOdQDhTVjbrnOkDXPVdVH-s2u_3MkVvI5--n2D8OE,350208
|
|
9
|
+
torchcodec/libtorchcodec_custom_ops4.dll,sha256=_2eWv1Bj902yjmJ8CT5J3PoFFtPyTKH4NJmRtIR5isY,623616
|
|
10
|
+
torchcodec/libtorchcodec_custom_ops5.dll,sha256=xDekrrccA03bZjXvitC8RzA69rOgrdIwrcF_8-ntySE,623616
|
|
11
|
+
torchcodec/libtorchcodec_custom_ops6.dll,sha256=X4jnc5Xi05e-CYfOymakZXRBsohMsUwixQap71KcflY,623616
|
|
12
|
+
torchcodec/libtorchcodec_custom_ops7.dll,sha256=cMZPXjRZIFv93t81_g7MCALGaY1tDmgDEpgr8So9soQ,623616
|
|
13
|
+
torchcodec/libtorchcodec_custom_ops8.dll,sha256=YdvcnbeExtck2TOyu57a3Ndy1SVyBMPq2LBmlQLJV3A,623616
|
|
14
|
+
torchcodec/libtorchcodec_pybind_ops4.pyd,sha256=Phqe4pWC66D3pSnjssMyUn6QEgwroQRiEkTDWHWA1WY,207872
|
|
15
|
+
torchcodec/libtorchcodec_pybind_ops5.pyd,sha256=7YhNzptzNg7wVwRXfZHcfr1MrtHDhYfGX2Ux5l_6cio,207872
|
|
16
|
+
torchcodec/libtorchcodec_pybind_ops6.pyd,sha256=my97qT57PC9tXBGifNNJl1ByB7S5eXmue3pIA0SnEzE,207872
|
|
17
|
+
torchcodec/libtorchcodec_pybind_ops7.pyd,sha256=3HKERJ9LM7JrNbeMXXddKlycYNss3DGnndWSR0dVguo,207872
|
|
18
|
+
torchcodec/libtorchcodec_pybind_ops8.pyd,sha256=QPwFNTcjjZxZ8GxZU5FzWtWkH6zWSax4T97Pz0sA9qU,207872
|
|
19
|
+
torchcodec/version.py,sha256=LmZD0tBGznDm3FOv2sw71abX1JHFUljgfEe0r-NZeV0,75
|
|
20
|
+
torchcodec/_core/AVIOContextHolder.cpp,sha256=ucOD1bGORgSzZfL5TxJtUVH2GAtXGVDylzWpvbJ2qJY,1628
|
|
21
|
+
torchcodec/_core/AVIOContextHolder.h,sha256=iYRap1vDdvK_4wylu3Ds9Dkn1k_vAdkbVJDlVni9uNY,2697
|
|
22
|
+
torchcodec/_core/AVIOFileLikeContext.cpp,sha256=bCMpEXhQPLWULWJRIPpNqzlio2eLE_EI7UoPuUgw70g,3450
|
|
23
|
+
torchcodec/_core/AVIOFileLikeContext.h,sha256=oJM9q9X3i1leplaBsU1vMW0gMt1a-xANHhgk5FID3zA,2130
|
|
24
|
+
torchcodec/_core/AVIOTensorContext.cpp,sha256=jkfrlaOYqEXyQzUL-49N9xGZvyvlxBne53hKwkM2eYQ,4339
|
|
25
|
+
torchcodec/_core/AVIOTensorContext.h,sha256=Z6CrXeWvaAtzPqiv4XZ1f-Xo_SqzxZuu-EArfCZ0Muc,1130
|
|
26
|
+
torchcodec/_core/BetaCudaDeviceInterface.cpp,sha256=kDv-8WtSERT3D2xSRmZ0b_u9c-t8SNQx6acG2yCfWww,27433
|
|
27
|
+
torchcodec/_core/BetaCudaDeviceInterface.h,sha256=MhsCyLqbsD7ktI8ynKu2F99dZoxbRbsS_1vVIoFgIjI,8291
|
|
28
|
+
torchcodec/_core/CMakeLists.txt,sha256=QD40ucnyiGXmcudL7CM3JzjdIf-1kayQt0p6-f0CGnE,11241
|
|
29
|
+
torchcodec/_core/CUDACommon.cpp,sha256=zwU1EWMIJhML4HJdbXupgr52aru5b7Cvb4Y4oROev74,13669
|
|
30
|
+
torchcodec/_core/CUDACommon.h,sha256=CuKWQU99I2mFxQoWryRG_WJI0yOv3zCM9m2dZ9jtmxk,1601
|
|
31
|
+
torchcodec/_core/Cache.h,sha256=5H85W_X_dfcacjDFjqgB9TyEbVqJL5fsLI57dPGpBdg,4342
|
|
32
|
+
torchcodec/_core/CpuDeviceInterface.cpp,sha256=HdjezZ-2_DWYtCJyfwWSok2-QsGyMQN0TAKNKt6lYDU,13496
|
|
33
|
+
torchcodec/_core/CpuDeviceInterface.h,sha256=ODqIXddW5ynAl4PL_Q0-vHE-BBNcAIrw4ZzNei3Qkqw,5128
|
|
34
|
+
torchcodec/_core/CudaDeviceInterface.cpp,sha256=sQJrCynbO6KXQGhnz_S-dCIfi9J_xRpcQDEnBNfXJJY,14014
|
|
35
|
+
torchcodec/_core/CudaDeviceInterface.h,sha256=6bUMuSpu1nQwsVpYrihIapxhMSWyJ05wbt5gA8n6TnE,2326
|
|
36
|
+
torchcodec/_core/DeviceInterface.cpp,sha256=6Is9D-K8G5qQUJnZPIuYF4Tynn4TltSRTKi8uxHGfpg,3335
|
|
37
|
+
torchcodec/_core/DeviceInterface.h,sha256=oSHigqvKz_9Ld9RqncsUt9JZMDT7ThZXf83m06PWOqE,5081
|
|
38
|
+
torchcodec/_core/Encoder.cpp,sha256=W_HfIOR-8Op5mw3FiqICbxayXe6-0ytz1aQp9wNupYU,30155
|
|
39
|
+
torchcodec/_core/Encoder.h,sha256=xC_kCQe-ryamhOOREwVUzwhKXqcK_9KfxhahmZWrzdI,8237
|
|
40
|
+
torchcodec/_core/FFMPEGCommon.cpp,sha256=MLFTShI9M51l6NlZzzLYv2mfMjW_7lVcQC0b8EScX38,19668
|
|
41
|
+
torchcodec/_core/FFMPEGCommon.h,sha256=Qbpl3JhXUQM6yd3uRHkeQlPDQXJfVPKcLyvjiP57gvM,8594
|
|
42
|
+
torchcodec/_core/FilterGraph.cpp,sha256=zr0v_WkwbzvBBfdTqAFTumQlX5sM7TGPAeM9AjUcyXc,5192
|
|
43
|
+
torchcodec/_core/FilterGraph.h,sha256=l8FfApNcRwN-cl-LepfXvK6DqLNCij_p9BfwhKT-l_Q,1693
|
|
44
|
+
torchcodec/_core/Frame.cpp,sha256=k2thv-jm9rjUmCmlDSEi18GI5OA9-crWXxQKIQdO380,1800
|
|
45
|
+
torchcodec/_core/Frame.h,sha256=qjpUb6d65oRwbGsAncTb6ROaNL5WqI8rY7JAj3YP7wQ,2309
|
|
46
|
+
torchcodec/_core/Metadata.h,sha256=cUTRJAgwUyXH5JjvCRl9tB0na7_2kJvydfkAKT4QZN8,2580
|
|
47
|
+
torchcodec/_core/NVCUVIDRuntimeLoader.cpp,sha256=wbHzp3qZCiQfqtitKvkAyzc-cM__74trmXvFG_A62O4,12734
|
|
48
|
+
torchcodec/_core/NVCUVIDRuntimeLoader.h,sha256=_CV2W0-g0usJeRZHbw27IqJ8uG9nDAt26u2gE9CcSlM,378
|
|
49
|
+
torchcodec/_core/NVDECCache.cpp,sha256=zyhHF4H5DLdQZdnu4SC_kTQ57Hb-WG8XVd9QO__vK9Y,1482
|
|
50
|
+
torchcodec/_core/NVDECCache.h,sha256=NPWsHu-XO6gCN8KRu4iV67e8TJEMZRZtmBHIeWC7FU8,3212
|
|
51
|
+
torchcodec/_core/SingleStreamDecoder.cpp,sha256=udIUNtqNWe9h57B_VoEOCeQHztOLMfx2YClrCcIqdfk,67012
|
|
52
|
+
torchcodec/_core/SingleStreamDecoder.h,sha256=yhS6wkWyYvWdR0l-ep96ThTdnM4uy26P107DeYNUwvg,16804
|
|
53
|
+
torchcodec/_core/StreamOptions.h,sha256=sBvoczOYKMpZzO9x4uNWXC6186yKD59w_QS0klbkF2s,1943
|
|
54
|
+
torchcodec/_core/Transform.cpp,sha256=KYKpB1XpZOwy6cy4TCG9i0UszU_bS3CR42LP6rZ_hi4,2682
|
|
55
|
+
torchcodec/_core/Transform.h,sha256=oM-e8E5grzEfdCK8UWYJ8pEXCpwuE_rcYdgG7rGPtLM,2762
|
|
56
|
+
torchcodec/_core/ValidationUtils.cpp,sha256=PkBTLv_38eYG9ZUVbGijHSug3YewtD2FNiftfZ3q8S8,994
|
|
57
|
+
torchcodec/_core/ValidationUtils.h,sha256=XWSUL441nPNYRGCnnpul0iuWtUNgZXC_fcsxeb-oB6E,579
|
|
58
|
+
torchcodec/_core/__init__.py,sha256=R54c11OAZlputhXhWsDxBD6dsp0bko38a94_a6VgR68,1185
|
|
59
|
+
torchcodec/_core/_metadata.py,sha256=LWlCQmJwJ66TjK_4bwtMARzSDVlid62dpsOVpDHk8NQ,13117
|
|
60
|
+
torchcodec/_core/custom_ops.cpp,sha256=Bc1gPQesEuSeM2qfhZR5IYGGSgyfExJzPDMqU8PcOsE,38476
|
|
61
|
+
torchcodec/_core/fetch_and_expose_non_gpl_ffmpeg_libs.cmake,sha256=q6KCuRVW3R1zZls-lIFAgATntCnKspc9pbfLbifZBvU,8324
|
|
62
|
+
torchcodec/_core/ops.py,sha256=vvdwQ3yZWT9Gu-ytT0XbETpCP5W8iFYxiZg-q2aFnmc,19615
|
|
63
|
+
torchcodec/_core/pybind_ops.cpp,sha256=RyDIZOFPjFxONg1MsO1tyn8Mp4N-J6R-td8-XCIWpmY,2066
|
|
64
|
+
torchcodec/_core/nvcuvid_include/cuviddec.h,sha256=tSf1ap09onfbt6bZ5mkib6pBMc-MfviZW5RxeI8_-Fk,63992
|
|
65
|
+
torchcodec/_core/nvcuvid_include/nvcuvid.h,sha256=Kw7TUxeelTXP5PTJbR8Gjo_B1h-rjI1BiWknoMVebGE,29342
|
|
66
|
+
torchcodec/_samplers/__init__.py,sha256=qWg69NiVSnMcYi68RTVFGvvp9bh1jkNha5u7q3VMRLw,258
|
|
67
|
+
torchcodec/_samplers/video_clip_sampler.py,sha256=1tyYp75oW7g_JZWbKT08viqMv2wn8RKZBG8v1YOu0P8,18172
|
|
68
|
+
torchcodec/decoders/__init__.py,sha256=nR-ewJrecOi2C-eiB2i_vuoMPY9IhbHLyo1A6sq2Ww0,468
|
|
69
|
+
torchcodec/decoders/_audio_decoder.py,sha256=dWbtH7OLIgcbiFQIvP9qpATvIC7XeS67P9uGM4dmsRE,7580
|
|
70
|
+
torchcodec/decoders/_decoder_utils.py,sha256=lV9_S3k7pp-Se7m_dqqFZzxPr-a4zOsUdwVDXh7buj4,4377
|
|
71
|
+
torchcodec/decoders/_video_decoder.py,sha256=2bvazig_zeXFC9jW7W37oQlGnUzGdPcZJdGudDIxitA,19880
|
|
72
|
+
torchcodec/encoders/__init__.py,sha256=Jw7dTzlTbzTaD_ZMrgSxUWEMs7Pn0cyxKm-_beuBIGo,50
|
|
73
|
+
torchcodec/encoders/_audio_encoder.py,sha256=VMZs6VTQDIMcsBxWtQEUpwq_ruILrrvNVktkswajaiM,6312
|
|
74
|
+
torchcodec/samplers/__init__.py,sha256=pijGrxa71UjRYHh1sRqLzwpsVXYAmHe24kMbC-rZW_M,159
|
|
75
|
+
torchcodec/samplers/_common.py,sha256=okgK1nVKA6mE9Li1Jex1GbzN7m26S3LtaREeF1AX-dA,2823
|
|
76
|
+
torchcodec/samplers/_index_based.py,sha256=8iwlYZrqTdP7CnnBbwd3PsJhQNkF-YHH802AHAEoG-g,11695
|
|
77
|
+
torchcodec/samplers/_time_based.py,sha256=wjFNo0gkgBKIslGWGYgUWDwGVJBg9L7EiM32fA3kCOc,15068
|
|
78
|
+
torchcodec-0.8.1.dist-info/licenses/LICENSE,sha256=ry9-8rOEo-Fe1s7VhuGoMWcBx72CjMauQWTw26jlrI8,1502
|
|
79
|
+
torchcodec-0.8.1.dist-info/METADATA,sha256=yEPtv8EtW6PvwsHFjYsRmnZDH7rC9WGBx3WyJLknUWU,9914
|
|
80
|
+
torchcodec-0.8.1.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
|
|
81
|
+
torchcodec-0.8.1.dist-info/top_level.txt,sha256=S1IZq2_jNQE_RDGwxNunVF8S1RCMXmWdAAQjLXBdu2g,21
|
|
82
|
+
torchcodec-0.8.1.dist-info/RECORD,,
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
torchcodec/__init__.py,sha256=F9OpGp7psa4OKvSqaIsCL1FPGtBgqNyAd5Jn0_qUn9s,595
|
|
2
|
-
torchcodec/_frame.py,sha256=_LIIorsNn0nbcInGC9Mwh3Dwc3AuPDhxK4YIBFsfOww,5350
|
|
3
|
-
torchcodec/_internally_replaced_utils.py,sha256=5uYbY1l23FcfWSmLuwZb7j8mWXtMTTp--6sl9LQH28E,2422
|
|
4
|
-
torchcodec/libtorchcodec_core4.dll,sha256=3WMljSowSVthe01F5waFwZ8deTyjFM62NoEgTeE8qdM,310784
|
|
5
|
-
torchcodec/libtorchcodec_core5.dll,sha256=1EUPhfya2VEPZetvjw5E6opWXrYTKCD8jfjAML89OsQ,310784
|
|
6
|
-
torchcodec/libtorchcodec_core6.dll,sha256=KkOb6qRWnXjIrK6nLh4DmRlkZwLydUFgeHqQ2Tgtf7M,310784
|
|
7
|
-
torchcodec/libtorchcodec_core7.dll,sha256=FzPxBacElNxP6bE1iCs-KX0UNqKhw5FaIVG1PXdPQOI,310784
|
|
8
|
-
torchcodec/libtorchcodec_custom_ops4.dll,sha256=JgXxvyqp2wKDLume_GhXwDfKojJ5k8oyBmAos5ip1mA,564736
|
|
9
|
-
torchcodec/libtorchcodec_custom_ops5.dll,sha256=bXpwmZV4hnCkQzBt5NAeTTQDfIS4CYxYggT806uCR4Q,564736
|
|
10
|
-
torchcodec/libtorchcodec_custom_ops6.dll,sha256=W7j9w6vdTLwkWDW9o5trtWfoh_Ie8Oo4aIkQ87Wl8E8,564736
|
|
11
|
-
torchcodec/libtorchcodec_custom_ops7.dll,sha256=1jkxhUPzbKYEOfaxUmrWLFx725YYgjeWNnRei94eS4E,564736
|
|
12
|
-
torchcodec/libtorchcodec_pybind_ops4.pyd,sha256=m9sIk5B8FH_6bJ0okPD3Uxglf3kjOEs2wL28ufuA2C8,204800
|
|
13
|
-
torchcodec/libtorchcodec_pybind_ops5.pyd,sha256=3Jra5yAZQyBDDoI7k_lwc2ic6CCQ2T_X2c6jPyWjecc,204800
|
|
14
|
-
torchcodec/libtorchcodec_pybind_ops6.pyd,sha256=oIs5KA5iKUTTcgClnezr3nfyPvdMBV8zb2OmklPcVu0,204800
|
|
15
|
-
torchcodec/libtorchcodec_pybind_ops7.pyd,sha256=QQWZUF-JFuA_QY0Hy3MAyh5VeFo_Xf5obeVDEpeHbxE,204800
|
|
16
|
-
torchcodec/version.py,sha256=vUzeNMn0u4ZIrdugClyruOvja4DvMzg12beg1CQBNpI,75
|
|
17
|
-
torchcodec/_core/AVIOContextHolder.cpp,sha256=ucOD1bGORgSzZfL5TxJtUVH2GAtXGVDylzWpvbJ2qJY,1628
|
|
18
|
-
torchcodec/_core/AVIOContextHolder.h,sha256=iYRap1vDdvK_4wylu3Ds9Dkn1k_vAdkbVJDlVni9uNY,2697
|
|
19
|
-
torchcodec/_core/AVIOFileLikeContext.cpp,sha256=bCMpEXhQPLWULWJRIPpNqzlio2eLE_EI7UoPuUgw70g,3450
|
|
20
|
-
torchcodec/_core/AVIOFileLikeContext.h,sha256=oJM9q9X3i1leplaBsU1vMW0gMt1a-xANHhgk5FID3zA,2130
|
|
21
|
-
torchcodec/_core/AVIOTensorContext.cpp,sha256=bNE33CeYuTsXbaZRo0Izs1pLJOQlYPtlX_ofgeBH9hM,4018
|
|
22
|
-
torchcodec/_core/AVIOTensorContext.h,sha256=kYO93vn1hVINRHRoP2BWzEKUoPl1WeI62cgz5y0T6OA,1106
|
|
23
|
-
torchcodec/_core/CMakeLists.txt,sha256=BOXfMdQxmo0WXIgFCXFYCnmYvrN7kYg2unGpAQvT7z0,10522
|
|
24
|
-
torchcodec/_core/Cache.h,sha256=TG3kE1i86edBR9LXsEl4nToMOOi8wPJXFJYkTbBiJdk,5210
|
|
25
|
-
torchcodec/_core/CpuDeviceInterface.cpp,sha256=I6aOFFaO_4hQc7EhjLAGQRWVyESUwc-J1armWlP11AU,10404
|
|
26
|
-
torchcodec/_core/CpuDeviceInterface.h,sha256=9GVKS5D7Zz7ijJKzzHFwBJAi4h-VZFeHBkVa1miPlGM,2149
|
|
27
|
-
torchcodec/_core/CudaDeviceInterface.cpp,sha256=mQvEeMI4EEzh0jDhMrEcKhUE2WLCpWGSVqZVH9awl4E,21782
|
|
28
|
-
torchcodec/_core/CudaDeviceInterface.h,sha256=jtUC8la5pbBPnCoy6koOOVR9BDdWWQiPfb00bFbxQW0,1064
|
|
29
|
-
torchcodec/_core/DeviceInterface.cpp,sha256=9tk2i_gwyxMWloQRB79qFaqbmntifU1en1Q-w9ltX3E,2310
|
|
30
|
-
torchcodec/_core/DeviceInterface.h,sha256=6IEa_lO3f5VW8i4gAZWn4Jm3_TggqqzNQA3ha3sxrDU,2078
|
|
31
|
-
torchcodec/_core/Encoder.cpp,sha256=VeWPOzzaD5Zlso1G7hc8AlqlS3khRsRoATgWPBElSQA,18555
|
|
32
|
-
torchcodec/_core/Encoder.h,sha256=Sd0Oz48THSzJfS3xetglB4fKjuqdOXWqvzI3h1U0HKI,6494
|
|
33
|
-
torchcodec/_core/FFMPEGCommon.cpp,sha256=W0ZLP-JjWs25fmAY1lTW64nfcOZvMqZ9LkUvGOXBv84,13526
|
|
34
|
-
torchcodec/_core/FFMPEGCommon.h,sha256=6jyWfUmz9jA9ysqehLdKLp5p5sXAtWOuNlafI9EFXqI,7525
|
|
35
|
-
torchcodec/_core/FilterGraph.cpp,sha256=khohAN1w4oWFlYsQTAqgBDtiwf6ygrI36jtdKACjue8,4857
|
|
36
|
-
torchcodec/_core/FilterGraph.h,sha256=BIqHSpjyM99MtnULHh79HRuFgc8cHXouLWcioyknaI0,1223
|
|
37
|
-
torchcodec/_core/Frame.cpp,sha256=xuPRBVL6yTAQqls-3xZ-YzjQXR0Z67Vnq3EQ-9okGF4,1130
|
|
38
|
-
torchcodec/_core/Frame.h,sha256=TKlYFdObFBO0YK5sWs1KziovDwgnCaQixm71qB0MpEg,5022
|
|
39
|
-
torchcodec/_core/Metadata.h,sha256=SFNyD4ey2rHmxbrjebHa6PUA-BoiytYrgi5nafNWlyI,2588
|
|
40
|
-
torchcodec/_core/SingleStreamDecoder.cpp,sha256=BqSXEy0_LECdtegKFa-W8Qz_CnavSUOt9en-pl8C1eQ,66958
|
|
41
|
-
torchcodec/_core/SingleStreamDecoder.h,sha256=Jn0i8mKppGd0y99e6Am2k5OeN2iqaWJD6-BvvEb-ub0,15594
|
|
42
|
-
torchcodec/_core/StreamOptions.h,sha256=Xo0TTIQZy5bk5UBZ3NLQeCxoOiDLJGm-BM2NiU_CMeY,1638
|
|
43
|
-
torchcodec/_core/ValidationUtils.cpp,sha256=PkBTLv_38eYG9ZUVbGijHSug3YewtD2FNiftfZ3q8S8,994
|
|
44
|
-
torchcodec/_core/ValidationUtils.h,sha256=XWSUL441nPNYRGCnnpul0iuWtUNgZXC_fcsxeb-oB6E,579
|
|
45
|
-
torchcodec/_core/__init__.py,sha256=pMKoJaSVKfOcUBM6UezF_GN0q2gUTaxQkDtFElDM_Qk,1070
|
|
46
|
-
torchcodec/_core/_metadata.py,sha256=LWlCQmJwJ66TjK_4bwtMARzSDVlid62dpsOVpDHk8NQ,13117
|
|
47
|
-
torchcodec/_core/custom_ops.cpp,sha256=4TpEaaVChJdbsyQN-hzCvsz8wr3o09VgYkwv2ZKO2ww,30231
|
|
48
|
-
torchcodec/_core/fetch_and_expose_non_gpl_ffmpeg_libs.cmake,sha256=rrXg44VfrlOJBnHBxx5odozGE9W70EFC-JM-X4iTYQ4,6900
|
|
49
|
-
torchcodec/_core/ops.py,sha256=9b56ImvKCwOjMKQRh6wrf7MgvsFhbnKDCkAoKFCqHTE,16623
|
|
50
|
-
torchcodec/_core/pybind_ops.cpp,sha256=1D8siVAiQUqWyl-I785BBeZMQs3YGSbf6R07ZrMrpPg,3092
|
|
51
|
-
torchcodec/_samplers/__init__.py,sha256=qWg69NiVSnMcYi68RTVFGvvp9bh1jkNha5u7q3VMRLw,258
|
|
52
|
-
torchcodec/_samplers/video_clip_sampler.py,sha256=ChIbqJ461_8aZ37_hzkXDrweibjnQHpvYunv5GWdfFo,18975
|
|
53
|
-
torchcodec/decoders/__init__.py,sha256=GeONirXzwswy5iJK61Yuj6oyfZ7GsEJp8EP1tACSWuE,414
|
|
54
|
-
torchcodec/decoders/_audio_decoder.py,sha256=dWbtH7OLIgcbiFQIvP9qpATvIC7XeS67P9uGM4dmsRE,7580
|
|
55
|
-
torchcodec/decoders/_decoder_utils.py,sha256=yM7izTYP72iY6mr3P30sAvd2wKZlWo-eopy3KVaZy8A,2089
|
|
56
|
-
torchcodec/decoders/_video_decoder.py,sha256=jH4KzwkYNIBk0G0k-GlgdYBz_laVojf8VgC8TOlGZxU,19012
|
|
57
|
-
torchcodec/encoders/__init__.py,sha256=Jw7dTzlTbzTaD_ZMrgSxUWEMs7Pn0cyxKm-_beuBIGo,50
|
|
58
|
-
torchcodec/encoders/_audio_encoder.py,sha256=VMZs6VTQDIMcsBxWtQEUpwq_ruILrrvNVktkswajaiM,6312
|
|
59
|
-
torchcodec/samplers/__init__.py,sha256=pijGrxa71UjRYHh1sRqLzwpsVXYAmHe24kMbC-rZW_M,159
|
|
60
|
-
torchcodec/samplers/_common.py,sha256=okgK1nVKA6mE9Li1Jex1GbzN7m26S3LtaREeF1AX-dA,2823
|
|
61
|
-
torchcodec/samplers/_index_based.py,sha256=8iwlYZrqTdP7CnnBbwd3PsJhQNkF-YHH802AHAEoG-g,11695
|
|
62
|
-
torchcodec/samplers/_time_based.py,sha256=xMltTGyaSxyba44Q5CJvFD2nyYIZKul-1sV6D2p-p1w,14651
|
|
63
|
-
torchcodec-0.7.0.dist-info/licenses/LICENSE,sha256=ry9-8rOEo-Fe1s7VhuGoMWcBx72CjMauQWTw26jlrI8,1502
|
|
64
|
-
torchcodec-0.7.0.dist-info/METADATA,sha256=Mlio9SootCV0TIuRvRKcfKkXWUEc6px3pUlhO1T0nrQ,9677
|
|
65
|
-
torchcodec-0.7.0.dist-info/WHEEL,sha256=KI7LHhz6dTtDDO7VYe8QnwL5I_g0fgqsSHIhDBBaEVw,101
|
|
66
|
-
torchcodec-0.7.0.dist-info/top_level.txt,sha256=S1IZq2_jNQE_RDGwxNunVF8S1RCMXmWdAAQjLXBdu2g,21
|
|
67
|
-
torchcodec-0.7.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|