Summary
- You can now install SPDL with
pip install spdl
, and use CUDA and NVDEC.- The extension module has been split into core and CUDA. Now it's possible to use CUDA package in environments without CUDA.
- The PyPI distributions for Linux x86_64 includes CUDA extension.
- NVEDC support has been added to CUDA extension. See the doc for the detail.
New Features
- Added
spdl.io.apply_bsf
to apply bit-stream filtering to packets (#522, #503) - Added function to fetch FFmpeg versions (#507)
- Added NV12 to RGB color conversion functions (#528, #525, #526)
- Added a new
NvDecDecoder
, which supports streaming decoding. (#517, #520, #531) - Added support to fetch codec from
Packets
andDemuxer
. (#521)
BC-Breaking changes
- Removed alpha channel from NVDEC decoding (#527)
- The HOLD_GIL build option has been removed (#509, #511)
- Renamed the build config query functions
is_available
tobuilt_with
(#514, #505)
Bugfix
- Fixed the allocator function signature by @mthrok in #504
- Fixed segfault when not built with CUDA by @mthrok in #513
Split code/binding/packages
Refactoring CUDA-related code
- Use spdl::cuda namespace for CUDA-related features by @mthrok in #495
- Reduce FFmpeg redundancy from CUDA extension by @mthrok in #498
- Do not pass AVCodecID directly by @mthrok in #499
- Do not link ffmpeg when building CUDA ext by @mthrok in #502
- Use iterator by @mthrok in #506
- Fix CUDA availability by @mthrok in #512
- Define CUDAStoragePtr by @mthrok in #519
- Move CUDA utils to detail by @mthrok in #530
- Add missing glog header inclusion to logging by @mthrok in #524
- Add constant accessor to CUDABuffer by @mthrok in #523
- Remove stray defs by @mthrok in #515
- Remove AVCodec from CUDA extension by @mthrok in #501
- Define CUDA_API_PER_THREAD_DEFAULT_STREAM by @mthrok in #518
- Clean up CUDA initialization logic by @mthrok in #529
CI Improvement
Full Changelog: v2025.03.17.00...v0.0.10