Аппаратное декодирование

Очень часто при плейбеке в программе Adobe Premiere Pro, пользователи смотрят на общую загрузку видеокарты и делают глобальные выводы, что работает аппаратное декодирование (видеокарта же грузится!).
Аппаратное декодирование видео H.264/HEVC дискретной видеокартой было добавлено только в версии Adobe Premiere Pro 2020 (v14.5.0.51), а споры шли начиная с версии Adobe Premiere Pro CS5.
Для проверки работает ли аппаратное (GPU) декодирование DSLR видео и по какому алгоритму - в программе Adobe Premiere Pro CS6, возьмём медленный ПК с двухъядерным процессором Intel Core 2 Duo E6300 и бюджетную видеокарту Gainward GeForce GTX 550 Ti 1024MB (NE5X55T0HD09-1061F) на базе архитектуры Fermi 2.0 (без подержки NVENC/NVDEC). Нажимаем комбинацию клавиш: Ctrl+F12 и прописываем в панеле Console в пункте EnableDogEars вместо false – true.


Adobe Premiere Pro CS6

Настройки воспроизведения в окне Program при проигрывании видео DSLR 1080p25.

Adobe Premiere Pro CS6

Выбираем движок: Mercury Playback Engine GPU Acceleration (CUDA) в Project Settings > General.

Adobe Premiere Pro CS6

Воспроизведение: Rendered FPS: 44.14, Display FPS: 24.11, Dropped: 0, PF: YUV 420 MPEG4 Frame Picture Planer 8u Full Range.


Adobe Premiere Pro CS6

Загрузка GPU видеокарты nVidia GeForce GTX 550 Ti: 8%.

Adobe Premiere Pro CS6

Загрузка центрального процессора: 100%.

Adobe Premiere Pro CS6

При применении к клипу эффекта без поддержки CUDA, над клипом появляется красная полоса и режим вопроизведения переключается в PF: BGRA 4444 8u.


Adobe Premiere Pro CS6

Пауза. Quality: High, Field: First.

Adobe Premiere Pro CS6

Что означает PF: YUV 420 MPEG4 Frame 8u Full Range ImporterMPEG? PF это PrPixelFormat. YUV это цветовое пространство (Color Space). 420 это цветовая субдискретизация (Chroma subsampling). MPEG4 это формат видео (Format). 8u это 8-битная глубина цвета (Bit depth). Full Range это полный диапазон (0-255), цветовой диапазон (Color Range). ImporterMPEG это каким декодером было открыто видео, в нашем случае штатным ImporterMPEG.prm.
*Также еще добавляются цифры, например: YUV 420 MPEG4 Frame 8u 709 ImporterMPEG, где 709 это стандарт преобразования цветов ITU-R BT.709 (Color primaries/Transfer Characteristics/Matrix Coefficients).


YUV 420 MPEG4 Frame 8u Full Range ImporterMPEG

При применении к клипу эффекта без поддержки CUDA, над клипом появляется красная полоса и режим паузы переключается в PF: BGRA 4444 8u.


Adobe Premiere Pro CS6

Выбираем движок: Mercury Playback Engine Software Only в Project Settings.

Adobe Premiere Pro CS6

Полное качество (Full): 1920x1080, Downsample: 1.00, YUV 420. Rendered FPS значительно падает до 1.12 и появляются пропущенные кадры (Dropped) количество которых составляет до 50%.


Adobe Premiere Pro CS6

Уменьшаем качество до 1/2: 960x540, Downsample: 2.00, YUV 420.

Adobe Premiere Pro CS6

Качество 1/4 480x270, Downsample: 4.00, BGRX 4444 8u.

Adobe Premiere Pro CS6

Загрузка процессора двухъядерного процессора Intel Core 2 Duo E6300: 100%. Оперативной памяти съедается немного меньше, чем при включенном движке CUDA.


Adobe Premiere Pro CS6

При применении эффекта к видео PAL DV его PF меняется с PAL DV на VUYA 4444. И тут будет доступна также опция смены полей, можно выбрать режимы: Both, First, Second.


Adobe Premiere Pro CS6

Включение режима High и PF: VUYA 4444 8u 709 (для режима 1/4). Для включения режима High, выполняем PlayAtHighQuality > true.


Adobe Premiere Pro CS6

Отключение GPU декодирования, выставляем true для GF.DisableAcceleratedDisplay. На экране вместо CUDA Render System отобразится режим Software Render System.


Adobe Premiere Pro CS6

Читаем далее.