New Video Decode and Presentation API
I'm pleased to announce a new video API for Unix and Unix-like platforms, and a technology preview implementation of this API from NVIDIA. The API is called VDPAU (Video Decode and Presentation API for Unix). The current API documentation is here: ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html Some highlights of VDPAU: * Defines an API for GPU-accelerated decode of MPEG-1, MPEG-2, H.264, and VC-1 bitstreams. * Defines an API for post-processing of decoded video, including temporal and spatial deinterlacing, inverse telecine, and noise reduction. * Defines an API for timestamp-based presentation of final video frames. * Defines an API for compositing sub-picture, on-screen display, and other UI elements. Note that VDPAU does not address content protection. Some highlights/limitations of NVIDIA's current implementation: * Supported on NVIDIA GPUs with the NVIDIA second generation video processors (see the end of this announcement for a complete GPU list). * Currently, only one video stream can be decoded at a time; we hope to lift this restriction eventually. * Available in the 180.06 NVIDIA public beta release: http://www.nvidia.com/object/linux_display_ia32_180.06.html http://www.nvidia.com/object/linux_display_amd64_180.06.html http://www.nvidia.com/object/freebsd_180.06.html http://www.nvidia.com/object/solaris_display_180.06.html The VDPAU support in the NVIDIA 180.06 beta release is still very preliminary. We are aware of cases of visual corruption and in some cases GPU hangs. We will be working on these issues over the next several NVIDIA driver releases. While NVIDIA's VDPAU implementation is not ready for end user use yet, it should be far enough along that interested application developers can begin working with it. Additionally, NVIDIA has developed patches to ffmpeg and MPlayer to demonstrate a video player using VDPAU: ftp://download.nvidia.com/XFree86/vdpau/mplayer-vdpau-3076399.tar.bz2 These patches include changes against libavcodec, libavutil, ffmpeg, and MPlayer itself; they may serve as an example of how to use VDPAU. Once we do some further testing, bugfixing, and cleanup, we will contribute the MPlayer patches to the MPlayer developers. If other hardware vendors are interested, they are welcome to also provide implementations of VDPAU. The VDPAU API was designed to allow a vendor backend to be selected at run time. Thanks, Andy Ritger Manager, NVIDIA Linux Graphics Driver VDPAU is currently supported on the following NVIDIA GPUs: Desktop GPUs: GeForce 200 Series GeForce 9 Series GeForce 86xx Series GeForce 85xx Series GeForce 84xx Series GeForce 8800 GTS 512 GeForce 8800 GT GeForce 8800 GS Mobile GPUs: GeForce 98xxM GeForce 9700M GeForce 96xxM GeForce 9500M GeForce 9300M GeForce 9200M GeForce 8800M GeForce 8800M GTS GeForce 8800M GTX GeForce 8600M Motherboard GPUs: GeForce 9400 GeForce 9300 GeForce 9100 GeForce 8300 GeForce 8200 VC-1 support in NVIDIA's VDPAU implementation currently requires GeForce 9300 GS, GeForce 9200M GS, GeForce 9300M GS, or GeForce 9300M GS.
On Friday 14 November 2008 19:36:12 Andy Ritger wrote:
I'm pleased to announce a new video API for Unix and Unix-like platforms, and a technology preview implementation of this API from NVIDIA.
[snip]
These patches include changes against libavcodec, libavutil, ffmpeg, and MPlayer itself; they may serve as an example of how to use VDPAU.
Once we do some further testing, bugfixing, and cleanup, we will contribute the MPlayer patches to the MPlayer developers.
If other hardware vendors are interested, they are welcome to also provide implementations of VDPAU. The VDPAU API was designed to allow a vendor backend to be selected at run time.
Thanks, Andy Ritger Manager, NVIDIA Linux Graphics Driver
thanks. Did you measure -approximately- how much speedup can be obtained when decoding HD H264 on an modern pc (core2 or amd cpu) ?
On Mon, Nov 17, 2008 at 6:02 PM, Nico Sabbi <Nicola.Sabbi@poste.it> wrote:
On Friday 14 November 2008 19:36:12 Andy Ritger wrote:
I'm pleased to announce a new video API for Unix and Unix-like platforms, and a technology preview implementation of this API from NVIDIA.
[snip]
These patches include changes against libavcodec, libavutil, ffmpeg, and MPlayer itself; they may serve as an example of how to use VDPAU.
Once we do some further testing, bugfixing, and cleanup, we will contribute the MPlayer patches to the MPlayer developers.
If other hardware vendors are interested, they are welcome to also provide implementations of VDPAU. The VDPAU API was designed to allow a vendor backend to be selected at run time.
Thanks, Andy Ritger Manager, NVIDIA Linux Graphics Driver
thanks. Did you measure -approximately- how much speedup can be obtained when decoding HD H264 on an modern pc (core2 or amd cpu) ?
See benchs here: http://www.phoronix.com/scan.php?page=article&item=nvidia_vdpau&num=1 Ben
On Mon, 17 Nov 2008, Nico Sabbi wrote:
On Friday 14 November 2008 19:36:12 Andy Ritger wrote:
I'm pleased to announce a new video API for Unix and Unix-like platforms, and a technology preview implementation of this API from NVIDIA.
[snip]
These patches include changes against libavcodec, libavutil, ffmpeg, and MPlayer itself; they may serve as an example of how to use VDPAU.
Once we do some further testing, bugfixing, and cleanup, we will contribute the MPlayer patches to the MPlayer developers.
If other hardware vendors are interested, they are welcome to also provide implementations of VDPAU. The VDPAU API was designed to allow a vendor backend to be selected at run time.
Thanks, Andy Ritger Manager, NVIDIA Linux Graphics Driver
thanks. Did you measure -approximately- how much speedup can be obtained when decoding HD H264 on an modern pc (core2 or amd cpu) ?
Much of the gains have been about reducing CPU usage; I've seen reports of CPU utilization going from ~60% down to just a few percent. Thanks, - Andy
_______________________________________________ MPlayer-dev-eng mailing list MPlayer-dev-eng@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
Pretty impressive! I'm just curious - is this functionality exposed on windows as well? What about DXVA 2? I'm sure this code will get accepted pretty soon. It's complicated though... Auto detection in case we have supported card once most of the bugs are gone will be sweet as well. This is the future anyways.
On Mon, 17 Nov 2008 22:06:39 +0200, Georgi Petrov wrote:
Pretty impressive! I'm just curious - is this functionality exposed on windows as well? What about DXVA 2?
I'm sure this code will get accepted pretty soon. It's complicated though... Auto detection in case we have supported card once most of the bugs are gone will be sweet as well. This is the future anyways.
windows nvidia drivers have had this for a while now i think. for mplayer to support it on windows, it would need this patch (for the ffmpeg part) and a vo_dxva or lots of pixel shader work to vo_directx or vo_direct3d :) -compn
participants (5)
-
Andy Ritger -
Benjamin Zores -
compn -
Georgi Petrov -
Nico Sabbi