TorchCodec 0.14 is out! It is compatible with torch >= 2.11. It comes with two major additions: a fast audio WavDecoder, and support for HDR video decoding!
Fast wav decoder
TorchCodec now has a dedicated WavDecoder for decoding WAV files. It bypasses FFmpeg entirely and reads WAV data directly, resulting in significantly faster decoding. It supports multiple sample formats (int16, int32, float32, etc.), and can decode from files, bytes, or file-like objects.
from torchcodec.decoders import WavDecoder
decoder = WavDecoder("audio.wav")
samples = decoder.get_all_samples() # AudioSamples with data and sample_rateHDR Video Decoding
VideoDecoder now supports HDR (High Dynamic Range) video decoding without losing precisio. When output_dtype=torch.float32 is specified, the decoder outputs RGB float32 frames in [0, 1], preserving the full HDR color range. This is supported for both CPU and CUDA!
import torch
from torchcodec.decoders import VideoDecoder
decoder = VideoDecoder("hdr_video.mp4", output_dtype=torch.float32)
frame = decoder[0] # Full HDR precision in float32⚠️ This feature is in beta stage, so behavior may slightly change depending on user feedback. Let us know if you encounter any issue!
Other Improvements
- Improved audio seeking:
AudioDecoderseeking is now much faster (#1449) - Dropped NPP dependency:
TorchCodecno longer depends on NVIDIA's NPP library, which will simplify installing and using TorchCodec for CUDA decoding.