LINUX.ORG.RU

AMD опубликовала код для поддержки UVD

 , ,


1

5

AMD опубликовала код для поддержки аппаратного декодирования видео на движке UVD (Unified Video Decoder). Поддержка декодирования реализована для карт Radeon HD 4000 - Radeon HD 7000 «Southern Islands» (с движком UVD2 и новее). Это позволяет задействовать аппаратный декодер при воспроизведении видео в форматах H.264, VC-1, и MPEG. Доступ к декодеру осуществляется через VDPAU. Необходимые изменения в ядре ожидаются к версии 3.10, а код со стороны Mesa попадет в основную ветку немедленно (по словам А. Дойчера).

>>> патч в Mesa

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 2)

с какого языка переводили?

Это в каком языке Deucher произносится как «Дойчер»? В английском было бы «Дъючер», а в немецком - «Дойхер».

alt-x ★★★★★
()

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

Novell-ch ★★★★★
()
Ответ на: комментарий от actics

И таки я говорил о том, что топовая она то и не нужна

И о чем тогда споришь?

А крузис на максималках.

Не кризисом едины, 3й нужно попробовать еще.

Behem0th ★★★★★
()
Ответ на: комментарий от actics

А смысл? Переплатить за топ ради спортивного интереса?

Behem0th ★★★★★
()

Глядишь через пару лет и можно будет швабодкой пользоваться.

anonymous
()
Ответ на: комментарий от AVL2

Ты должен удивляться, как эта куча ядер и дсп жрёт меньше cpu.

anonymous
()

Обновление firmware UVD от AMD?

