ScummVM API documentation
Image::Indeo::AVFrame Struct Reference

Public Member Functions

 AVFrame ()
 
 ~AVFrame ()
 
int setDimensions (uint16 width, uint16 height)
 
int getBuffer (int flags)
 
void freeFrame ()
 

Public Attributes

int _width
 
int _height
 
uint8 * _data [3]
 
int _linesize [3]
 

Constructor & Destructor Documentation

◆ AVFrame()

Image::Indeo::AVFrame::AVFrame ( )

Constructor

◆ ~AVFrame()

Image::Indeo::AVFrame::~AVFrame ( )
inline

Destructor

Member Function Documentation

◆ setDimensions()

int Image::Indeo::AVFrame::setDimensions ( uint16  width,
uint16  height 
)

Sets the frame dimensions

◆ getBuffer()

int Image::Indeo::AVFrame::getBuffer ( int  flags)

Get a buffer for a frame

◆ freeFrame()

void Image::Indeo::AVFrame::freeFrame ( )

Frees any data loaded for the frame

Member Data Documentation

◆ _width

int Image::Indeo::AVFrame::_width

◆ _data

uint8* Image::Indeo::AVFrame::_data[3]

pointer to the picture/channel planes. This might be different from the first allocated byte

Some decoders access areas outside 0,0 - width,height, please see avcodec_align_dimensions2(). Some filters and swscale can read up to 16 bytes beyond the planes, if these filters are to be used, then 16 extra bytes must be allocated.

NOTE: Except for hwaccel formats, pointers not needed by the format MUST be set to NULL.

◆ _linesize

int Image::Indeo::AVFrame::_linesize[3]

For video, size in bytes of each picture line. For audio, size in bytes of each plane.

For audio, only linesize[0] may be set. For planar audio, each channel plane must be the same size.

For video the linesizes should be multiples of the CPUs alignment preference, this is 16 or 32 for modern desktop CPUs. Some code requires such alignment other code can be slower without correct alignment, for yet other it makes no difference.

Note
The linesize may be larger than the size of usable data – there may be extra padding present for performance reasons.

The documentation for this struct was generated from the following file: