This is slightly off-topic but it is kind to related and I could not find a other developers forum where this should belongs, so here goes:
Will NVIDIA even make their PureVideo™ Technology for hardware accelerated video decoding available under Linux (like you have done with CUDA)?
@NVIDIA® Corporation, please let users and developers use your PureVideo API to accelerate high-definition H.264, WMV, and MPEG-2 video decoding using XvMC, (or a other library if XvMC is not an option. XvMC is the Linux platforms open source answer to DxVA, Microsoft DirectX Video Acceleration API do it would be the natural choise).
Best for the open source community would be if NVIDIA open up the API as much as it has open up its CUDA API, which good dodumentations, specification, sample code and reference libraries. Enabling developers to activate support for PureVideo in the software running under Linux on a computer with a DirectX 9 (or 10) NVIDIA GPU that supports the PureVideo technology. Take VIA Technologies as a good example of a company have open source and helped implement hardware acceleation of MPEG-4 ASP (H.263) video on their Unichrome (S3) graphic processors via XvMC additions.
It is not only me, this is really a broadly wanted feature; popular open source multimedia player softwares on Linux such as these bellow need GPU hardware acceleration to assist with decoding MPEG-4 AVC (H.264) at native 1080p resolutions:
http://www.xboxmediacenter.com (yes XBMC is being ported to Linux as I write this)
The processes that could possibly be accelerated by a NVIDIA graphics processor are:
- Motion compensation (mo comp)
- Inverse Discrete Cosine Transform (iDCT)
** Inverse Telecine 3:2 and 2:2 pull-down correction
- Bitstream processing (CAVLC/CABAC)
- in-loop deblocking
- inverse quantization (IQ)
- Variable-Length Decoding (VLD)
- Deinterlacing (Spatial-Temporal De-Interlacing)
**Plus automatic interlace/progressive source detection
PS! Most (if not all) open source softwares for Linux use FFmpeg open source codec suit library to decode most popular video (and audio) formats. (FFmpeg can even decode WMV9 and VC-1 video). So it would be great if FFmpeg could be used as a reference design for NIDIA PureVideo utilization under Linux. Note that bitstream processing (CAVLC/CABAC) and in-loop deblocking are probebely the two most important ones to have running on a GPU in order to playback MPEG-4 AVC (H.264) at native 1080p resolutions, but motion compensation (mo comp) and iDCT are probebely the simplest ones to implement.