VDPAU

VDPAU
原作者エヌビディア
開発者フリーデスクトップ
初回リリース2009年9月17日[ 1 ] (2009年9月17日
安定版リリース
1.5 / 2022年3月7日[ 2 ] ( 2022-03-07 )
書かれたCC++
オペレーティング·システムクロスプラットフォーム
タイプ
ライセンスMITライセンス
Webサイトwww .freedesktop .org /wiki /Software /VDPAU /

Unix用ビデオデコードおよびプレゼンテーションAPIVDPAU)は、ロイヤリティフリーのアプリケーションプログラミングインターフェース(API)であり、 MITライセンスの下で配布される無料のオープンソースライブラリlibvdpau)としての実装でもあります。[ 1 ] VDPAUはNvidiaによってもサポートされています。[ 3 ]

VDPAU インターフェイスは、 Nvidia GeForce ドライバーnouveauamdgpuなどのデバイス ドライバーによって実装され、 VLC メディア プレーヤーGStreamerなどのエンド ユーザー ソフトウェアに、Nvidia の PureVideo や AMD のUnified Video Decoder などのグラフィックス処理ユニット(GPU)上の特定用途向け集積回路(ASIC) ブロックの形式で利用可能なビデオ解凍アクセラレーション ハードウェアへの標準化されアクセスを提供し、それを利用できるようにします。

VDPAUはUnix系オペレーティングシステムLinuxFreeBSDSolarisを含む)を対象としています。[ 4 ] [ 5 ] [ 6 ]

インターフェースの機能範囲

VDPAUは、ビデオプログラムがGPU上の専用のビデオデコードASICにアクセスして、ビデオデコードプロセスとビデオ後処理の一部をCPUからGPUにオフロードすることを可能にします。[ 7 ]

現在、VDPAUによってGPUにオフロードできる部分は、MPEG-1MPEG -2 、 MPEG-4 ASP ( MPEG-4 Part 2)H.264/MPEG-4 AVC 、VC- 1WMV3 / WMV9でエンコードされたビデオの動き補償(mo comp)、逆離散コサイン変換(iDCT)、VLD(可変長デコード)、およびデブロッキングです。[ 4 ]これらのうちどのコーデックがGPUにオフロードできるかは、GPUハードウェアの世代バージョンによって異なります。

歴史

VDPAUはもともとNvidiaがGeForce 8シリーズ以降のGPUに搭載されているPureVideo SIPブロック用に設計しました。 [ 8 ]

2015年3月9日、Nvidiaは、メイン、メイン4:4:4、メイン静止画、メイン10、メイン12プロファイルの高効率ビデオコーディング(HEVC)デコードをサポートするVDPAUバージョン1.0をリリースしました。 [ 9 ]

VDPAU を実装するデバイス ドライバーとビデオ コントローラー

VDPAU はX11ソフトウェアデバイス ドライバーに実装されていますが、ハードウェア GPU のアクセラレーション機能に依存しています。

ドライバがVDPAUを実装しているすべてのNvidiaグラフィックカードは、Nvidia PureVideoにリストされています。[ 10 ]

S3 Graphicsは、 Chrome 400ビデオカードのLinuxドライバにVDPAUを追加しました。Linuxデバイスドライバのバージョン14.02.17以降、VDPAUはS3 Chrome 430 GT、S3 Chrome 440 GTX、S3 Chrome 530 GT、S3 Chrome 540 GTXハードウェアで利用可能です。[ 11 ]

ATI/AMDは、VDPAUアクセラレーションを搭載したRadeon HD 4000+グラフィックカード用のオープンソースドライバーをリリースしました。[ 12 ] [ 13 ]

IntelはVDPAUドライバを提供しておらず、 VA-APIのみをサポートしています。ただし、 libvdpau-va-glを使用することで、IntelのVA-APIドライバを使用することは可能です。

