AMDs new AMDXvBA library
Torgeir Veimo
torgeir at pobox.com
Sun Nov 2 04:04:54 PST 2008
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
torgeir at pobox.com
More information about the xorg
mailing list