Вышла TorchCodec 0.14. Она совместима с torch >= 2.11. Главные новинки — быстрый WavDecoder для аудио и поддержка HDR-видео.
WavDecoder полностью обходит FFmpeg и читает WAV-файлы напрямую. Это даёт заметный прирост скорости. Декодер умеет работать с разными форматами сэмплов: int16, int32, float32 и другими. Данные можно подавать как файл, как bytes или как любой file-like объект. Пример кода: from torchcodec.decoders import WavDecoder, затем decoder = WavDecoder("audio.wav"), и samples = decoder.get_all_samples() — получаем AudioSamples с данными и частотой дискретизации.
Вторая крупная фича — HDR Video Decoding. VideoDecoder теперь умеет декодировать HDR-видео (High Dynamic Range) без потери точности. Если указать output_dtype=torch.float32, кадры выдаются в RGB float32 в диапазоне [0, 1] — весь HDR-диапазон сохраняется. Работает как на CPU, так и на CUDA. Пример: decoder = VideoDecoder("hdr_video.mp4", output_dtype=torch.float32), затем frame = decoder[0] — получаем кадр с полной HDR-точностью. Правда, это бета-режим, поведение может чуть меняться по отзывам.
Из других улучшений: в AudioDecoder существенно ускорился поиск по таймкодам (#1449). Ещё TorchCodec больше не зависит от библиотеки NPP от NVIDIA — это упрощает установку и использование CUDA-декодинга.
Исправили две ошибки: редкий краш при завершении процесса с CUDA-декодером (#1441) и некорректное декодирование видео с нечётными размерами (#1462).