試行中の記録:2016年4月9日新しいドライバを入れたので再度テスト。+2016年4月15日のドライバをいれたので再度見てみよう。
VDPAUが効いてる。30秒までが無効。後半が有効。Windowsのアクセルみたいに劇的に効かないのがアレですが。mpv。ちなみに低遅延カーネルで起動しています。気のせいかなぁ。
HWアクセルオン$ mpv --vo=vdpau *yes*
cplayer: Auto-loading profile 'vo.vdpau'
cplayer: Playing: vdpau_video_yes_hwpau.mkv
cplayer: (+) Video --vid=1 (*) (h264)
cplayer: (+) Audio --aid=1 (*) (aac)
cplayer: AO: [alsa] 48000Hz stereo 2ch float
vd: Using hardware decoding (vdpau).
cplayer: VO: [vdpau] 1920x1080 vdpau
vo/vdpau: Compositing window manager detected. Assuming timing info is inaccurate.
statusline: AV: 00:00:47 / 00:01:27 (53%) A-V: 0.000 Cache: 10s+16MB
[---------------------------------------------------+----------------------------------------------]
cplayer:
cplayer:
cplayer: Exiting... (Quit)
cplayer: Auto-loading profile 'vo.vdpau'
cplayer: Playing: vdpau_video_yes_hwpau.mkv
cplayer: (+) Video --vid=1 (*) (h264)
cplayer: (+) Audio --aid=1 (*) (aac)
cplayer: AO: [alsa] 48000Hz stereo 2ch float
vd: Using hardware decoding (vdpau).
cplayer: VO: [vdpau] 1920x1080 vdpau
vo/vdpau: Compositing window manager detected. Assuming timing info is inaccurate.
statusline: AV: 00:00:47 / 00:01:27 (53%) A-V: 0.000 Cache: 10s+16MB
[---------------------------------------------------+----------------------------------------------]
cplayer:
cplayer:
cplayer: Exiting... (Quit)
HWアクセルオフ$ mpv --vo=opengl *yes*
cplayer: Auto-loading profile 'vo.opengl'
cplayer: Playing: vdpau_video_yes_hwpau.mkv
cplayer: (+) Video --vid=1 (*) (h264)
cplayer: (+) Audio --aid=1 (*) (aac)
cplayer: AO: [alsa] 48000Hz stereo 2ch float
cplayer: VO: [opengl] 1920x1080 yuv420p
statusline: AV: 00:00:51 / 00:01:27 (58%) A-V: 0.000 Cache: 9s+12MB
[--------------------------------------------------------+-----------------------------------------]
cplayer:
cplayer:
cplayer: Exiting... (Quit)
cplayer: Auto-loading profile 'vo.opengl'
cplayer: Playing: vdpau_video_yes_hwpau.mkv
cplayer: (+) Video --vid=1 (*) (h264)
cplayer: (+) Audio --aid=1 (*) (aac)
cplayer: AO: [alsa] 48000Hz stereo 2ch float
cplayer: VO: [opengl] 1920x1080 yuv420p
statusline: AV: 00:00:51 / 00:01:27 (58%) A-V: 0.000 Cache: 9s+12MB
[--------------------------------------------------------+-----------------------------------------]
cplayer:
cplayer:
cplayer: Exiting... (Quit)
うーん。10%-15%位、グラフでは負荷が減っているかんじはします。GPUがそもそもしょぼいですね。あはは。Windowsの印象はこの機体にR7-360を刺している時だから、そもそもぜんぜん性能が違うわけで。
VLC3.0.0betaはDecorderエラー。効いてない。
たとえば、ffmpegコンバートのアクセラレーションは次のコマンドで有効になりますが、時間の差がない。=効いていない気がする。 1秒のテストファイルなので差がないのか。少し前の印象です。
time ffmpeg -hwaccel vdpau -i HEVC.mp4 -vcodec libx264 -acodec copy -preset ultrafast hevc_264_with_vdpau.m4v
追記。こちらは有効無効で処理時間に差はないです。効いてないみたいです。今、R7 360は別の機体に刺しているのでこっちに持ってきてみるかなぁ。
追記。こちらは有効無効で処理時間に差はないです。効いてないみたいです。今、R7 360は別の機体に刺しているのでこっちに持ってきてみるかなぁ。
起動後いろいろ確かめてみよう。
確かめてみよう。
vdpauinfo
grep -i vdpau /var/log/Xorg.0.log
[ 9.179] (II) RADEON(0): [DRI2] VDPAU driver: r600
今日は、これ。ロールバックされた?!
[ 8.819] (II) RADEON(0): [DRI2] VDPAU driver: r600
mplayer -vc help | grep --color vdpau
ffmpeg12vdpau ffmpeg working FFmpeg MPEG-1/2 (VDPAU) [mpegvideo]
ffmpeg12vdpauold ffmpeg working FFmpeg MPEG-1/2 (VDPAU) [mpegvideo_vdpau]
ffwmv3vdpau ffmpeg problems FFmpeg WMV3/WMV9 (VDPAU) [wmv3]
ffwmv3vdpauold ffmpeg problems FFmpeg WMV3/WMV9 (VDPAU) [wmv3_vdpau]
ffvc1vdpau ffmpeg problems FFmpeg WVC1 (VDPAU) [vc1]
ffvc1vdpauold ffmpeg problems FFmpeg WVC1 (VDPAU) [vc1_vdpau]
ffhevcvdpau ffmpeg working FFmpeg HEVC / H.265 (VDPAU) [hevc]
ffh264vdpau ffmpeg working FFmpeg H.264 (VDPAU) [h264]
ffh264vdpauold ffmpeg working FFmpeg H.264 (VDPAU) [h264_vdpau]
ffodivxvdpau ffmpeg working FFmpeg MPEG-4,DIVX-4/5 (VDPAU) [mpeg4]
ffodivxvdpauold ffmpeg working FFmpeg MPEG-4,DIVX-4/5 (VDPAU) [mpeg4_vdpau]
※HEVC
ちなみに、4/9に入れた新バージョン以降、VLCのVDPAUをオンにしていてもこけなくなりました。だた、CPU使用率をみていると効いているとはいえない。効いていません。
ついでに最近まで勘違いしていたのですが、ultrafastは「圧縮をあまりしない代わりにファイルサイズがでかくなる(現象的にも)」です。「だがしかし、伸長する場合にCPUの負荷が低いので低スペックスマホなどではかえって軽く再生できるよ」。と理解しました(現象的にも)。そうなんです。ちゃんと設定されたacネットワークなら動画飛ばすのも十分な速度ですよね。デコード負荷が小さければ古いアンドロイドなんかでもけっこうがんばります。スマホのGPU性能とスマホの再生アプリがHW支援に対応しているかどうか?!というのも絡みますけど。すべてが速ければ何も問題ないんです。コンピューティングはたいていそうだけど。
mpvでVDPAU 16.04 beta2
mplayerならこんな感じ:
mplayer -vo vdpau h.264ファイル.mp4
mpvならこんなかんじ:
mpv --hwdec=vdpau h.264ファイル.mp4
とか。
mpv --vo=vdpau h.264ファイル.mp4
configでグルーピングして分岐するようにしておくと便利です。
ハードウェア加速対象フォーマット、かつ深度10bit以下でないとそもそもHW支援は効きません。H.264でもです。androidでも同じですよね。
mpv *x264*.mp4
Playing: x264-AAC.mp4
(+) Video --vid=1 (*) (h264)
VO: [vdpau] 1920x1080 yuv420p
[vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.
FPS: 23.976
Playing: x264-AAC.mp4
(+) Video --vid=1 (*) (h264)
VO: [vdpau] 1920x1080 yuv420p
[vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.
FPS: 23.976
mpv のconfigは、以下の3点セットで書き換えておくとよいです。そのうちhevcサポートもという記事をみた記憶があるんですが、いつかHEVC対応されるとうれしいですね。SDカードのないスマホ使っているもんで。
vim ~/.mpv/config or vim ~/.config/mpv/config 前者優先
hwdec=vdpau
hwdec-codecs=h264,vc1,wmv3,mpeg1video,mpeg2video
個別に書くとめんどくさいことに気がついたので、mpvの設定例 をまんま載せました。
http://poor-user.blogspot.jp/2016/04/mpv-player.html
3行目はデフォルトのはずなので、記入はいらない気もしますが、セットで切り貼りしてみてください。
voが複数行ないかチェックしてください。
当方の環境では、VLCは不安定です。 HW支援を有効にすると使い物にならないです。明示的に無効にしました。環境に依存するようなので一概にはいえません。
vdpauinfo/AMD HD6550/sumo(前時代)の場合
このクラスのGPUは今日現在3000円位で売られています。先日調達したAMD R7は17000円でした。予算に都合がつけば1万円以上のGPUがよろしいかと思います。安定しているかどうかは別。
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 YV12
422 16384 16384 UYVY YUYV
444 16384 16384 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 1 9216 2048 1152
VC1_MAIN 2 9216 2048 1152
VC1_ADVANCED 4 9216 2048 1152
MPEG4_PART2_SP 3 9216 2048 1152
MPEG4_PART2_ASP 5 9216 2048 1152
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 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R8G8B8A8 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
B10G10R10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
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 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
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 YV12
422 16384 16384 UYVY YUYV
444 16384 16384 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 1 9216 2048 1152
VC1_MAIN 2 9216 2048 1152
VC1_ADVANCED 4 9216 2048 1152
MPEG4_PART2_SP 3 9216 2048 1152
MPEG4_PART2_ASP 5 9216 2048 1152
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 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R8G8B8A8 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
B10G10R10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
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 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
sumoだからかもしれないが誤差=10%-30%ぐらいしか変化がない。効いているのは効いてます?! mpeg2のほうが得意なのかもしれません。この古いGPU。 |
関連ドライバなどは以下の通りの導入状況です。ii=インストールされているって意味。
» dpkg -l | grep "AMD/ATI"
ii xserver-xorg-video-ati 1:7.6.1-1ubuntu2 amd64 X.Org X server -- AMD/ATI display driver wrapper
ii xserver-xorg-video-radeon 1:7.6.1-1ubuntu2 amd64 X.Org X server -- AMD/ATI Radeon display driver
04/02 15:14:50 /home/zish/Desktop
» dpkg -l | grep "vdpau"
ii libvdpau1:amd64 1.1.1-3ubuntu1 amd64 Video Decode and Presentation API for Unix (libraries)
ii mesa-vdpau-drivers:amd64 11.1.2-1ubuntu2 amd64 Mesa VDPAU video acceleration drivers
ii vdpau-driver-all:amd64 1.1.1-3ubuntu1 amd64 Video Decode and Presentation API for Unix (driver metapackage)
ii vdpauinfo 1.0-1 amd64 Video Decode and Presentation API for Unix (vdpauinfo utility)