Nvidiaは、他のGPU設計者がオープンソースのVDPAUライブラリと互換性のある製品を開発し、IntelとATIのハードウェア固有のドライバの例としてlibvdpau_intel.soとlibvdpau_ati.soを挙げてVDPAUアクセラレーションに対応したドライバを提供することを期待している。[ 14 ] IntelはVDPAUを検討中であると述べている。[ 15 ]

sunxi SoCAllwinner)には実験的なVDPAU実装がある。[ 16 ]

Mesa v8.0 には、Gallium3Dを利用するビデオ カード用の VDPAU が含まれています。

汎用VDPAUドライバー

2013年末現在、 OpenGL(描画とスケーリング用)とVA-API(利用可能な場合)(デコード用)を使用する独自開発のバックエンドドライバが存在する。 [ 17 ]一部のIntelグラフィックスおよびAdobe Flash Playerで動作することが報告されている。[ 18 ]

OpenGL機能のみによる高速スケーリングが必要なのは、主にFlash PlayerがVDPAUを利用できない場合に高速化されないスケーリングを使用するためです。LinuxまたはFreeBSDで動作する他のほぼすべてのビデオソフトウェアはXvをサポートしています。ネイティブVDPAUをサポートしていない低速コンピューターでフルスクリーンビデオを表示するには、 Xvが不可欠です。

一部のソフトウェアでは VDPAU 経由の HW デコードがサポートされていますが、VA-API はサポートされていないため、HW デコード用の VDPAU から VA-API への変換は、最近の Intel グラフィックス ハードウェアで役立ちます。

VDPAUをサポートするソフトウェア

VDPAUはVA-APIOpenMAX ILバックエンドとしても利用でき、VA-APIやOpenMAX IL自体もVDPAU機能のサブセットをカバーしているため、VA-APIやOpenMAX ILを使用するソフトウェアはVDPAUを部分的に使用することもできます(例:VLCメディアプレーヤー)。[ 31 ]

Nvidia VDPAU 機能セット

Nvidia VDPAU機能セット[ 32 ]は、異なるレベルの(Nvidia PureVideo)ハードウェアデコード機能をサポートするGPUの異なるハードウェア世代です。機能セットA、B、Cでは、ビデオの最大幅と高さは2048ピクセル、最小の幅と高さは48ピクセルで、すべてのコーデックは現在最大8192マクロブロック(VC-1/WMV9の場合は8190)に制限されています。部分的な加速とは、VLD(ビットストリーム)デコードはCPUで実行され、GPUはIDCT動き補償デブロッキングのみを実行することを意味します。完全な加速とは、GPUがVLD、IDCT、動き補償、デブロッキングのすべてを実行することを意味します。

機能セットA
H.264の完全アクセラレーションと、 MPEG-1MPEG-2VC-1 / WMV9の部分アクセラレーションをサポートします。
機能セットB
MPEG-1、MPEG-2、VC-1/WMV9、H.264 の完全なアクセラレーションをサポートします。
すべての Feature Set B ハードウェアは、769 ~ 784、849 ~ 864、929 ~ 944、1009 ~ 1024、1793 ~ 1808、1873 ~ 1888、1953 ~ 1968、2033 ~ 2048 ピクセルの幅の H.264 をデコードできないことに注意してください。
機能セットC
MPEG-1、MPEG-2、MPEG-4 Part 2 (別名 MPEG-4 ASP)、VC-1/WMV9、H.264 の完全なアクセラレーションをサポートします。
グローバル モーション補償とデータ パーティショニングは、MPEG-4 Part 2 ではサポートされていません。
機能セットD
機能セット C と似ていますが、最大 4032 × 4080 ピクセルの解像度の H.264 と、最大 4032 × 4048 ピクセルの解像度の MPEG-1/MPEG-2 のデコードのサポートが追加されました。
機能セットE
機能セットDに似ていますが、最大4096×4096ピクセルの解像度のH.264と最大4080×4080ピクセルの解像度のMPEG-1/MPEG-2のデコードのサポートが追加されています。VDPAU機能セットEを搭載したGPUは、破損したビデオストリームをデコードする際に、より堅牢なエラー処理を提供する強化されたエラー隠蔽モードをサポートしています。[ 33 ]
機能セットF
最大4096×2304ピクセルの解像度までの専用のHEVCメイン(8ビット)、メイン10(10ビット)、VP9プロファイル0(8ビット)ビデオデコードを導入しました。[ 34 ]
機能セットG
HEVC Main 12(12ビット)およびVP9 Profile 2(12ビット)ビデオデコードのハードウェアサポートが追加されました。[ 34 ]
機能セットH
機能セットHは、8192x8192(8k解像度)のH.265/HEVCビデオストリームのハードウェアアクセラレーションによるデコードが可能です。[ 35 ]
機能セット I
特徴セットHに類似。[ 34 ]
機能セット J
機能セットJはHEVC 444デコードのサポートを追加します。[ 34 ]
機能セットK
機能セットKは、8192x8192(8k解像度)AV1 MAINプロファイルビデオストリームのハードウェアアクセラレーションによるデコードが可能です。[ 34 ]

