LINUX.ORG.RU

Как так получается? (h265 на nvidia и amd)

 ,


0

1

Конвертирую один и тот же видеофайл с одними и теми же настройками конвертации, но на разных видеокартах. И получаю два разных выходных файла!

Вроде бы код кодера один и тот же должен быть. Опять же, стандарт кодера прописан. Документы, все дела… Но два разных файла, разных размеров!

Как такое может быть? И почему?

Перемещено CrX из linux-hardware


более того, и качество совершенно разное.
спойлер - на нвидии лучше.

Sylvia ★★★★★
()

Тут столько ошибочных предположений…

Вроде бы код кодера один и тот же должен быть.

Какой такой код кодера? x265? Так он для CPU, а не для GPU.

Кодирование на GPU, скорее всего, происходит не на шейдерных ядрах, а на специализированных блоках с фиксированной функциональностью.

Опять же, стандарт кодера прописан.

Я смотрел его очень поверхностно, и не увидел там явных жёстких указаний для кодировщика. Документ скорее написан с упором на то, как данные нужно декодировать.

Документы, все дела…

Предлагаю ознакомиться с текущей версией. PDF версия доступна бесплатно.

с одними и теми же настройками конвертации, но на разных видеокартах

Точной информации о производителях IP ядер производители видеокарт обычно не делятся. Очень вероятно, что IP ядра кодировщиков — разные. В этом случае настройки вообще не могут быть теми же самыми.

i-rinat ★★★★★
()

Типичные видеокарточныеию энкодеры видео - это не «одинаковый код на шейдерах, который одинаково используется», а биндинги к разным железоспецифичным библиотекам, с разным представлением опций качества/производительности и существенной частью реализации на железе специализированным под кодек пайплайном

GPFault ★★★★
()

Сначала бы сказал, чем именно конвертируешь и с какими параметрами.

Wapieth ★★
()

Вроде бы код кодера один и тот же должен быть.

Нет, не должен.

/thread


И да, качество будет говно и там и там. Нормальное только с x265 на CPU.

CrX ★★★★★
()

Конвертирую один и тот же видеофайл с одними и теми же настройками конвертации, но на разных видеокартах.

Даже кодируя jpeg из одной и той же растровой картинки можно с разными кодерами получить файлы разных размеров, причём с полным соблюдением стандарта.

Вроде бы код кодера один и тот же должен быть

Не должен и не может. Там же вся фишка в аппаратном кодировании, а железо разное. Кстати, если цели - воспроизводимость результатов и получение лучшего качества при минимальном битрейте, то следует использовать софтовый кодер (x265). Аппаратные нужны, в основном, для стриминга в реальном времени.

annulen ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария