AMDs new AMDXvBA library

Corbin Simpson mostawesomedude at gmail.com
Wed Nov 5 03:05:25 PST 2008


Torgeir Veimo wrote:
> 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*)

Hmm. No idea, really. Our AMD contacts are busy trying to clear r600 
docs for the public at the moment, so UVD and UVD2 stuff will have to wait.

~ C.



More information about the xorg mailing list