torchcodec 0.7.0__cp312-cp312-win_amd64.whl → 0.8.0__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.

Files changed (61) hide show
  1. torchcodec/_core/BetaCudaDeviceInterface.cpp +636 -0
  2. torchcodec/_core/BetaCudaDeviceInterface.h +191 -0
  3. torchcodec/_core/CMakeLists.txt +36 -3
  4. torchcodec/_core/CUDACommon.cpp +315 -0
  5. torchcodec/_core/CUDACommon.h +46 -0
  6. torchcodec/_core/CpuDeviceInterface.cpp +189 -108
  7. torchcodec/_core/CpuDeviceInterface.h +81 -19
  8. torchcodec/_core/CudaDeviceInterface.cpp +211 -368
  9. torchcodec/_core/CudaDeviceInterface.h +33 -6
  10. torchcodec/_core/DeviceInterface.cpp +57 -19
  11. torchcodec/_core/DeviceInterface.h +97 -16
  12. torchcodec/_core/Encoder.cpp +302 -9
  13. torchcodec/_core/Encoder.h +51 -1
  14. torchcodec/_core/FFMPEGCommon.cpp +189 -2
  15. torchcodec/_core/FFMPEGCommon.h +18 -0
  16. torchcodec/_core/FilterGraph.cpp +28 -21
  17. torchcodec/_core/FilterGraph.h +15 -1
  18. torchcodec/_core/Frame.cpp +17 -7
  19. torchcodec/_core/Frame.h +15 -61
  20. torchcodec/_core/Metadata.h +2 -2
  21. torchcodec/_core/NVDECCache.cpp +70 -0
  22. torchcodec/_core/NVDECCache.h +104 -0
  23. torchcodec/_core/SingleStreamDecoder.cpp +202 -198
  24. torchcodec/_core/SingleStreamDecoder.h +39 -14
  25. torchcodec/_core/StreamOptions.h +16 -6
  26. torchcodec/_core/Transform.cpp +60 -0
  27. torchcodec/_core/Transform.h +59 -0
  28. torchcodec/_core/__init__.py +1 -0
  29. torchcodec/_core/custom_ops.cpp +180 -32
  30. torchcodec/_core/fetch_and_expose_non_gpl_ffmpeg_libs.cmake +61 -1
  31. torchcodec/_core/nvcuvid_include/cuviddec.h +1374 -0
  32. torchcodec/_core/nvcuvid_include/nvcuvid.h +610 -0
  33. torchcodec/_core/ops.py +86 -43
  34. torchcodec/_core/pybind_ops.cpp +22 -59
  35. torchcodec/_samplers/video_clip_sampler.py +7 -19
  36. torchcodec/decoders/__init__.py +1 -0
  37. torchcodec/decoders/_decoder_utils.py +61 -1
  38. torchcodec/decoders/_video_decoder.py +56 -20
  39. torchcodec/libtorchcodec_core4.dll +0 -0
  40. torchcodec/libtorchcodec_core5.dll +0 -0
  41. torchcodec/libtorchcodec_core6.dll +0 -0
  42. torchcodec/libtorchcodec_core7.dll +0 -0
  43. torchcodec/libtorchcodec_core8.dll +0 -0
  44. torchcodec/libtorchcodec_custom_ops4.dll +0 -0
  45. torchcodec/libtorchcodec_custom_ops5.dll +0 -0
  46. torchcodec/libtorchcodec_custom_ops6.dll +0 -0
  47. torchcodec/libtorchcodec_custom_ops7.dll +0 -0
  48. torchcodec/libtorchcodec_custom_ops8.dll +0 -0
  49. torchcodec/libtorchcodec_pybind_ops4.pyd +0 -0
  50. torchcodec/libtorchcodec_pybind_ops5.pyd +0 -0
  51. torchcodec/libtorchcodec_pybind_ops6.pyd +0 -0
  52. torchcodec/libtorchcodec_pybind_ops7.pyd +0 -0
  53. torchcodec/libtorchcodec_pybind_ops8.pyd +0 -0
  54. torchcodec/samplers/_time_based.py +8 -0
  55. torchcodec/version.py +1 -1
  56. {torchcodec-0.7.0.dist-info → torchcodec-0.8.0.dist-info}/METADATA +24 -13
  57. torchcodec-0.8.0.dist-info/RECORD +80 -0
  58. {torchcodec-0.7.0.dist-info → torchcodec-0.8.0.dist-info}/WHEEL +1 -1
  59. torchcodec-0.7.0.dist-info/RECORD +0 -67
  60. {torchcodec-0.7.0.dist-info → torchcodec-0.8.0.dist-info}/licenses/LICENSE +0 -0
  61. {torchcodec-0.7.0.dist-info → torchcodec-0.8.0.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,10 @@ if (LINUX)
44
44
  f7_sha256
45
45
  1cb946d8b7c6393c2c3ebe1f900b8de7a2885fe614c45d4ec32c9833084f2f26
46
46
  )