libvdpau スタンドアロン VDPAU ライブラリ

libvdpauスタンドアロンVDPAUライブラリは、NVIDIA社が自社のLinuxグラフィックドライバとは独立して配布しており、NVIDIA社外の企業によるVDPAUの導入を支援することを目的としています。このオープンソースライブラリパッケージには、ラッパーライブラリとデバッグライブラリが含まれており、他社がデバイスドライバにVDPAUを実装できるようにしています。[ 8 ] [ 36 ] [ 37 ] [ 38 ]

参照

参考文献

  1. ^ a b「libvdpau 0.2 の発表」 . freedesktop.org . 2009年9月17日.
  2. ^ "[VDPAU] [ANNOUNCE] libvdpau 1.5" . Freedesktop.org . 2022年3月7日. 2022年3月8日閲覧
  3. ^ 「GStreamer が NVDEC NVIDIA GPU デコード サポートを追加 - Phoronix」
  4. ^ a b Michael Larabel (2008年11月14日). 「NVIDIAドライバーがLinuxにPureVideo機能をもたらす」 . Phoronix . 2009年3月13日閲覧
  5. ^ Michael Larabel (2008年11月14日). 「NVIDIA VDPAUベンチマーク」 . Phoronix . 2009年3月13日閲覧
  6. ^ 「VDPAU: Unix用ビデオデコードおよびプレゼンテーションAPI」。Nvidia。
  7. ^ 「Video4Linux2: 標準化されたビデオコーデックAPIへの道」(PDF) . Events.linusfoundation.org\accessdate=2016-05-25 .オリジナル(PDF)から2014年1月6日にアーカイブ。 2013年12月4日閲覧
  8. ^ a b「NVIDIA、スタンドアロンのVDPAUライブラリをリリース - Phoronix」。Phoronix。
  9. ^ Larabel, Michael (2015年3月9日). 「NVIDIA、HEVC/H.265デコードに対応したVDPAU 1.0を発表」 . Phoronix . 2015年3月9日閲覧
  10. ^ 「PureVideo サポート表」(PDF) . Nvidia . 2014年5月22日閲覧
  11. ^ 「アーカイブコピー」 2012年7月8日時点のオリジナルよりアーカイブ。 2010年2月28日閲覧{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク)
  12. ^ 「[PATCH] drm/radeon: RV710-SIのUVDサポート」 Lists.freedesktop.org . 2013年4月2日. 2016年5月25日閲覧
  13. ^ 「AMD、オープンソースのUVDビデオサポートをリリース – Phoronix」 . Phoronix . 2016年5月25日閲覧
  14. ^ 「VDPAU: X11 ウィンドウ システム統合レイヤー。Download.nvidia.com
  15. ^ 「Intel、X.OrgドライバーのVDPAUサポートを検討中 – Phoronix」 . Phoronix . 2016年5月25日閲覧
  16. ^ "GitHub – linux-sunxi/libvdpau-sunxi: Allwinner sunxi SoCs向け実験的VDPAU (WiP)" . GitHub . 2016年5月25日閲覧。
  17. ^ 「GitHub – i-rinat/libvdpau-va-gl: OpenGL/VAAPIバックエンドを備えたVDPAUドライバー」 GitHub . 2016年5月25日閲覧
  18. ^ 「IntelグラフィックカードにおけるAdobe Flash Playerハードウェアアクセラレーション」 WebUpd8 2013年9月5日。 2016年5月25日閲覧
  19. ^ 「Boxeeブログ » boxee for windows、メジャーリーグへ進出」 。 2009年6月26日時点のオリジナルよりアーカイブ。 2009年6月26日閲覧
  20. ^ 「Fluendoの新しいコーデックはVDPAUとVA-APIをサポート – Phoronix」 . Phoronix.com . 2016年5月25日閲覧
  21. ^ Michael Larabel (2008年11月29日). 「MythTVがNVIDIA VDPAUのサポートを追加」 . Phoronix . 2009年3月13日閲覧
  22. ^ 「XBMC for Linux VDPAU – NVIDIA GPU ビデオデコードサポート(現在メインラインSVNに含まれています)」 Xbmc.org。2009年2月28日時点のオリジナルからアーカイブ。 2016年5月25日閲覧
  23. ^ 「Kodi – オープンソースのホームシアターソフトウェア」 Xbmc.org。2009年4月14日時点のオリジナルよりアーカイブ2016年5月25日閲覧。
  24. ^ 「XBMCがVDPAUのメインラインサポートを取得 – Phoronix」。Phoronix。
  25. ^ 「XBMCがVDPAUのメインラインサポートを取得」 Phoronix.com 2009年3月23日2016年5月25日閲覧
  26. ^ Michael Larabel (2008年12月17日). 「XineがNVIDIAのVDPAUをサポート」 . Phoronix . 2009年3月13日閲覧。
  27. ^ “xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713” . Debian.org. 2012年7月8日時点のオリジナルよりアーカイブ。 2016年5月25日閲覧
  28. ^ ddennedy (2009-11-30). 「MLT 0.4.11 Git版用VDPAU」 MLT . 2010年2月27日時点のオリジナルよりアーカイブ。 2009年11月30日閲覧
  29. ^ 「Flash Player 10.2ベータ版 - VDPAUアクセラレーション搭載!: Linux」 reddit . 2010年12月.
  30. ^ 「mpvリファレンスマニュアル」 。 2016年4月9日閲覧
  31. ^ Michael Larabel (2009年2月3日). 「Intel VA-API向けNVIDIA VDPAUバックエンド」 . Phoronix . 2009年3月13日閲覧
  32. ^ 「付録G. VDPAUサポート」 . Nvidia . 2016年12月14日. 2017年1月3日閲覧
  33. ^ 「Linux上のNVIDIA Maxwell GPU用VDPAU」 . Phoronix.com . 2014年3月3日. 2016年5月25日閲覧
  34. ^ a b c d e「付録G. VDPAUサポート」 . us.download.nvidia.com . 2022年6月2日閲覧
  35. ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64/EM64T) ディスプレイ ドライバー バージョン:367.27
  36. ^ "[発表] libvdpau 0.2" . Lists.freedesktop/org。 2009 年 9 月 17 日2016 年 5 月 25 日に取得
  37. ^ 「NVIDIA、DRI2パッチにVDPAUを提案 – Phoronix」 . Phoronix . 2016年5月25日閲覧
  38. ^ 「[PULL] サーバーのDRI2実装にVDPAUドライバーを追加」 xorg. 2009年10月23日. 2016年5月25日閲覧
  39. ^ 「VideoToolbox - Apple Developer Documentation」 . developer.apple.com . 2018年8月5日閲覧。