LINUX.ORG.RU

ускорение флеша на ютубе

 , ,


0

2

Имеется

арч i686
chromium 43.0.2357.132-1
firefox 39.0-1

flashplugin 11.2.202.481-1
chromium-pepper-flash-dev 18.0.0.194-1

В ff ускорение декодирования есть
accelerated video rendering, accelerated video decoding

а в хромиуме - нет успорения декодирования
accelerated video rendering, software video decoding

в Хромиуме с недавних пор не работает плагин от фокса (flashplugin 11.2.202.481-1)
и ускорения с тех пор нет.

Вопрос - как завести ускорение на хромиуме?

cast Novell-ch, i-rinat

в chrome://flags включено переопределение рендеринга

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Rasterization: Hardware accelerated on all pages
Threaded Rasterization: Enabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated

★★★★★

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

Всё-таки получилось уговорить ноутбук не шпарить постоянно на TurboBoost, в итоге Chromium успешно собрался.

diff -ur chromium-browser-43.0.2357.130-orig/build/common.gypi chromium-browser-43.0.2357.130/build/common.gypi
--- chromium-browser-43.0.2357.130-orig/build/common.gypi	2015-07-09 17:45:53.000000000 +0300
+++ chromium-browser-43.0.2357.130/build/common.gypi	2015-07-09 13:57:37.899388049 +0300
@@ -5772,8 +5772,8 @@
     ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) '
         'and OS!="win"', {
       'make_global_settings': [
-        ['CC', '/usr/bin/clang'],
-        ['CXX', '/usr/bin/clang++'],
+        ['CC', '/usr/lib/ccache/clang'],
+        ['CXX', '/usr/lib/ccache/clang++'],
         ['CC.host', '$(CC)'],
         ['CXX.host', '$(CXX)'],
       ],
diff -ur chromium-browser-43.0.2357.130-orig/content/common/gpu/media/gpu_video_decode_accelerator.cc chromium-browser-43.0.2357.130/content/common/gpu/media/gpu_video_decode_accelerator.cc
--- chromium-browser-43.0.2357.130-orig/content/common/gpu/media/gpu_video_decode_accelerator.cc	2015-06-23 01:56:50.000000000 +0300
+++ chromium-browser-43.0.2357.130/content/common/gpu/media/gpu_video_decode_accelerator.cc	2015-07-09 16:54:28.944307697 +0300
@@ -37,7 +37,6 @@
 #include "content/common/gpu/media/v4l2_video_decode_accelerator.h"
 #endif
 #if defined(ARCH_CPU_X86_FAMILY)
-#include "content/common/gpu/media/vaapi_video_decode_accelerator.h"
 #include "ui/gl/gl_implementation.h"
 #endif
 #elif defined(USE_OZONE)
@@ -46,6 +45,9 @@
 #include "content/common/gpu/media/android_video_decode_accelerator.h"
 #endif
 
+#include "content/common/gpu/media/vaapi_video_decode_accelerator.h"
+
+
 #include "ui/gfx/geometry/size.h"
 
 namespace content {
@@ -342,7 +344,7 @@
 scoped_ptr<media::VideoDecodeAccelerator>
 GpuVideoDecodeAccelerator::CreateVaapiVDA() {
   scoped_ptr<media::VideoDecodeAccelerator> decoder;
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
+#if defined(ARCH_CPU_X86_FAMILY)
   decoder.reset(new VaapiVideoDecodeAccelerator(
       make_context_current_, base::Bind(&GpuVideoDecodeAccelerator::BindImage,
                                         base::Unretained(this))));
diff -ur chromium-browser-43.0.2357.130-orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc chromium-browser-43.0.2357.130/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
--- chromium-browser-43.0.2357.130-orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc	2015-06-23 01:56:50.000000000 +0300
+++ chromium-browser-43.0.2357.130/content/common/sandbox_linux/bpf_gpu_policy_linux.cc	2015-07-09 17:43:42.341326981 +0300
@@ -298,7 +298,7 @@
       const char* I965DrvVideoPath = NULL;
 
       if (IsArchitectureX86_64()) {
-        I965DrvVideoPath = "/usr/lib64/va/drivers/i965_drv_video.so";
+        I965DrvVideoPath = "/usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so";
       } else if (IsArchitectureI386()) {
         I965DrvVideoPath = "/usr/lib/va/drivers/i965_drv_video.so";
       }
diff -ur chromium-browser-43.0.2357.130-orig/content/content_common.gypi chromium-browser-43.0.2357.130/content/content_common.gypi
--- chromium-browser-43.0.2357.130-orig/content/content_common.gypi	2015-06-23 01:56:50.000000000 +0300
+++ chromium-browser-43.0.2357.130/content/content_common.gypi	2015-07-08 20:38:52.263123178 +0300
@@ -863,7 +863,7 @@
         'common/gpu/media/tegra_v4l2_device.h',
       ],
     }],