47
+ set(
48
+ f8_sha256
49
+ c55b3c1a4b5e4d5fdd7c632bea3ab6f45b4e37cc8e0999dda3f84a8ed8defad8
50
+ )
47
51
  set(
48
52
  f4_library_file_names
49
53
  libavutil.so.56
@@ -84,6 +88,16 @@ if (LINUX)
84
88
  libswscale.so.8
85
89
  libswresample.so.5
86
90
  )
91
+ set(
92
+ f8_library_file_names
93
+ libavutil.so.60
94
+ libavcodec.so.62
95
+ libavformat.so.62
96
+ libavdevice.so.62
97
+ libavfilter.so.11
98
+ libswscale.so.9
99
+ libswresample.so.6
100
+ )
87
101
  elseif (APPLE)
88
102
  set(lib_dir "lib")
89
103
  set(
@@ -106,6 +120,10 @@ elseif (APPLE)
106
120
  f7_sha256
107
121
  48a4fc8ce098305cfd4a58f40889249c523ca3c285f66ba704b5bad0e3ada53a
108
122
  )
123
+ set(
124
+ f8_sha256
125
+ beb936b76f25d2621228a12cdb67c9ae3d1eff7aa713ef8d1167ebf0c25bd5ec
126
+ )
109
127
 
110
128
  set(
111
129
  f4_library_file_names
@@ -147,6 +165,16 @@ elseif (APPLE)
147
165
  libswscale.8.dylib
148
166
  libswresample.5.dylib
149
167
  )
168
+ set(
169
+ f8_library_file_names
170
+ libavutil.60.dylib
171
+ libavcodec.62.dylib
172
+ libavformat.62.dylib
173
+ libavdevice.62.dylib
174
+ libavfilter.11.dylib
175
+ libswscale.9.dylib
176
+ libswresample.6.dylib
177
+ )
150
178
 
151
179
  elseif (WIN32)
152
180
  set(lib_dir "bin")
@@ -170,6 +198,10 @@ elseif (WIN32)
170
198
  f7_sha256
171
199
  ae391ace382330e912793b70b68529ee7c91026d2869b4df7e7c3e7d3656bdd5
172
200
  )
201
+ set(
202
+ f8_sha256
203
+ bac845ac79876b104959cb0e7b9dec772a261116344dd17d2f97e7ddfac4a73f
204
+ )
173
205
 
174
206
  set(
175
207
  f4_library_file_names
@@ -211,6 +243,16 @@ elseif (WIN32)
211
243
  swscale.lib
212
244
  swresample.lib
213
245
  )
246
+ set(
247
+ f8_library_file_names
248
+ avutil.lib
249
+ avcodec.lib
250
+ avformat.lib
251
+ avdevice.lib
252
+ avfilter.lib
253
+ swscale.lib
254
+ swresample.lib
255
+ )
214
256
  else()
215
257
  message(
216
258
  FATAL_ERROR
@@ -242,19 +284,27 @@ FetchContent_Declare(
242
284
  URL_HASH
243
285
  SHA256=${f7_sha256}
244
286
  )
287
+ FetchContent_Declare(
288
+ f8
289
+ URL ${platform_url}/8.0.tar.gz
290
+ URL_HASH
291
+ SHA256=${f8_sha256}
292
+ )
245
293
 
246
- FetchContent_MakeAvailable(f4 f5 f6 f7)
294
+ FetchContent_MakeAvailable(f4 f5 f6 f7 f8)
247
295
 
248
296
  add_library(ffmpeg4 INTERFACE)
249
297
  add_library(ffmpeg5 INTERFACE)
250
298
  add_library(ffmpeg6 INTERFACE)
251
299
  add_library(ffmpeg7 INTERFACE)
300
+ add_library(ffmpeg8 INTERFACE)
252
301
 
253
302
  # Note: the f?_SOURCE_DIR variables were set by FetchContent_MakeAvailable
254
303
  target_include_directories(ffmpeg4 INTERFACE ${f4_SOURCE_DIR}/include)
255
304
  target_include_directories(ffmpeg5 INTERFACE ${f5_SOURCE_DIR}/include)
256
305
  target_include_directories(ffmpeg6 INTERFACE ${f6_SOURCE_DIR}/include)
257
306
  target_include_directories(ffmpeg7 INTERFACE ${f7_SOURCE_DIR}/include)
307
+ target_include_directories(ffmpeg8 INTERFACE ${f8_SOURCE_DIR}/include)
258
308
 
259
309
 
260
310
  list(
@@ -277,6 +327,11 @@ list(
277
327
  PREPEND ${f7_SOURCE_DIR}/${lib_dir}/
278
328
  OUTPUT_VARIABLE f7_library_paths
279
329
  )
330
+ list(
331
+ TRANSFORM f8_library_file_names
332
+ PREPEND ${f8_SOURCE_DIR}/${lib_dir}/
333
+ OUTPUT_VARIABLE f8_library_paths
334
+ )
280
335
 
281
336
  target_link_libraries(
282
337
  ffmpeg4
@@ -298,3 +353,8 @@ target_link_libraries(
298
353
  INTERFACE
299
354
  ${f7_library_paths}
300
355
  )
356
+ target_link_libraries(
357
+ ffmpeg8
358
+ INTERFACE
359
+ ${f8_library_paths}
360
+ )