Nvidia NVDEC — аппаратный декодер в видеокартах компании Nvidia, который обеспечивает полностью ускоренное аппаратное декодирование видео. NVDEC может использоваться для декодирования битовых потоков различных форматов: AV1, H.264, HEVC (H.265), VP8, VP9, MPEG-1, MPEG-2, MPEG-4 и VC-1. NVDEC работает независимо от графического движка и ЦП, оставляя их свободными для других операций.

На большинстве современных видеокарт Nvidia имеется ещё NVENC для кодирования видео.

Nvidia предоставляет программный API и библиотеки для программирования NVDEC. Программный API, в дальнейшем именуемый NVDECODE API, позволяет разработчикам получать доступ к функциям декодирования видео NVDEC и взаимодействовать NVDEC с другими движками на GPU.

NVDEC декодирует сжатые видеопотоки и копирует полученные кадры YUV в видеопамять. С кадрами в видеопамяти постобработка видео может выполняться с помощью CUDA. NVDECODE API также обеспечивает оптимизированную для CUDA реализацию часто используемых операций постобработки, таких как масштабирование, обрезка, преобразование соотношения сторон, деинтерлейсинг и преобразование цветового пространства во многие популярные форматы выходного видео. Клиент может выбрать использование CUDA-оптимизированных реализаций, предоставляемых NVDECODE API для этих шагов постобработки, или выбрать реализацию собственной постобработки для декодированных выходных кадров.

Декодированные видеокадры могут быть представлены на дисплей с графической интероперабельностью для воспроизведения видео, переданы непосредственно в выделенный аппаратный кодер (NVENC) для высокопроизводительного перекодирования видео, использованы для вывода с ускорением GPU или потребляются далее CUDA или процессорной обработкой.

NVDECODE доступен для операционных систем Windows и Linux. NVDECODE является проприетарным API.

Gstreamer поддерживает NVDEC с 2017 года. FFmpeg поддерживает NVDEC с 2017 года. mpv поддерживает NVDEC с 2017 года.

Поддерживаемые кодеки Кодеки, поддерживаемые NVDECODE API:

MPEG-1, MPEG-2, MPEG4, VC-1, H.264 (AVCHD) (8 bit), H.265 (HEVC) (8bit, 10 bit and 12 bit), VP8, VP9(8bit, 10 bit and 12 bit), AV1 Main profile, Гибридный (CUDA + CPU) JPEG

Поддерживаемые графические процессоры Аппаратное ускорение декодирования поддерживается продуктами NVIDIA GeForce, Quadro, Tesla и начиная с графических процессоров Fermi или более новыми поколениями. Возможности аппаратного видеодекодераGPUMPEG-1 & MPEG-2VC-1 & MPEG-4H.264/AVCHDH.265/HEVCVP8VP9AV1Макс РазрешениеМакс РазрешениеМакс Раз.Профили, уровниМакс Раз.Профили, уровниМакс Раз.Макс Раз.ПрофилиМакс Раз.ПрофилиFermi (GF1xx)4080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level 4.1 colspan="2" rowspan="4" rowspan="3" colspan="2" rowspan="4" colspan="2" rowspan="7" Kepler (GK1xx)4080 х 40802048x1024 & 1024x20484096 х 4096Main, High profile до Level4.1Maxwell (1-е поколение) (GM10x)4080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level5.1Maxwell (2-е поколение) (GM20x, кроме GM206)4080 х 40802048x1024 & 1024x2048 Max битрейт: 60 Мб/с4096 х 4096Baseline, Main, High profile до Level5.14096x4096Maxwell (GM206)4080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level5.14096x2304Main profile до Level5.1 и main10 profile4096 х 40964096x2304Profile 0GP1004080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level 5.14096x4096Main profile до Level 5.1, main10 и main12 profile4096x40964096x4096Profile 0GP10x/GV100/Turing/GA1004080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level 5.18192 x 8192Main profile до Level 5.1, main10 и main12 profile4096x4096*8192 x 8192Profile 0, ** 10-bit и

12-bit decodingAmpere (GA10x)4080 х 40802048x1024 & 1024x20484096 х 4096Baseline, Main, High profile до Level 5.18192 x 8192Main profile до Level 5.1, main10 и main12 profile4096x40968192 x 8192Profile 0, 10-bit и

12-bit decoding8192x8192Profile 0 до level 6.0 * Поддерживается только на некоторых графических процессорах GP10x, всех графических процессорах Turing и GA100.

** 10-битное и 12-битное декодирование VP9 поддерживается на некоторых графических процессорах GP10x, всех графических процессорах Turing и GA100.

Примечания

Ссылки video codec sdk documentation NVIDIA Hardware Video Decoder NVIDIA VIDEO DECODER (NVCUVID) INTERFACE NVDEC — декодирование видео с аппаратным ускорением

Категория:Ускорение видео Категория:Аппаратное обеспечение Nvidia