1080p на двух разных графических процессорах, что еще это может быть?

Я строю HTPC с этой материнской платой ASRock E350M1/USB3. Встроенная видеокарта ATI Radeon HD 6310 с трудом проглотила 1080p x264 мкВ (~10 ГБ), поэтому я выбрал дискретный Nvidia GT 240 (1024 МБ). Как ни странно, это также не сыграло бы это должным образом.

На обеих картах были установлены и активированы драйверы соответствующих поставщиков. Я пробовал x264 и raw blu-ray безрезультатно. Я знаю, что GT 240 способен воспроизводить фильмы 1080p, так что же такое зависание?


Под изменчивым понимается получение одного кадра каждые несколько секунд, но я также вижу это время от времени: http://ptpimg.me/8yt8ev.png


Выход из запуска vlc из командной строки на нетронутом Blu-ray (m2ts) рипе.

me@GAMMA ~ $ vlc
VLC media player 1.1.9 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x8d41914] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Blocked: call to setlocale(6, "")
Warning: call to srand(1326832540)
Warning: call to rand()
Blocked: call to setlocale(6, "")

(process:2617): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
libdvbpsi error (PSI decoder): TS discontinuity (received 1, expected 0) for PID 0
libdvbpsi error (PSI decoder): TS discontinuity (received 1, expected 0) for PID 0
libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 256
libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 256
[0x8ddc6e4] signals interface error: signal 17 overriden (0x3b114c0)
[0x8ddc6e4] signals interface error:  /usr/lib/libQtCore.so.4(?)[(nil)]
[0x8ddc6e4] signals interface error: signal 17 overriden (0x3b114c0)
[0x8ddc6e4] signals interface error:  /usr/lib/libQtCore.so.4(?)[(nil)]

Выход из vlc -vvv на тот же файл: здесь


Итак, GT 240 работает с использованием VD-PAU, и это волшебная вещь, которая говорит программному обеспечению, например, nplayer, использовать графический процессор для выполнения работы вместо центрального процессора. Проблема в том, что VD-PAU - это, по сути, только Nvidia, а встроенная графика основана на ATI.

(in ~/.mplayer/config)
vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau

Я немного покопался, и кажется, что VA-API и XVBA являются эквивалентами ATI. Теперь вопрос в том, как заставить их работать в natty (предпочтительно с чем-то вроде xbmc)


До сих пор, используя только встроенную Radeon HD 6310 графику, я сделал это:

sudo apt-get install xvba-va-driver libva-glx1 vainfo
mplayer -vo xv -framedrop -ao sdl /path/to/000000.m2ts

и это, конечно, приближается. Тем не менее, все еще слишком много пропущенных кадров, чтобы их можно было наблюдать.

2 ответа

Решение

Можете ли вы подтвердить, действительно ли аппаратное декодирование используется вообще?

Вывод mplayer и vlc (при запуске в консоли) поможет подтвердить или опровергнуть это, если вы сможете добавить его к исходному вопросу.

Попробуйте это в ~/.mplayer/config, чтобы включить его:

vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau

Попробуйте установить SmPlayer и перейти к настройкам, настройкам, затем на вкладке "Общие" на контроллере вывода выбрать "gl" (быстро). Затем на вкладке производительности в потоках декодирования выберите 8. Я сделал это для своего ATI HD 5470, который играл очень плохо и был исправлен. Расскажите мне что-нибудь о том, как это работает.

Другие вопросы по тегам