CUDA для x264.

Вопросы касающиеся программирования под Linux

CUDA для x264.

Сообщение darion Сб дек 06, 2008 9:50 pm

Сегодня решил попробовать CUDA. Для домашнего использования лучшего применения чем использования для кодирования видео я не придумал, решил попробовать часть функций для ffmpeg или x264. Поскольку раньше я никогда не сталкивался с подобной областью, то сначала нужно было поискать решения гуру в этой области. В результате наткнулся на форум где разработчик кодека x264 (Dark Shikari) обсуждал проблемы перевода кодека на CUDA. На официальном форуме nvidia он еще в 2007 году обсуждал проблемы производительности элементарных алгоритмов для применения CUDA при кодировании видео с помощью x264.
http://forums.nvidia.com/lofiversion/index.php?t53172.html
Особенно интересно обсуждение BadaBoom - видеокодера от Elemental Technologies.. По мнению Dark Shikari информация в этой статье полная чепуха - пиар чистой воды. Исходя из графиков Dark Shikari сделал предположение что тестируемый кодер не использует многопоточные вычисления. Посудите сами - производительность 4-ех ядерного процессора частотой в 3ГГц всего чуть более чем в 2 раза превышает производительность 2 ядерного процессора с частотой 1,2 ГГц. Тот же кодер использующий многопоточные вычисления сможет дать результаты приведенные на рисунке:
Изображение
Кроме того использование CUDA реально возможно только для низкокачественного видео. Для кодирования качественного видео разработчикам придется проделать серьезную работу по портированию обычного кода для использования возможностей CUDA. В результате Dark Shikari пришел к выводу что для реализации поддержки CUDA необходимо отказаться от использования многопоточных вычислений и вернуться к однопоточному коду x264, который сам по себе очень медленный. Кроме того эксперименты с CUDA показали что увеличения производительности может не быть вовсе при условии кодирования качественного видео.
И в конце-концов что в результате за кодер будет разработан ? Код его будет не совместим с кодом основной ветки. Работать он будет только при условии наличия в конфигурации видеокарты NVidia 8xxx и выше. Следует учесть что код драйвера nvidia закрыт и хотя сам по себе он неплох, но баги они исправляют довольно долго и неохотно. Похоже мало кто из разработчиков кодеров заинтересуется использованием CUDA. Хотя наверное можно использовать возможности GPU для промежуточных операций по преобразованию видео. Но это не даст значительного прироста производительности...
darion
Site Admin
 
Сообщения: 121
Зарегистрирован: Ср июл 16, 2008 4:05 pm

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron