| VDPAU | |
|---|---|
| 原作者 | エヌビディア |
| 開発者 | フリーデスクトップ |
| 初回リリース | 2009年9月17日[ 1 ] (2009年9月17日) |
| 安定版リリース | |
| 書かれた | C、C++ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | |
| ライセンス | MITライセンス |
| Webサイト | www |
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 Part 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のハードウェア固有のドライバの例としてlibvdpau_intel.soとlibvdpau_ati.soを挙げてVDPAUアクセラレーションに対応したドライバを提供することを期待している。[ 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 PlayerがVDPAUを利用できない場合に高速化されないスケーリングを使用するためです。LinuxまたはFreeBSDで動作する他のほぼすべてのビデオソフトウェアはXvをサポートしています。ネイティブVDPAUをサポートしていない低速コンピューターでフルスクリーンビデオを表示するには、 Xvが不可欠です。
一部のソフトウェアでは VDPAU 経由の HW デコードがサポートされていますが、VA-API はサポートされていないため、HW デコード用の VDPAU から VA-API への変換は、最近の Intel グラフィックス ハードウェアで役立ちます。
VDPAUをサポートするソフトウェア
- Avidemuxバージョン 2.6 以降
- ボクシー[ 19 ]
- FFmpeg
- Gストリーマー[ 20 ]
- フルエンド
- MPlayer
- ミスTV [ 21 ]
- Kodi(旧XBMC)[ 22 ] [ 23 ] [ 24 ] [ 25 ]
- シネ[ 26 ] [ 27 ]
- MLT [ 28 ]
- Adobe Flash 10.2 Stage Video以降のバージョン[ 29 ]
- VLCメディアプレーヤー2.1
- mpv [ 30 ]
VDPAUはVA-APIやOpenMAX 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-1、MPEG-2、VC-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 ]
参照
- ピュアビデオ
- 統合ビデオデコーダー
- 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 Inc.のAPIです。[ 39 ]
- OpenMAX IL (Open Media Acceleration Integration Layer) - Khronos Groupが提供するロイヤリティフリーのクロスプラットフォーム メディア抽象化 API
参考文献
- ^ a b「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」。
- ^ a b Michael Larabel (2008年11月14日). 「NVIDIAドライバーがLinuxにPureVideo機能をもたらす」 . Phoronix . 2009年3月13日閲覧。
- ^ Michael Larabel (2008年11月14日). 「NVIDIA VDPAUベンチマーク」 . Phoronix . 2009年3月13日閲覧。
- ^ 「VDPAU: Unix用ビデオデコードおよびプレゼンテーションAPI」。Nvidia。
- ^ 「Video4Linux2: 標準化されたビデオコーデックAPIへの道」(PDF) . Events.linusfoundation.org\accessdate=2016-05-25 .オリジナル(PDF)から2014年1月6日にアーカイブ。 2013年12月4日閲覧。
- ^ a b「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 SoCs向け実験的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年3月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年3月13日閲覧。
- ^ “xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713” . Debian.org. 2012年7月8日時点のオリジナルよりアーカイブ。 2016年5月25日閲覧。
- ^ ddennedy (2009-11-30). 「MLT 0.4.11 Git版用VDPAU」 MLT . 2010年2月27日時点のオリジナルよりアーカイブ。 2009年11月30日閲覧。
- ^ 「Flash Player 10.2ベータ版 - VDPAUアクセラレーション搭載!: Linux」 reddit . 2010年12月.
- ^ 「mpvリファレンスマニュアル」 。 2016年4月9日閲覧。
- ^ Michael Larabel (2009年2月3日). 「Intel VA-API向けNVIDIA VDPAUバックエンド」 . Phoronix . 2009年3月13日閲覧。
- ^ 「付録G. VDPAUサポート」 . Nvidia . 2016年12月14日. 2017年1月3日閲覧。
- ^ 「Linux上のNVIDIA Maxwell GPU用VDPAU」 . Phoronix.com . 2014年3月3日. 2016年5月25日閲覧。
- ^ a b c d e「付録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日閲覧。