Разработчики из компании NVIDIA опубликовали (http://lists.x.org/archives/xorg-announce/2015-March/002542....) релиз libvdpau 1.0, открытой библиотеки с поддержкой API VDPAU (Video Decode and Presentation) для Unix. Библиотека позволяет обеспечить работу реализации VDPAU API на базе сторонних технологий аппаратного ускорения, например, через использование Intel VA-API. VDPAU API предназначен для задействования возможностей GPU по аппаратному ускорению обработки различных форматов видео, например, на плечи GPU могут быть вынесены функции пост-процессинга, слияния (compositing), отображения и декодирования. Ключевым улучшением нового выпуска является добавление профилей для декодирования видео в форматах HEVC/H.265.URL: http://lists.x.org/archives/xorg-announce/2015-March/002542....
Новость: http://www.opennet.me/opennews/art.shtml?num=41815
Скажите пожалуйста, во FreeBSD как через mplayer проигрывать видяхи используя vdpau?
И ещё если при этом видяха AMD'шная.
поставь mesa-vdpau и перекомпилируй mplayer ..и да -- mplayer глючит (слегка) при работе с vdpau.. вообщем, удачи испытать геморою! :)
кстати, "отличная" подбрка: говянная операционная система + говянный видеоплаер + говянная vdpau .. из твоего списка не говяная это только AMD :-)
> поставь mesa-vdpau и перекомпилируй mplayer ..И главное не забыть драйвера дописать! А то в ядре 3.8 из которого надергали код поддержки VDPAU еще не было. А так все хорошо, прекрасная маркиза.
Ты так говоришь, как будто это ты написал код, к-й надёргали из 3.8.
> Ты так говоришь, как будто это ты написал код, к-й надёргали из 3.8.Я так говорю, как будто я плотно мониторил развитие этого кода и догадываюсь что он из себя представляет в той или иной версии.
Это называется "смотришь в книгу, видишь фигу"
Вау, ты ваще крут... мониторил развитие. Это наверно круче, чем на Сях ядерные модули писать.
> Вау, ты ваще крут... мониторил развитие. Это наверно круче, чем на Сях
> ядерные модули писать.чтобы писать их нужен мозг. у 294го хватает только на "мониторить". под мониторить имеется ввиду, видимо, подписаться на rss с коммитами и раз в N времени помечать записи как прочитаные ;)
> чтобы писать их нужен мозг.Тебе то откуда это знать, тигра? :)
> мониторить имеется ввиду, видимо, подписаться на rss с коммитами и раз
> в N времени помечать записи как прочитаные ;)А зачем мне rss с коммитами? У меня git есть, он эффективнее. Но теперь я понял как бздюки типа тигара за коммитами следят при отсутствии нормальной VCS :)
>> чтобы писать их нужен мозг.
> Тебе то откуда это знать, тигра? :)а это достаточно очевидно, ровно как и то, что ты им не обладаешь, по крайней мере его тупо не хватает для писать модули на сях.
>> мониторить имеется ввиду, видимо, подписаться на rss с коммитами и раз
>> в N времени помечать записи как прочитаные ;)
> А зачем мне rss с коммитами? У меня git есть, он эффективнее.
> Но теперь я понял как бздюки типа тигара за коммитами следят
> при отсутствии нормальной VCS :)за коммитами следит VCS. а дятлы типа тебя следят за коммит-логом, независимо от используемой vcs. btw, дальше продолжай пытаться кого-то убедить в "я следил", это доставляет
Кто надёргал? NVidia?Или опять будут сопли про блоб?
Причем тут блоб, если спрашивают про AMD?
> Кто надёргал? NVidia?Фрибздельники сдернули радеоновские и интеловские драйвера из ядра линуха, версии около 3.8. В этом коде банально не было поддержки блока UVD, вообще ни для каких радеонов. Для некоторых старых радеонов поддержку UVD запилили аж чуть ли не в ядре 3.16 (но для большинства - несколько раньше).
По этому поводу "линуксные" советы о запуске VDPAU не имеют смысла без более нового кода в ядре.
Ну так вот, господа фрибсдшники, у вас появился уникальный шанс блеснуть компетенцией и рассказать как там у вас дела с кодом поддержки блоков UVD (намечается ли, для каких GPU, в каких ревизиях, и что человеку сделать чтобы это себе в систему получить и задействовать на свое благо).
> Или опять будут сопли про блоб?
Ахх... фрибсдельники не были бы фрибсдельниками, если бы не показали в очередной раз свой ламерский уровень компетенции. Конечно, лучше наехать на оппонента вместо того чтобы дать вопрошавшему исчерпывающий ответ по поводу состояния дел с UVD в фряхе.
>из твоего списка не говяная это только AMD :-)Это чем? Тем, что более-менее нетривиальные вычисления на их видеокартах делать практически невозможно ни на одной из известных мне ОС?
нетривиальные… хм, интересно! какие-же эти вычисления?
> нетривиальные… хм, интересно! какие-же эти вычисления?Наверно какая-нибудь хардкорная дабловая плавучка. Только нафига б она дома нужна? Чего таким манером обсчитывать предлагается?
> невозможно ни на одной из известных мне ОС?Наверное именно поэтому майнеры коинов в свое время вымели все топовые амдшные видяхи под ноль во всех магазинах :)
А в чем глюки заключаются? Который год уже именно им проигрываю все и именно через vdpau, глюков не замечал.
> Скажите пожалуйста, во FreeBSD как через mplayer проигрывать видяхи используя vdpau?Обновляем локальное дерево портов (https://www.freebsd.org/doc/ru/books/handbook/updating-upgra...):
portsnap fetch updateДля видеокарт ATI/AMD нужно пересобрать dri/libGL с оциями GALLIUM и TEXTURE с задействованием полуаппаратной акселерации со стороны LLVM.
pkg delete -f libGL dri; portmaster graphics/dri graphics/libGL; portmaster -a
Заходим в каталог порта mplayer и конфигурируем:
cd /usr/ports/multimedia/mplayer/ && make config
- для использования VDPAU отмечая соответствующую опцию.Пересобираем порт:
portmaster -gD multimedia/mplayer
Спасибо!
Без соплей, без пиз..жа, просто дан ответ к которому у меня не имеется ни одного вопроса.
И как, работает на STABLE/RELEASE?
А то тут наш главный Ыксперт по БЗДям утверждает, что работать не должно и не будет, ибо фичи не поддерживаются :)
Для чистоты проверки, сегодня пересоберу систему на последний 10-STABLE, обновлю порты и проделаю все описанные Изен'ом шаги.
> Для чистоты проверки, сегодня пересоберу систему на последний 10-STABLE, обновлю порты
> и проделаю все описанные Изен'ом шаги.Вот только изен - местный ламак, он понятия не имеет о устройстве графического стэка от амд, смысле затей с DRM+KMS и прочая. И откуда уж ему знать что для работы UVD нужна инфраструктура со стороны ядра, без которой VDPAU на амд работать не будет. Этой инфраструктуры еще не было в ядре линя 3.8, из которого в фрибзду передирали эти драйверы.
А вот что по этому поводу делать с кернелом - изен почему-то тактично смолчал в тряпочку, что как бы намекает ;). Так что не забудь отписаться - получилось ли у тебя что либо сделать по его советам. Не забуть похвастаться выводом mplayer. Вот тогда и поговорим про сопли и трындеж. Засчитывается то все-таки результат. Поэтому собственно и намекали что твоя ОС для десктопа - 'не очень'. Там амдшный открытый драйвер отстает года на два, что для десктопа весьма ощутимо.
Как я понимаю для поддержки этого нужна новая карта от Nvidia?
libvdpau предоставляет API, она не зависит от видеокарты. Чтобы что-то ускорялось нужен еще backend. Nvidia в своих дровах такой backend имеет. Существуют backend'ы для Intel и AMD. Так что нет, карта от Nvidia не нужна.
С какого это?
VDPAU имеет различные поколения, называются буквами A, B ... F
У меня вот видеокарта (GTX 560) содержит в себе VDPAU C, тоесть не поддерживает декодирование 4K видео.
И вроде нужна новая 900-ая серия для декодирования H.265 видео.
>У меня вот видеокарта (GTX 560) содержит в себе VDPAU C, тоесть не поддерживает декодирование 4K видео. И вроде нужна новая 900-ая серияНужна, дорогой. Но не тебе, а корпорации одной, с логотипчиком зелёненьким. Включаем моск. Современный GPU - это массив универсальных процессоров, которым по большому счёту пофиг что именно считать. Вопрос лишь в софте. Вывод? Наслаждайтесь блобьём от нвидии дальше. И каждый год зонд обновлять не забывайте.
Чип акселерации видео отдельный. Сам посмотри в NVIDIA Settings в разделе "NVIDIA твоя-модель": как только ты включаешь mplayer, VLC или Flash Player, в строке "Video Acceleration" 0% меняется на 20% или 50%. Акселерация видео не зависит от того, включена ли у тебя крутая игра. Лично у меня 18-20% при просмотре 1920x1080, и 45-50% при кодировании 1920x1080. Насколько я знаю, на Quadro можно кодировать больше чем в 2 потока одновременно.
> Насколько я знаю, на Quadro можно кодировать больше чем в 2
> потока одновременно.Единственная проблема: VDPAU умеет только декодирование видео. Чем невыгодно отличается от VA-API и OpenMAX :)
с трудом вериться в ограничения в 1-2 потока, потому что intel vaapi и omx на радеоне умеют большее кол-во потоков
http://www.gearsongallium.com/?p=1464
Потому что на самом деле никаких блоков декодирования/кодирования нет. В радеонах все декодируется вычислительными блоками, а прошивка это программа для работы с ними. 1 блок - 1 поток. На R9 290 например в 64 потока.
да ты что, а VCE и UVD тогда что такое?
и 16 это тупо хардкод в дровах.
Это микрокоды, которыми энкодируется и декодируется видео. Чем больше потоков декодирования или энкодирования, тем сильнее греется видеокарта.
> Это микрокоды, которыми энкодируется и декодируется видео.А как насчет пруфа этих сведений? И, главное, почему uvd выглядит как отдельный аппаратный блок, с собственным понятием о частотах (чем круче контент тем больше частоту надо) и прочая?
лол, а инженеры amd не в курсе, думают что они специальные ASIC блоки в карту добавляют, а аноним с опенета оказывается знает лучше их.
http://www.ixbt.com/video2/spravka-hd7xxx.shtml листай до
Кодирование и декодирование видеоданных
Да я как-то проще к этому отношусь. Да, пойду покупать новую 900 через год, когда и переплаты за новинку не будет и в стабильных линуксах поддержка норм будет. За четыре года можно и обновить.
> Современный GPU - это массив универсальных процессоров, которым по большому
> счёту пофиг что именно считать....но декодер видео как правило отдельный специализированный аппаратный блок, где-то сбоку. Хотя вынести часть тяжелых операций при декодировании видео можно и на универсальные числокрушилки, конечно. Но это несколько менее эффективно чем втолкать видео в аппаратный блок.
> блобьём от нвидии дальше.
Да у блобья других приколов есть. Типа отпиливания "лишних" мониторов.
> С какого это?С такого. Для VDPAU вообще не нужна NVIDIA. https://wiki.archlinux.org/index.php/VDPAU
Это я в курсе. Только понятия «работает» и «хорошо работает» разные. Есть смысл использовать VDPAU вместо родного VAAPI на AMD и Intel?
> Есть смысл использовать VDPAU вместо родного VAAPI на AMD и Intel?В случае открытых амдшных дров - драйвер вывешивает VDPAU и родное для него именно оно, что забавно выглядит, но является фактом. А VA-API работает, внезапно, через VDPAU (оно так умеет).
>> Есть смысл использовать VDPAU вместо родного VAAPI на AMD и Intel?
> В случае открытых амдшных дров - драйвер вывешивает VDPAU и родное для
> него именно оно, что забавно выглядит, но является фактом. А VA-API
> работает, внезапно, через VDPAU (оно так умеет).радеоны имеют поддержку vaapi, omx и vdpau прям в месе, всякие обертки для vaapi им тупо уже не нужны
> радеоны имеют поддержку vaapi, omx и vdpau прям в месе,Как насчет ссылочки на файл исходника где это можно посмотреть?
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...
> http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...
> http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...
> http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state...О, спасибо! А я как-то проморгал когда VA-API напрямую запилили.
> С какого это?
> VDPAU имеет различные поколения, называются буквами A, B ... F
> У меня вот видеокарта (GTX 560) содержит в себе VDPAU C, тоесть
> не поддерживает декодирование 4K видео.
> И вроде нужна новая 900-ая серия для декодирования H.265 видео.NVIDIA GeForce GTX 750:
% vdpauinfo
display: :0.0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 346.47 Thu Feb 19 18:11:01 PST 2015Video surface:
name width height types
-------------------------------------------
420 4096 4096 NV12 YV12
422 4096 4096 UYVY YUYVDecoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 65536 4080 4080
MPEG2_SIMPLE 3 65536 4080 4080
MPEG2_MAIN 3 65536 4080 4080
H264_BASELINE --- not supported ---
H264_MAIN 41 65536 4096 4096
H264_HIGH 41 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE --- not supported ---
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 16384 16384 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8Bitmap surface:
name width height
------------------------------
B8G8R8A8 16384 16384
R8G8B8A8 16384 16384
R10G10B10A2 16384 16384
B10G10R10A2 16384 16384
A8 16384 16384Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
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 1 4096
VIDEO_SURFACE_HEIGHT y 1 4096
CHROMA_TYPE y
LAYERS y 0 4attribute 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
> NVIDIA GeForce GTX 750:Ну и как видишь, никакого H.265 там нет. И кстати забавно смотрится когда такой же по смыслу выхлоп выдает опенсорсный амдшный драйвер.
>> NVIDIA GeForce GTX 750:
> Ну и как видишь, никакого H.265 там нет. И кстати забавно смотрится
> когда такой же по смыслу выхлоп выдает опенсорсный амдшный драйвер.А vdpauinfo о нем знает?
> А vdpauinfo о нем знает?vdpauinfo глубоко пофигу кто именно и по какому поводу реализует это апи.
Но это еще не все. VDPAU бывает даже на ARMовских платках с sunxi - ну вывесил народ через него хардварный декодер. И чего?
>> А vdpauinfo о нем знает?
> vdpauinfo глубоко пофигу кто именно и по какому поводу реализует это апи.Ну не скажи. В vdpauinfo 1.0 (в отличие от предыдущей версии 0.9, вывод которой я запостил ранее) добавилась информация о наличии/отсутствии кодека H.265 (HEVC):
Видно, что VDPAU 1.0 не поддерживает не только кодеки H.264 (в полном объёме), но и H.265 на этой видеокарте (NVIDIA GTX 750) с нативными драйверами.
Decoder capabilities:name level macbs width height
----------------------------------------------------
MPEG1 0 65536 4080 4080
MPEG2_SIMPLE 3 65536 4080 4080
MPEG2_MAIN 3 65536 4080 4080
H264_BASELINE --- not supported ---
H264_MAIN 41 65536 4096 4096
H264_HIGH 41 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE --- not supported ---
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
>> vdpauinfo глубоко пофигу кто именно и по какому поводу реализует это апи.
> Ну не скажи. В vdpauinfo 1.0 (в отличие от предыдущей версии 0.9,
> вывод которой я запостил ранее) добавилась информация о наличии/отсутствии кодека H.265
> (HEVC):Не вижу где мой тезис опровергли. Я сказал что утилите все-равно какой драйвер это апи по какому поводу реализует. Но, разумеется, чтобы знать о новых фичах апи - нужна новая версия утилиты. Старая просто не в курсе что такие фичи бывают и поэтому не умеет их отображать. Что вроде бы логично.
А какой там был драйвер и как он это реализует внутри себя - утилитка vdpauinfo вообще не знает. Что ей драйвер через API показывает - то и пишет.
"With NVIDIA's binary Linux blob, the GeForce GTX 900 series graphics cards are needed for handling hardware-accelerated H.265 video decoding." (c) phoronix
Ждём здесь: http://www.freshports.org/multimedia/libvdpau/
> Ждём здесь: http://www.freshports.org/multimedia/libvdpau/Дождались.
> Дождались.А теперь удачи поюзать это :)
> А теперь удачи поюзать этоА видео в putty.exe и putty.app как бы и не сильно нужно, не?
> А видео в putty.exe и putty.app как бы и не сильно нужно, не?Тебе как бсдшнику виднее, имхо :).