-    ['target_arch != "arm" and chromeos == 1', {
+    ['target_arch != "arm" and chromeos == 0', {
       'dependencies': [
         '../media/media.gyp:media',
         '../third_party/libyuv/libyuv.gyp:libyuv',
diff -ur chromium-browser-43.0.2357.130-orig/content/public/common/content_switches.cc chromium-browser-43.0.2357.130/content/public/common/content_switches.cc
--- chromium-browser-43.0.2357.130-orig/content/public/common/content_switches.cc	2015-06-23 01:56:51.000000000 +0300
+++ chromium-browser-43.0.2357.130/content/public/common/content_switches.cc	2015-07-08 22:12:21.371211532 +0300
@@ -938,14 +938,14 @@
 // Disable web audio API.
 const char kDisableWebAudio[]               = "disable-webaudio";
 
-#if defined(OS_CHROMEOS)
+//#if defined(OS_CHROMEOS)
 // Disables panel fitting (used for mirror mode).
 const char kDisablePanelFitting[]           = "disable-panel-fitting";
 
 // Disables VA-API accelerated video encode.
 const char kDisableVaapiAcceleratedVideoEncode[] =
     "disable-vaapi-accelerated-video-encode";
-#endif
+//#endif
 
 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 // Allows sending text-to-speech requests to speech-dispatcher, a common
diff -ur chromium-browser-43.0.2357.130-orig/content/public/common/content_switches.h chromium-browser-43.0.2357.130/content/public/common/content_switches.h
--- chromium-browser-43.0.2357.130-orig/content/public/common/content_switches.h	2015-06-23 01:56:51.000000000 +0300
+++ chromium-browser-43.0.2357.130/content/public/common/content_switches.h	2015-07-09 15:13:23.228205179 +0300
@@ -270,10 +270,10 @@
 
 CONTENT_EXPORT extern const char kDisableWebAudio[];
 
-#if defined(OS_CHROMEOS)
+//#if defined(OS_CHROMEOS)
 CONTENT_EXPORT extern const char kDisablePanelFitting[];
 CONTENT_EXPORT extern const char kDisableVaapiAcceleratedVideoEncode[];
-#endif
+//#endif
 
 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 CONTENT_EXPORT extern const char kEnableSpeechDispatcher[];

Youtube кажет «accelerated decoding». Видимо, работает.

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

на какой оси?
можешь залить куда-то?

если я решу собирать, то как применить этот патч?

Это можно кидать в aur или в апстрим твоего дистра уже)

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

Врядли это зависит от оси, но Ринат модифицировал 43 хром, судя по диффу.
Чтобы применить этот патч, нужно выкачать сорцы, скопировать патчи и делать git apply. Скорее всего на 48 хромиум они не налезут, поэтому придется искать похожие места самому и править ручками.
Насчет апстрима - сомневаюсь, тк никто из вас еще толком не тестил, что получается.

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

на какой оси?

Debian testing

можешь залить куда-то?

https://dl.dropboxusercontent.com/u/62182427/chromium-hwdec/chromium_43.0.235...

(больше пары-тройки дней хранить не обещаю)

то как применить этот патч?

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

Вместо пути /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so надо своё дистро-специфичное вставить. Если не будет верного пути, то chromium не загрузит драйвер до того как песочница заработает, и придётся браузер запускать с --no-sandbox. Или с LD_PRELOAD.

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

Можно собрать всё это в патч для удобства,чтобы 1 раз применил и всё, хотя и так сойдет.


i965_drv_video.so

это для интеловского видео?
попробую твой пакет на amd видео, может взлетит)

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

оно у тебя там под amd64..

будем пересобирать под i686

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

Можно собрать всё это в патч

Это и так один патч. Но SMD правильно сказал, на 48-й Chromium он точно не налезет. Я точно знаю, что в 45-м сборочные скрипты уже отличаются от 43-го.

это для интеловского видео?

Да.

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

Это и так один патч.

то есть можно просто скопировать все это и сделать patch на папку с сорцами?

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

то есть можно просто скопировать все это и сделать patch на папку с сорцами?

Да. Если взять папку с исходниками Chromium из Debian, то он даже ляжет без конфликтов. С другими версиями возможны проблемы.

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

а модешь затарить эту директорию и залить куда-то?

или это мне не поможет, т.к. мне нужно пересобирать под i686?

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

а модешь затарить эту директорию и залить куда-то?

Лучше возьми исходники со станицы https://packages.debian.org/source/stretch/chromium-browser

Там внизу ссылка на три файла, «оригинальный» тарбол, метаинформация и debian-патчи.

под i686

Путь к VA драйверу будет другой.

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

Youtube кажет «accelerated decoding». Видимо, работает.

а какой плагин используется и какая версия?

я сейчас буду собирать :3

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

остался еще один важным вопрос - как мне все это накатить на сорцы?

вручную как-то не ок, можно же как-то атоматизироать процесс или только вручную?)

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

а если я поставлю себе Debian testing просто ради теста ускорения на amd картах, должно взелтеть?

у меня же будет другая либа в /usr/lib/x86_64-linux-gnu/dri/

и у меня будет явно не i965_drv_video.so, а что-то вроде r600.so

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

попытался собрать дефолтный 45 хромиум

[442/2341] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.o
FAILED: /usr/bin/c++   -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wnon-virtual-dtor -Wno-comment -std=c++11 -ffunction-sections -fdata-sections -O3  -Ilib/IR -I/tmp/yaourt-tmp-arch/aur-chromium-dev/src/chromium-45.0.2421.0/third_party/llvm/lib/IR -Iinclude -I/tmp/yaourt-tmp-arch/aur-chromium-dev/src/chromium-45.0.2421.0/third_party/llvm/include    -UNDEBUG -fno-exceptions -fno-rtti -MMD -MT lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.o -MF lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.o.d -o lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.o -c /tmp/yaourt-tmp-arch/aur-chromium-dev/src/chromium-45.0.2421.0/third_party/llvm/lib/IR/Function.cpp
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
[442/2341] Building CXX object lib/CodeGen/SelectionDAG...akeFiles/LLVMSelectionDAG.dir/SelectionDAGBuilder.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build chromium-dev.
==> Restart building chromium-dev ? [y/N]

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

сейчас накачу дебиан, буду тестить собраный вами хромиум

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

internal compiler error

У тебя компилятор падает при сборке LLVM.

В Chromium сборка производится своей версией clang, но в Debian накладывается патч и используется clang из системы. Так что у меня эта часть не собиралась.

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

Да. Чтобы скачать и распаковать исходники, запусти

apt-get source chromium=43.0.2357.130-1

Чтобы собрать пакет, dpkg-buildpackage -b -us -uc. Перед сборкой запусти dpkg-checkbuilddeps, удостоверься, что все нужные пакеты установлены.

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

печально

а что если я дам вам доступ на виртуалку а вы соберете пакет?)
как вам идея?)
в любое удобное для вас время
если конечно возьметесь за это
ибо чувствую, что у меня оно не скоро соберется, а тем более заработает)

