Результаты тестов Intel A380
Рассмотрим как кодирует Intel на современных картах.
Предыдущий опыт меня совсем не впечатлил, начиная с сборки исходников и подготовки к кодированию вообще. На такую, казалось бы, простую задачу уходило неприлично много времени. Вплоть до привлечения системных программистов, чтобы вообще заставить хоть как-то работать MFX.
Относительно недавняя проба платформы N100 показала немногим более хорошую картину. Собрать FFMPEG с поддержкой QSV, чтобы он адекватно кодировал не удалось (неадекватность проявлялась в практически неуправляемом битрейте). Но зато утилита кодирования из SDK давала на удивление стабильные результаты. И качество сжатия видео Н264 удалось оценить.
Сейчас ситуация с дискретной картой и новым кодом приятно удивила целых два раза и один раз «не разочаровала». В кавычках, потому что запустить кодек HEVC так и не удалось. Поэтому будем рассматривать то, что было приятным. Т.е. H264 и AV1.
Перед тем, как перейти к графикам хочу обратить внимание, что набор тестовых видео отличается от того, какой используют сами компании, производящие видеокарты. Сделано это осознанно, чтобы показать как работают кодеки при определённых условиях, на «неудобных» сценах. В рекламных проспектах компаний вы скорее всего найдёте больший разброс в качестве при сравнении с конкурентами.
Что именно выбрано в качестве тестовых фрагментов можно найти здесь — https://www.vmetrix.tech/ru/metodologiya/. Параметры кодирования здесь — https://www.vmetrix.tech/ru/encode-parameters-ru/.
Агрегированные метрики BDBR — https://vmetrix.tech:3000/d/ads7nhh/bd-br-aggregated
RD Curves — https://vmetrix.tech:3000/d/adrgpg7/rd-curves
H264
Сравнение сам с собой. Здесь и далее усреднённые значения BDBR VMAF по всем видео (напомню, что отрицательный BDBR это хорошо, положительный — плохо).
Пресеты veryslow vs veryfast. Да, выигрыш есть. В лучшем случае около 1% битрейта — для самых маленьких видео 144p. Для остальных разница ещё меньше.

Не пытайтесь кодировать на низких битрейтах, так как кодек решит всё равно его задрать. Характерная картина на следующем графике. При целевом битрейте 461К для 1080p на выходе в 1.5 больше.

Хотя такая картина проявляется практически у всех железных кодеков.
libx264
Сравним с «эталоном», libx264, пресет slow.

В принципе, ничего неожиданного. Проигрыш по битрейту в пределах 7% — 11% по основным размерам кадров. Что, в общем, неплохо.
А что там с NVENC?
Пресет veryslow слегка хуже, чем H264 NVENC p4, т.е. порядка 2% — 5% по основным размерам кадра. Однако для 4К даже есть небольшой выигрыш.

Если же сравнивать с самым быстрым пресетом, то выигрыш составит порядка 22% — 25%.

С самым качественным p7 — проигрыш до 10%. Но на «ходовых» размерах кадра до 7%. Что, в принципе, неплохо.

AV1
Сначала посмотрим насколько он лучше своей же реализации H264.

А вот и обещанные 50% — только на 4K. А самый большой выигрыш во впечатляющие 83% вы получите на такой «тяжёлой» сцене с множеством двигающихся объектов.
А что там с NVENC?
Сразу хочу уточнить, что данные значения получены при использовании NVENC 9 поколения, т.е. GPU NVidia Blackwell. 8 поколение (Ada) вроде немного хуже. Но насколько именно ещё предстоит выяснить.
Если сравнивать по максимальным пресетам, то QSV понадобится в районе 9% — 13% больше битрейта, чтобы кодировать с таким же качеством как и NVENC.

LibAOM
При использовании «быстрого» пресета 8 libaom-av1 QSV проигрывает 13% — 22% по основным размерам кадра.

При сравнении с более медленным и качественным 4, QSV проигрывает немного больше — от 20% до 26%:

Интересно отметить, что самые большие сложности с контролем битрейта у QSV AV1 проявляются на сцене из мультфильма Sol Levante
и сцене с водопадом
На сцене мультфильма 4K 3 Мбит/с является пределом для QSV, ниже которого он сильно завышает битрейт — более, чем в 2 раза. И по всему диапазону битрейтов наблюдается завышение порядка 15%. LibAOM при этом держит соотношение близкое к 1 начиная с 2,3 Мбит/с.

На водопаде завышение ещё больше — порядка 30% на всём диапазоне и в 2,3x на самом низком битрейте. У софтверного кодека соотношение необходимого битрейта к реальному близко к 1 (занижение в пределах 1%) начиная с 2,3 Мбит/с:

SVT-AV1
При сравнении с более быстрым пресетом 7 у кодека QSV AV1 меньше отставания, чем от libaom. Т.е. от 4% до 7% на основных размерах кадра.

А с пресетом 3 отставание больше — в районе 17% — 18%.

По контролю битрейта SVT-AV1 работает немного хуже на низких битрейтах, завышая на сцене с водопадом аж 3 раза. Но начиная с 3,7 Мбит/с для 4K превышение битрейта в пределах 7% (у QSV — 30%).

RKMPP
И завершающий аккорд — сравнение с H264 RK3588 (он не умеет в b-frame’ы), извините…

За кадром осталось сравнение по скорости кодирования и энергопотреблении. Надеюсь дополнить в скором времени…