[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:33341] Intel Media Driver for VAAPI をテスト



阿部です。
実験的な試みですが、vaapiドライバとして普段利用している intel-vaapi-driver(i965_drv_video.so)から
Intel謹製のIntel Media Driver for VAAPI(iHD_drv_video.so)に切り替えてテスト中です。

1. Intel謹製のIntel Media Driver for VAAPI(iHD_drv_video.so)インストール
関連サイト:
intel-gmmlib-19.4.1 : https://github.com/intel/gmmlib/releases
libva-utils-2.6.0: https://github.com/intel/libva-utils/releases
intel-media-20.1.0r : https://github.com/intel/media-driver/releases/tag/intel-media-20.1.0r

上記リンクからソースを入手してPlamoBuildで野良ビルドし、インストールしました。
作成したパッケージは下記。
intel_gmmlib-19.4.1-x86_64-B1.txz
libva_utils-2.6.0-x86_64-B1.txz
Intel_iHD_driver-20.1.0r-x86_64-B1.txz

X立ち上げ時に iHD_drv_video.so がロードされるように、下記を .xinitrc に追記。
=== >8 === >8 === >8 === >8 ===
export LIBVA_DRIVERS_PATH=/usr/lib/dri
export LIBVA_DRIVER_NAME=iHD
=== >8 === >8 === >8 === >8 ===

X起動後、iHD_drv_videoがロードされているかどうか vainfoコマンドで確認。
$ vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.7.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.pre ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileVP8Version0_3          :	VAEntrypointVLD

動画再生してみた結果、正直言って i965_drv_video と iHD_drv_video とで感覚的に顕著な
差異は認められませんでした。(iHD_drv_video に切り替えたからといって飛躍的に動画再生特性が
上がるわけではなさそう。) 

2. Intel Media SDKをインストール後、ffmegをリビルドしてffmpegにIntel qsvエンコード機能
  を持たせる
 
関連サイト:
Media SDK : https://github.com/Intel-Media-SDK/MediaSDK/releases

PlamoBuildにてパッケージを野良ビルド。
作成したパッケージは
Intel_MediaSDK-19.4.0-x86_64-B1.txz

ffmeg-4.2.2 を --enable-libmfxオプション付加でリビルド&インストールしました。
Intel qsvエンコードが利用できるようになっているか確認。
$ ffmpeg -encoders |grep qsv
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.3.0 (GCC)
  configuration: --prefix=/usr --shlibdir=/usr/lib --libdir=/usr/lib --mandir=/usr/share/man --disable-static --disable-doc --enable-shared --enable-gnutls --enable-hwaccels --enable-vaapi --enable-vdpau --enable-libmfx --enable-nonfree --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-swscale --enable-avfilter --enable-pthreads --enable-bzlib --enable-libcdio --enable-libass --enable-libbluray --enable-libopus --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-libspeex --enable-libvpx --enable-libwebp --enable-libopenjpeg --enable-libpulse --disable-libsmbclient --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-openal --enable-libfdk-aac --disable-openssl --enable-zlib --disable-debug --arch=x86_64
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
 V..... h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V..... hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V..... mjpeg_qsv            MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
 V..... mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)

エンコードのテスト:
コマンド例
$ ffmpeg -hwaccel qsv -c:v mpeg2_qsv -i input-file.vob -c:v h264_qsv -vf 'scale_qsv=1280:720' -q:v 23 -c:a copy output-file.mp4
かなりサクサクとエンコードが完了しました。

とりあえずこんなところです。引き続きテスト継続しています。
とりとめのない報告で申し訳ありません。

以上



[検索ページ] [メール一覧]
Plamo ML 公開システム