пока поставлю дебиан, если там не заработает декодирование, то уже буду что-то думать)

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

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

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

Chromium	43.0.2357.130 (Built on Debian stretch/sid, running on Debian stretch/sid)
OS	Linux
Flash plugin	18.0.0.204 /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so


пока не удалось завести твой хромиум

libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 0 and entrypoint 1
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 1 and entrypoint 1
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 5 and entrypoint 1
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 6 and entrypoint 1
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 7 and entrypoint 1
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[5981:5981:0710/193924:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 10 and entrypoint 1
vdpau_video: vaTerminate(): config ID 0x01000000 is still allocated, destroying
vdpau_video: vaTerminate(): config ID 0x01000001 is still allocated, destroying
vdpau_video: vaTerminate(): config ID 0x01000002 is still allocated, destroying
vdpau_video: vaTerminate(): config ID 0x01000003 is still allocated, destroying
vdpau_video: vaTerminate(): config ID 0x01000004 is still allocated, destroying
vdpau_video: vaTerminate(): config ID 0x01000005 is still allocated, destroying
[5981:5981:0710/193924:ERROR:gpu_video_decode_accelerator.cc(278)] HW video decode not available for profile 1

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

пока не удалось завести твой хромиум

С Chromium'ом всё в порядке: видишь же, функции из vaapi_wrapper.cc вызываются, это уже хорошо.

vaQuerySurfaceAttributes failed VA error: invalid parameter

А вот это плохо. Насколько я понял, реализации vaQuerySurfaceAttributes в vdpau-va-driver нет.

Так что тебе надо либо чинить vdpau-va-driver, либо пытаться завести VA драйвера из Mesa.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

vdpauinfo
display: :0.0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420     8192  8192  NV12 YV12 
422     8192  8192  UYVY YUYV 
444     8192  8192  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0  9216  2048  1152
MPEG2_SIMPLE                    3  9216  2048  1152
MPEG2_MAIN                      3  9216  2048  1152
H264_BASELINE                  41  9216  2048  1152
H264_MAIN                      41  9216  2048  1152
H264_HIGH                      41  9216  2048  1152
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                    4  9216  2048  1152
MPEG4_PART2_SP                 --- not supported ---
MPEG4_PART2_ASP                --- not supported ---
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
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 ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8          8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R8G8B8A8          8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R10G10B10A2       8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
B10G10R10A2       8192  8192    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 

Bitmap surface:

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

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
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  





сейчас еще месу из гита поставлю, может взлетит чего

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

пробовал вместо r600_drv_video.so подсовывать твой переходник - тоже не вздетало(

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

Не подскажешь, где почитать про vdpau-vaapi переходники и прочее? Я запутался, что мне нужно устанавливать и что запускать, чтобы нормально декодировать видео на интеле.

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

а как это сделать?

При сборке Mesa добавить --enable-va к флагам configure. Оно генерит gallium_drv_video.so, видимо надо программы запускать с LIBVA_DRIVER_NAME=gallium /path/to/program

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

где почитать про vdpau-vaapi переходники и прочее?

Проще всего загуглить и посмотреть информацию на wiki Gentoo и Arch'а, там довольно подробно расписано.

нормально декодировать видео на интеле.

mpv --hwdec=vaapi video.mp4 должно хватить. Видеоплеер mpv поддерживает и VDPAU, и VA-API, и ещё всякие API для декодирования видео, поэтому работает с почти любым оборудованием.

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

Как раз таки арч меня и путает: в качестве интерфейса для аппаратного декодирования можно выставлять или vdpau, или va-ai. Я так понимаю, для интела нативный интерфейс это va-api, в то время как для амд, кажется, через va-api эмулировался vdpau.

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

Я так понимаю, для интела нативный интерфейс это va-api

Да.

в то время как для амд, кажется, через va-api эмулировался vdpau.

Тут путаница, да. В проприетарных драйверах AMD раньше реализовывался только свой интерфейс XvBA. Отдельным проектом существовал (не развивается сейчас) переходник xvba-va-driver, который используя XvBA приложениям предоставляет VA-API.

В свободных драйверах AMD уже несколько лет реализуется интерфейс VDPAU. Есть переходник vdpau-va-driver, который используя VDPAU приложениям предоставляет VA-API.

С недавних пор свободные драйвера AMD наряду с VDPAU научились ещё и VA-API, поэтому для них переходник больше не нужен. Проприетарные драйвера полгода назад, в 14.12, тоже анонсировали поддержку VA-API напрямую.

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

думаю у меня не зватит скилла, попробую подменить либу из твоего фреш флеша

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

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

думаю у меня не хватит скилла

Так прокачай на этой задаче, это полезно.

попробую подменить либу из твоего фреш флеша

Как ты себе это представляешь?

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

Как ты себе это представляешь?

в старых версиях хромиума есть поддержка NPAPI же :3

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

Так прокачай на этой задаче, это полезно.

я не разработчик, вообще ни разу(

я могу только пробовать подпирать костылями что-то)

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

я пытался(

arch@ar:~$ LIBVA_DRIVER_NAME=gallium chromium 
[16813:16813:0710/224628:ERROR:url_pattern_set.cc(240)] Invalid url pattern: chrome://print/*
[16845:16845:0710/224628:ERROR:sandbox_linux.cc(340)] InitializeSandbox() called with multiple threads in process gpu-process
[16845:16845:0710/224630:ERROR:gles2_cmd_decoder.cc(11539)] [GroupMarkerNotSet(crbug.com/242999)!:206D1653A47F0000]GL ERROR :GL_INVALID_OPERATION : glTexStorage2DEXT: <- error from previous GL command
[WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED
Fontconfig error: Cannot load default config file
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'gallium'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 0 and entrypoint 1
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 1 and entrypoint 1
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 10 and entrypoint 1
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 5 and entrypoint 1
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 6 and entrypoint 1
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(417)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[16845:16845:0710/224634:ERROR:vaapi_wrapper.cc(260)] GetMaxResolution failed for va_profile 7 and entrypoint 1
[16845:16845:0710/224634:ERROR:gpu_video_decode_accelerator.cc(278)] HW video decode not available for profile 1



или я что-то делаю не так
или этому не судьба взлететь на amd картах(

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

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

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

лучше верни в хромиум поддержу NPAPI
думаю это будет проще

а как это сделать?
по идее нужно смотреть по гиту хромиума в какой версии они его выкинули и всунуть его обратно

i-rinat - Как тебе идея?


или лучше что-то другое попробовать сделать?)

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

А вот это плохо. Насколько я понял, реализации vaQuerySurfaceAttributes в vdpau-va-driver нет.

я так понял нужно ковырять этот самый vdpau-va-driver
но поможет ли это я хз(

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

запустил на арче хромиум и

chromium
[1418:1418:0710/202902:ERROR:url_pattern_set.cc(240)] Invalid url pattern: chrome://print/*
[1441:1441:0710/202903:ERROR:sandbox_linux.cc(340)] InitializeSandbox() called with multiple threads in process gpu-process
[1418:1431:0710/202903:ERROR:password_store_default.cc(40)] Could not create/open login database.
[1441:1441:0710/202903:ERROR:gles2_cmd_decoder_autogen.h(1514)] [GroupMarkerNotSet(crbug.com/242999)!:681CCA88]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
[1441:1441:0710/202904:ERROR:gles2_cmd_decoder.cc(11539)] [GroupMarkerNotSet(crbug.com/242999)!:6870B488]GL ERROR :GL_INVALID_OPERATION : glTexStorage2DEXT: <- error from previous GL command
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[1441:1441:0710/202908:ERROR:gles2_cmd_decoder_autogen.h(1514)] [GroupMarkerNotSet(crbug.com/242999)!:68845F89]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
[1441:1441:0710/202908:ERROR:gles2_cmd_decoder.cc(11539)] [GroupMarkerNotSet(crbug.com/242999)!:68504F89]GL ERROR :GL_INVALID_OPERATION : glTexStorage2DEXT: <- error from previous GL command
[1441:1441:0710/202910:ERROR:gles2_cmd_decoder_autogen.h(1514)] [GroupMarkerNotSet(crbug.com/242999)!:68AC8C89]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
[1441:1441:0710/202910:ERROR:gles2_cmd_decoder.cc(11539)] [GroupMarkerNotSet(crbug.com/242999)!:68048189]GL ERROR :GL_INVALID_OPERATION : glTexStorage2DEXT: <- error from previous GL command
[WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED
[1441:1441:0710/202916:ERROR:gpu_video_decode_accelerator.cc(276)] HW video decode not available for profile 1
[1441:1441:0710/202934:ERROR:gpu_video_decode_accelerator.cc(276)] HW video decode not available for profile 1
Fontconfig error: Cannot load default config file

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

лучше верни в хромиум поддержу NPAPI

Вообще-то они правильно сделали, что выбросили её. Не понимаю, зачем тащить её обратно.

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