Хлопцы из AMD, я правильно понимаю, что в этих файлах с фирмваре *_uvd.bin (размером 90k..220k) в каком-то адском сжатом формате (что-то по типу IBM'ской CodePack для распаковки самим процессом на лету) храниться реальный код для некоторого выделенного процессора в GPU (сильно усиленного специальными операциями для декодирования, а может и кодирования видео)?

Если это так, то какие шансы появления для уже проданных видеокарт новых версий фирмваре где будет допустим поддержка WebM? Т.е. такое развитие событий предполагается ли и вообще есть какие-то в том видеопроцессоре ресурсы под это (память/скорость)?

Кто-то встречал что там за процессор в UVD (вариант MIPS?), нет ли проектов где в этом пытаются ковыряться (занимаются реверсингом UVD)?

anonymous
()
Ответ на: Омские линуксоиды одобряют! от linuxmaster

Когда же AMD примет мужское решение, перестанет разрабатывать ненужный проприетарный драйвер, начнёт помогать с открытым? Они не понимают экономии средств? Ведь в случае с открытым драйвером, им нужен будет только один программист: для контроля проекта и компиляции под нужные им платформы уже созданных сообществом готовых драйверов.

спешу вас расстроить - в OpenSource конечно есть куча плюсов, но есть и куча минусов. По деньгам выходит не так однозначно, и я уверен, что маркетологи и экономисты AMD поумнее нас с тобой в _своём_ деле.

Это тебе не попойки с друганами организовывать, в качестве повода организовав раздачу CD-R.

drBatty ★★
()
Ответ на: комментарий от sendel

CS:Source как минимум требует

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

Behem0th ★★★★★
()
Ответ на: Обновление firmware UVD от AMD? от anonymous

то какие шансы появления для уже проданных видеокарт новых версий фирмваре где будет допустим поддержка WebM?

Предположим, что это действительно возможно. Какой смысл выпускать обновления для старых карт фирме, которая получает прибыль с продажи оборудования? Не будет ли более логичным заявить, что поддержка новых форматов доступна только в новом железе?

i-rinat ★★★★★
()
Ответ на: Обновление firmware UVD от AMD? от anonymous

Оказывается Sony выпускал ТВ на чип, что был прородителем UVD, вроде как были доступны ядра 2.4.20/2.6.11 для того чипа:

http://www.linux-mips.org/wiki/Xilleon

==> http://web.archive.org/web/20100412180040/http://products.sel.sony.com/openso...

Ещё какой-то тюнер выпускали: http://www.elinux.org/Hisense http://thomasjuchheim.ifunnyblog.com/atixilleon/

anonymous
()
Ответ на: комментарий от i-rinat

Какой смысл выпускать обновления для старых карт фирме,
которая получает прибыль с продажи оборудования?

Реклама, имидж (по типу своих не брасаем, покупайте нас). Не?..

Или могли бы предложить Гуглу: «проспонсируйте поддержку вашего мега формата в наших GPU, - вам хорошо, нам хорошо, да всем хорошо...». А там и nVidia уже самим придётся подтягиваться за конкурентом. А далее все...

А обновления firmware в закрытых драверах и так наверняка производят (фиксят баги, может чего-то ускоряют), иначе зачем вообще была сделана такая возможность.

Судя по всему с этим патчем за одно выложили и обновленные firmware для других блоков в их GPU («grep 2013 http://people.freedesktop.org/~agd5f/radeon_ucode/")

И как я понимаю AMD одновременно выпускает/поддерживает несколько поколений своих GPU. Возможно разница между этими поколениями в части UVD на самом деле не значительная, так что может быть поддерживая новый формат для текущего GPU этот же формат можно добавить в предыдущие поколения GPU.

Что-то мне подсказывает, что технически это возможно.

anonymous
()
Ответ на: комментарий от anonymous

своих не бросаем, покупайте нас

Насколько я знаю, они так и делают для процессоров. Не меняют сокетов, делая возможным апгрейд по частям. А для видеокарт совместимость и так есть: вынул старую, вставил новую.

Что-то мне подсказывает, что технически это возможно.

И у меня такое ощущение. Если суффиксы mc и me означают motion compensation и motion estimation, можно предположить, что эти части программируются. А большие блобы с суффиксами uvd и rlc намекают на то, что и управляющие структуры разбираются на самом чипе, а не в CPU, то есть на чипе есть процессор общего назначения.

Но всё же я считаю невероятным событие «старые карты стали поддерживать новые кодеки». Это экономически нецелесообразно. Уж лучше такое отношение, чем банкротство и последующая монополия на рынке.

i-rinat ★★★★★
()
Ответ на: комментарий от GreenTea

А я не видел. Ни разу. У меня 3 разные карточки на разных машинах под онтопиком — 9400, 9600, 9800. Ни на одной не видел синевы. Пробовал разные настройки, но эффекта добиться так и не смог. Как и все мои знакомые с карточками от nvidia.

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

А я не видел. Ни разу.

Хочешь увидеть? Выключи workaround: в файле /etc/vdpau_wrapper.cfg замени параметр enable_flash_uv_swap=1 на enable_flash_uv_swap=0 .

http://lists.freedesktop.org/archives/vdpau/2012-September/000025.html

Upd. Смешная ситуация. В flash player'е появляется баг с видео. Вместо того, чтобы ждать, когда исправят flash, Stephen Warren добавляет обходной путь в libvdpau, который меняет каналы местами, если обнаруживает, что клиент — флешплеер. Всё. Теперь баг увековечен, так как если adobe пофиксит его, синие рожи появятся снова.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от feofan

я не знаю. UVD это такая проприетарщина, что даже внутри конторы не все знают, что он умеет внутри. т.е. даже мы не знаем что он там думает, только посылаем ему данные и получаем картинки.

ckotinko ☆☆☆
()
Ответ на: комментарий от Ramen

VDPAU, а не VAAPI?

У меня есть простое и логичное объяснение: потому что в gallium для VDPAU state-tracker есть, а для VA-API — нет. Его недавно выбросили, потому что никто его не поддерживал.

i-rinat ★★★★★
()
Ответ на: комментарий от Rakot

Можно ли считать Bridgmana экспертом, но вот его слова: Раз Два

(Далее спекуляции.) У меня вот только один вопрос. Если entropy decoding выполняется специализированным железом, и остаётся ему только скармливать поток и передавать результат в Motion Estimation блоки, почему файлы прошивки с суффиксом _uvd значительно больше оных с _me? Получается, что там больше кода. Может быть entropy decoding не так уж завязано на определённые форматы?

i-rinat ★★★★★
()
Ответ на: комментарий от Rakot

Я программист-эмбеддерщик. Как UVD устроен внутри - я не знаю. Есть варианты. ckotinko, который работает в AMD тоже не знает. Там могут быть использованы ПЛИС, которые программируются однократно(тогда добавить новый кодек невозможно). Может быть специализированный чип + прошивка, например, во флеш. Тогда добавить кодек, в принципе, возможно. Но не обязательно это тривиальная задача. А поскольку блоки UVD

клепает tensillica

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

feofan ★★★★★
()
Ответ на: комментарий от i-rinat

почему файлы прошивки с суффиксом _uvd значительно больше оных с _me?

It actually contains relatively few code, everybody who programmed a entropy decoder before knows that you need quite a bunch of lookup tables to do so. So that's what this is mostly about, on top of that there is a bit code that controls how data is pumped between different internal blocks.

Отсюда

madgnu ★★★★★
()
Ответ на: комментарий от madgnu

Отсюда

Жаль, что я поленился прочитать ту ветку. Ну что ж, нет так нет. Впрочем уже того, что они анонсировали, достаточно.

i-rinat ★★★★★
()
Ответ на: комментарий от ckotinko

Имхо, там вообще какой-нибудь программируемый dsp стоит.

devl547 ★★★★★
()
Ответ на: комментарий от ivanlex

На моей 8200М синева была, но скриншотов не осталось. Так что, милсдарь, поверьте на слово. Но было это ещё с драйверами 195.хх, кажется.

GreenTea ★★
()
Ответ на: комментарий от GreenTea

А еще это наверняка было в мохнатые года, которые никто и не упомнит.

Просто меня все тут убеждали, что синие морды должны были быть у всех. Но все же эти морды обошли стороной часть пользователей, и не все эти морды увидели, даже когда они были актуальны. У меня складывается впечатление, что большинство эти морды не видело, что проблема была не у большинства, и уж тем более не у всех.

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

А еще это наверняка было в мохнатые года, которые никто и не упомнит.

Это было вчера.

jurik_phys@fermi:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GF110 [GeForce GTX 560 Ti 448 Cores] (rev a1)

Jurik_Phys ★★★★★
()
Ответ на: комментарий от Jurik_Phys

Ни у меня, ни у моих знакомых этих морд нет. А специально редактировать параметры, по методике i-rinat, я не собираюсь.

ivanlex ★★★★★
()
Ответ на: комментарий от Jurik_Phys

Это всего лишь говорит о том, что вы попали в ту часть пользователей, у которых эти морды есть. И это в очередной раз доказывает, что эти морды не у всех.

ivanlex ★★★★★
()
Ответ на: комментарий от Jurik_Phys

Кстати, если у тебя до сих пор баг с цветом, поменяй значение параметра enable_flash_uv_swap в /etc/vdpau_wrapper.cfg на (1 - старое значение).

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Да, да. Прочитал про параметры - надо будет попробовать. Может заработает.

Проверил. Оказалось, что значение уже стояло в 1, при этом были синие лица. Поменял на 0, лица синие остались. В общем, выключаю аппаратное ускорение и сплю спокойно: процессор прекрасно справляется с флешем.

Jurik_Phys ★★★★★
()
Последнее исправление: Jurik_Phys (всего исправлений: 1)
Ответ на: комментарий от Behem0th

Называй всё своими именами: под линукс выходит только инди-говнецо идущее на фреймбуфферных затычках, потому нормальные драйвера ненужны, ололо, etc.

anonymous
()
Ответ на: комментарий от i-rinat

Имидж компании, все мозолееды побегут покупать новые кукурузные процы.

anonymous
()
Ответ на: комментарий от i-rinat

Браузер перезапускал? Этот файл один раз читается, при старте процесса.

В общем, разобрался.

enable_flash_uv_swap=0 |=> синие лица.
enable_flash_uv_swap=1 |=> всё в порядке.
Но, кроме этого параметра у меня в файле настроек было ещё вот это:
disable_flash_pq_bg_color=1
видимо, осталось после древних экспериментов с флешем. Если эта строчка имеет место быть, то неважно, что в enable_flash_uv_swap=0(1), лица всегда синие.

С параметрами по-умолчанию (enable_flash_uv_swap=1 или просто удалить, переименовать файл) всё стало работать корректно.

Спасибо, за помощь.

Jurik_Phys ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо за разъяснение. Это очень познавательно. Но для этого надо делать какие то манипуляции, и мне — честно, лень и не охота.

Просто меня здесь уже очень длительное время убеждали, что на всех дистрибутивах и всех видеокартах от nvidia есть эти синие лица. Но без каких-либо дополнительных манипуляций я эти лица никогда не видел.

Просто данный баг не у всех, и не все его могли видеть. Я не видел, хотя мне говорили, что достаточно просто включить аппаратное ускорение. У меня даже с аппаратным ускорением всегда все было в порядке.

ivanlex ★★★★★
()
Ответ на: комментарий от Ramen

пусть воротят что хотят. доков по uvd у них, как я понял нет даже базовых, иначе бы они уже переделывали большой кусок драйвера.

ckotinko ☆☆☆
()

ну вреде как все пашет
[code]
vdpauinfo
display: :0 screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name width height types
-------------------------------------------
420 16384 16384 NV12
422 16384 16384 NV12
444 16384 16384 NV12

Decoder capabilities:

name level macbs width height
-------------------------------------------
MPEG1 16 9216 2048 1152
MPEG2_SIMPLE 16 9216 2048 1152
MPEG2_MAIN 16 9216 2048 1152
H264_BASELINE 16 9216 2048 1152
H264_MAIN 16 9216 2048 1152
H264_HIGH 16 9216 2048 1152
VC1_SIMPLE 16 9216 2048 1152
VC1_MAIN 16 9216 2048 1152
VC1_ADVANCED 16 9216 2048 1152
MPEG4_PART2_SP 16 9216 2048 1152
MPEG4_PART2_ASP 16 9216 2048 1152

Output surface:

name width height nat types
----------------------------------------------------
B8G8R8A8 16384 16384 y NV12
R8G8B8A8 16384 16384 y NV12
R10G10B10A2 16384 16384 y NV12
B10G10R10A2 16384 16384 y NV12

Bitmap surface:

name width height
------------------------------
B8G8R8A8 16384 16384
R8G8B8A8 16384 16384
R10G10B10A2 16384 16384
B10G10R10A2 16384 16384
A8 16384 16384

Video mixer:

feature name sup
------------------------------------
DEINTERLACE_TEMPORAL -
DEINTERLACE_TEMPORAL_SPATIAL -
INVERSE_TELECINE -
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY -
HIGH QUALITY SCALING - L1 -
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -

parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 48 2048
VIDEO_SURFACE_HEIGHT y 48 1152
CHROMA_TYPE y
LAYERS y 0 4

attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y

[/code]


hd видел не держу, есть одна демка на 720р, 25-30% - xv, 2-4% -vdpau

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

VC1

Вики говорит что использовался в блюреях и ХАкоробке. А еще его где нибудь можно встретить? Лучше конечно бы вместо него VP8 был, но как я понял нужна все же поддержка в УВД. Да и как выше скотинко сказал у них даже фирмвари нет к УВД:-( И кстати что у тебя за карта?

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

А еще его где нибудь можно встретить?

Ещё на HD DVD. А вообще VC-1 то же самое, что WMV9 (формат WMV3 для VC1_SIMPLE и VC1_MAIN и WVC1 для VC1_ADVANCED).

Да и как выше скотинко сказал у них даже фирмвари нет к УВД:-(

Открытие сорцев прошивки не позволило бы реализовать поддержку новых форматов.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Да я читал этот пост.

но как я понял нужна все же поддержка в УВД

Под этим я и имел в виду, то что нужна поддержка в железе. И плюс у них нет фирвари.

Behem0th ★★★★★
()
Ответ на: комментарий от Novell-ch

Как включал? Я что-то не осилил. Ядро из гита, меса тоже, фирмварь (+*_uvd.bin, среди которых, правда нет моего CEDAR_uvd.bin) вкомпилена в ведро.

feofan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.