| 原作者 | エヌビディア |
|---|---|
| 開発者 | フリーデスクトップ |
| 初回リリース | 2009年9月17日[1] |
| 安定版リリース | 1.5 / 2022年3月7日[2] |
| 書かれた | C、C++ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | |
| ライセンス | MITライセンス |
| Webサイト | www.freedesktop.org/wiki/Software/VDPAU/ |
Unix用ビデオデコードおよびプレゼンテーションAPI(VDPAU)は、ロイヤリティフリーのアプリケーションプログラミングインターフェイス(API)であり、MITライセンスの下で配布される無料のオープンソース ライブラリ(libvdpau)としての実装です。[1] VDPAUはNvidiaによってもサポートされています。[3]
VDPAU インターフェイスは、 Nvidia GeForce ドライバー、nouveau、amdgpuなどのデバイス ドライバーによって実装され、 VLC メディア プレーヤーやGStreamerなどのエンド ユーザー ソフトウェアに、Nvidia のPureVideoやAMD の Unified Video Decoderなどのグラフィックス プロセッシング ユニット(GPU) 上の特定用途向け集積回路(ASIC)ブロックの形式で利用可能なビデオ解凍アクセラレーション ハードウェアへの標準化されたアクセスを提供し、それを利用できるようにします。
VDPAUはUnix系 オペレーティングシステム(Linux、FreeBSD、Solarisを含む)を対象としています。[4] [5] [6]
インターフェースの機能範囲
VDPAUは、ビデオプログラムがGPU上の特殊なビデオデコードASICにアクセスして、ビデオデコードプロセスとビデオ後処理の一部をCPUからGPUにオフロードすることを可能にします。[7]
現在、VDPAUによってGPUにオフロードできる部分は、MPEG - 1、MPEG-2、MPEG-4 ASP(MPEG-4パート2)、H.264/MPEG-4 AVC、VC-1、WMV3 / 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のハードウェア固有のドライバの例を挙げて、VDPAUアクセラレーションを備えたドライバを提供することを期待している。libvdpau_intel.soとlibvdpau_ati.so。[14] IntelはVDPAUを検討していると述べている。[15]
sunxi SoC(Allwinner)には実験的なVDPAU実装がある。[16]
Mesa v8.0 には、Gallium3D を利用するビデオ カード用の VDPAU が含まれています。
汎用 VDPAU ドライバー
2013年後半現在、 OpenGL(描画と拡大縮小用)とVA-API(利用可能な場合)(デコード用)を使用する、独自に開発されたバックエンドドライバーがあります。 [17]一部のIntelグラフィックスとAdobe Flash Playerで動作することが報告されています。[18]
OpenGL 機能のみによる高速スケーリングが必要なのは、主に Flash プレーヤーのためです。Flash プレーヤーは、VDPAU が利用できない場合は高速化されていないスケーリングを使用します。Linux またはFreeBSDで実行される他のほぼすべてのビデオ ソフトウェアはXv をサポートしています。ネイティブ VDPAU サポートのない低速コンピューターで全画面ビデオを表示するには、これが不可欠です。
一部のソフトウェアは VDPAU 経由の HW デコードをサポートしていますが、VA-API 経由の HW デコードはサポートしていないため、HW デコード用の VDPAU から VA-API への変換は、最近の Intel グラフィックス ハードウェアで役立ちます。
VDPAUをサポートするソフトウェア
- Avidemuxバージョン 2.6 以降
- ボクシー[19]
- FFmpeg
- Gストリーマー[20]
- フルエンド
- MPlayer
- ミスTV [21]
- Kodi(旧XBMC)[22] [23] [24] [25]
- シネ[26] [27]
- ML [28]
- Adobe Flash 10.2 Stage Video以降のバージョン[29]
- VLC メディア プレーヤー2.1
- mpv [30]
VDPAUは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-1、MPEG-2、VC-1 / WMV9の部分的なアクセラレーションをサポートします。
- 機能セット B
- MPEG-1、MPEG-2、VC-1/WMV9、H.264 の完全なアクセラレーションをサポートします。
- すべての機能セット 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 社以外の企業による VDPAU の採用を支援するために、Nvidia 社によって独自の Linux グラフィック ドライバとは独立して配布されています。このオープン ソース ライブラリ パッケージには、他のメーカーがデバイス ドライバに VDPAU を実装できるようにするラッパー ライブラリとデバッグ ライブラリが含まれています。[8] [36] [37] [38]
参照
- ピュアビデオ
- 統合ビデオデコーダー
- DirectX ビデオ アクセラレーション (DXVA) – Microsoft Windowsオペレーティング システム 用の VDPAU と同等の API 。
- ビデオ アクセラレーション API (VA API) – Linux/UNIX オペレーティング システム用の代替ビデオ アクセラレーション API。
- X-Video Bitstream Acceleration (XvBA) – Linux/UNIX オペレーティング システム用の代替ビデオ アクセラレーション API。
- X-Video Motion Compensation (XvMC) API – Linux/UNIX オペレーティング システム用の代替かつ最も古いビデオ アクセラレーション API。
- 分散コーデック エンジン (libcde) は、OMAPベースの組み込みシステムのビデオ コーデック エンジン用のTexas Instruments APIです。
- ビデオデコードアクセラレーションフレームワークは、Mac OS XでH.264のハードウェアアクセラレーションデコードを行うためのApple社のAPIです。
- VideoToolboxは、 Apple TVとMac OS Xでのハードウェアアクセラレーションによるデコード用にApple社が開発したAPIである。[39]
- OpenMAX IL (Open Media Acceleration Integration Layer) - Khronos Groupのロイヤリティフリーのクロスプラットフォーム メディア抽象化 API
参考文献
- ^ ab 「libvdpau 0.2 の発表」。freedesktop.org。2009年 9 月 17 日。
- ^ "[VDPAU] [ANNOUNCE] libvdpau 1.5". Freedesktop.org . 2022年3月7日. 2022年3月8日閲覧。
- ^ 「GStreamer が NVDEC NVIDIA GPU デコード サポートを追加 - Phoronix」。
- ^ ab Michael Larabel (2008-11-14). 「NVIDIA ドライバーが Linux に PureVideo 機能をもたらす」. Phoronix . 2009-03-13閲覧。
- ^ Michael Larabel (2008-11-14). 「NVIDIA VDPAU ベンチマーク」. Phoronix . 2009-03-13閲覧。
- ^ 「VDPAU: Unix 用ビデオ デコードおよびプレゼンテーション API」。Nvidia。
- ^ 「Video4Linux2: 標準化されたビデオ コーデック API への道」(PDF)。Events.linusfoundation.org \accessdate=2016-05-25 。2014年 1 月 6 日のオリジナル(PDF)からアーカイブ。2013年 12 月 4 日に取得。
- ^ ab 「NVIDIA がスタンドアロン VDPAU ライブラリをリリース – Phoronix」。Phoronix。
- ^ Larabel, Michael (2015 年 3 月 9 日)。「NVIDIA が HEVC/H.265 デコードに対応した VDPAU 1.0 を発表」。Phoronix。2015年3月 9 日閲覧。
- ^ 「PureVideo サポート表」(PDF) . Nvidia . 2014 年 5 月 22 日閲覧。
- ^ 「アーカイブコピー」。2012年7月8日時点のオリジナルよりアーカイブ。 2010年2月28日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ 「[PATCH] drm/radeon: RV710-SI の UVD サポート」Lists.freedesktop.org。2013 年 4 月 2 日。2016年 5 月 25 日閲覧。
- ^ 「AMD、オープンソースのUVDビデオサポートをリリース – Phoronix」。Phoronix 。 2016年5月25日閲覧。
- ^ 「VDPAU: X11 ウィンドウ システム統合レイヤー」。Download.nvidia.com。
- ^ 「Intel、X.Org ドライバーの VDPAU サポートを検討中 – Phoronix」。Phoronix 。2016 年 5 月 25 日閲覧。
- ^ 「GitHub – linux-sunxi/libvdpau-sunxi: Allwinner sunxi SoC 向け実験的 VDPAU (WiP)」。GitHub。2016年 5 月 25 日閲覧。
- ^ 「GitHub – i-rinat/libvdpau-va-gl: OpenGL/VAAPI バックエンドを備えた VDPAU ドライバー」。GitHub。2016年5 月 25 日閲覧。
- ^ 「Intel グラフィック カードでの Adobe Flash Player ハードウェア アクセラレーション」。WebUpd8。2013年9 月 5 日。2016年 5 月 25 日閲覧。
- ^ 「Boxee ブログ » boxee for windows、メジャーリーグへ進出」。2009 年 6 月 26 日時点のオリジナルよりアーカイブ。2009年6 月 26 日閲覧。
- ^ 「Fluendo の新しいコーデックが VDPAU、VA-API をサポート – Phoronix」。Phoronix.com。2016年 5 月 25 日閲覧。
- ^ Michael Larabel (2008-11-29). 「MythTV が NVIDIA VDPAU のサポートを追加」. Phoronix . 2009-03-13閲覧。
- ^ 「XBMC for Linux VDPAU – NVIDIA GPU ビデオ デコード サポート (現在メインライン SVN にあります)」。Xbmc.org。2009 年 2 月 28 日時点のオリジナルよりアーカイブ。2016年 5 月 25 日閲覧。
- ^ 「Kodi – オープンソースのホームシアターソフトウェア」。Xbmc.org。2009年4月14日時点のオリジナルよりアーカイブ。2016年5月25日閲覧。
- ^ 「XBMC が VDPAU のメインライン サポートを受ける – Phoronix」。Phoronix。
- ^ 「XBMC が VDPAU のメインライン サポートを受ける」Phoronix.com 2009 年 3 月 23 日2016 年 5 月 25 日閲覧。
- ^ Michael Larabel (2008-12-17). 「Xine が NVIDIA の VDPAU のサポートを開始」. Phoronix . 2009-03-13閲覧。
- ^ "xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713". Debian.org . 2016年5月25日閲覧。[永久リンク切れ ]
- ^ ddennedy (2009-11-30). 「VDPAU for MLT 0.4.11 Git バージョン」。MLT。2010-02-27にオリジナルからアーカイブ。2009-11-30に取得。
- ^ 「Flash Player 10.2 ベータ版 - VDPAU アクセラレーション搭載! : Linux」。reddit。2010年 12 月。
- ^ 「mpv リファレンスマニュアル」。2016年4月9日閲覧。
- ^ Michael Larabel (2009-02-03). 「Intel の VA-API 用の NVIDIA VDPAU バックエンド」. Phoronix . 2009-03-13閲覧。
- ^ 「付録 G. VDPAU サポート」。Nvidia。2016年12 月 14 日。2017 年 1 月 3 日閲覧。
- ^ 「Linux 上の NVIDIA Maxwell GPU 用 VDPAU」。Phoronix.com。2014年 3 月 3 日。2016年 5 月 25 日閲覧。
- ^ abcde 「付録G. VDPAUサポート」。us.download.nvidia.com 。 2022年6月2日閲覧。
- ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64/EM64T) ディスプレイ ドライバー バージョン:367.27
- ^ “[発表] libvdpau 0.2”. Lists.freedesktop/org。 2009 年 9 月 17 日。2016 年 5 月 25 日に取得。
- ^ 「NVIDIA が DRI2 パッチに VDPAU を提案 – Phoronix」。Phoronix 。2016 年 5 月 25 日閲覧。
- ^ 「[PULL] サーバーの DRI2 実装に VDPAU ドライバーを追加」 xorg. 2009 年 10 月 23 日. 2016 年 5 月 25 日閲覧。
- ^ 「VideoToolbox - Apple Developer Documentation」。developer.apple.com 。 2018年8月5日閲覧。
外部リンク
- Nvidia の VDPAU (Unix 用ビデオ デコードおよびプレゼンテーション API)
- NVIDIA VDPAU ベンチマーク
- Intel VA-API 用の NVIDIA VDPAU バックエンド
- MythTV による VDPAU の使用
