29.03.2022

Nvidia NVDEC


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 или процессорной обработкой.

NVDEC доступен для операционных систем Windows и Linux. Поскольку NVDEC является проприетарным API, он поддерживается только проприетарным драйвером Nvidia в Linux.

  • 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 и GRID начиная с графических процессоров Fermi или более новыми поколениями.

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

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






Яндекс.Метрика