I had a quick look at the libAMDXvBA.so.1.0 library that comes with the latest fglrx driver from AMD (Catalyst v8.10) with gdb and it seems to be a quite comprehensive library implemented in C++.
There are quite a good number of classes, with names such as R600CmdBuf, R600ColorEnchanceFilter, R600Plane, R600SubstreamBlendFilter, R600UpSampleShader, ShaderManager, Subpicture, but much more interesting are classes such as UVDBufferPool, UVDCodec, UVDCodecH264, UVDCodecMpeg2, UVDCodecVC1, UVDCodecVLD, etc. Am wondering if someone on the list with connections to AMD knows when / if header files will be made available for this library? Here's a sample output from gdb. It's easy to get the list by starting gdb as 'gdb libAMDXvBA.so.1.0' then typing Break ' and press tab for autocompletion. XvBADecodeLinux::CreateCompressedBuffers(DeviceLinux const*, int, XVBA_BUFFER_DESCRIPTOR**, CompressedBuffer**) XvBADecodeLinux::CreateDecodeBuffers(XvBADecodeData*) XvBADecodeLinux::DecodePicture(DeviceLinux const*, unsigned int, XVBA_BUFFER_DESCRIPTOR**) XvBADecodeLinux::DestroyDecodeBuffers(unsigned int, XVBA_BUFFER_DESCRIPTOR*) XvBADecodeLinux::EndDecodePicture(DeviceLinux const*) XvBADecodeLinux::StartDecodePicture(DeviceLinux const*, XvMCSurface const*) XvBADecodeLinuxH264::Create(DeviceLinux*, XvMCContext const*, XvBADecodeLinux**) XvBADecodeLinuxH264::CreateCompressedBuffer(DeviceLinux const*, XVBA_BUFFER_DESCRIPTOR const*, CompressedBuffer**) XvBADecodeLinuxH264::FillPicParamsBuffer(xvba_picture_descriptor const*, MMD_PicParams_H264*) XvBADecodeLinuxH264::Init(DeviceLinux*, XvMCContext const*) XvBADecodeLinuxH264::Release(DeviceLinux const*) XvBADecodeLinuxMPEG2::ConvertCreateDecodeBuffers(XVBA_BUFFER, int*, int*) XvBADecodeLinuxMPEG2::Create(DeviceLinux*, XvMCContext const*, XvBADecodeLinux**) XvBADecodeLinuxMPEG2::CreateCompressedBuffer(DeviceLinux const*, XVBA_BUFFER_DESCRIPTOR const*, CompressedBuffer**) XvBADecodeLinuxMPEG2::StartDecodePicture(DeviceLinux const*, XvMCSurface const*) XvBADecodeLinuxVC1::Create(DeviceLinux*, XvMCContext const*, XvBADecodeLinux**) XvBADecodeLinuxVC1::CreateCompressedBuffer(DeviceLinux const*, XVBA_BUFFER_DESCRIPTOR const*, CompressedBuffer**) XvBADecodeLinuxVC1::FillPicParamsBuffer(xvba_picture_descriptor const*) XvBADecodeLinuxVC1::Release(DeviceLinux const*) XvBADecodeLinuxVC1::StartDecodePicture(DeviceLinux const*, XvMCSurface const*) XvBADecodeLinuxVLD::ConvertCreateDecodeBuffers(XVBA_BUFFER, int*, int*) XvMCDecodeLinux::Create(DeviceLinux*, XvMCContext const*, XvMCDecodeLinux**) XvMCDecodeLinux::CreateBlocks(XvMCContext const*, unsigned int, XvMCBlockArray*) XvMCDecodeLinux::CreateMacroBlocks(XvMCContext const*, unsigned int, XvMCMacroBlockArray*) XvMCDecodeLinux::DestroyBlocks(XvMCBlockArray*) XvMCDecodeLinux::DestroyMacroBlocks(XvMCMacroBlockArray*) XvMCDecodeLinux::FillInterMCControlBuffer(XvMCMacroBlock const*, short const*, bool, unsigned int) XvMCDecodeLinux::FillIntraMCControlBuffer(XvMCMacroBlock const*, short const*) XvMCDecodeLinux::FillPicParamsBuffer(unsigned int, XvMCSurface const*, XvMCSurface const*, XvMCSurface const*, unsigned int) XvMCDecodeLinux::Init(DeviceLinux*, XvMCContext const*) XvMCDecodeLinux::PackIdct(short const*, int) XvMCDecodeLinux::Release(DeviceLinux const*) XvMCDecodeLinux::RenderSurface(DeviceLinux const*, unsigned int, XvMCSurface const*, XvMCSurface const*, XvMCSurface const*, unsigned int, unsigned int, unsigned int, XvMCMacroBlockArray const*, XvMCBlockArray const*) -- Torgeir Veimo [EMAIL PROTECTED] _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
