Kodi Development  20.0
for Binary and Script based Add-Ons

Detailed Description

Data structure which is given to the addon when a decoding call is made.


Class Documentation

◆ VIDEOCODEC_PICTURE

struct VIDEOCODEC_PICTURE
Class Members
enum VIDEOCODEC_FORMAT videoFormat The video format declared with VIDEOCODEC_FORMAT and to be used on the addon.
uint32_t flags Video coded process flags, used to perform special operations in stream calls.

Possible flags are declared here VIDEOCODEC_PICTURE_FLAGS.

uint32_t width Picture width.
uint32_t height Picture height.
uint8_t * decodedData Data to be decoded in the addon.
size_t decodedDataSize Size of the data given with decodedData.
uint32_t planeOffsets[VIDEOCODEC_PICTURE_MAXPLANES] YUV color plane calculation array.

This includes the three values of the YUV and can be identified using VIDEOCODEC_PLANE.

uint32_t stride[VIDEOCODEC_PICTURE_MAXPLANES] YUV color stride calculation array.

This includes the three values of the YUV and can be identified using VIDEOCODEC_PLANE.

int64_t pts Picture presentation time stamp (PTS).
KODI_HANDLE videoBufferHandle This is used to save the related handle from Kodi.

To handle the input stream buffer, this is given by Kodi using kodi::addon::CInstanceVideoCodec::GetFrameBuffer and must be released again using kodi::addon::CInstanceVideoCodec::ReleaseFrameBuffer.

Enumeration Type Documentation

◆ VIDEOCODEC_PLANE

YUV Plane identification pointers.

YUV is a color encoding system typically used as part of a color image pipeline.

These are used to access stored data in VIDEOCODEC_PICTURE::planeOffsets and VIDEOCODEC_PICTURE::stride.

Enumerator
VIDEOCODEC_PICTURE_Y_PLANE 

"luminance" component Y (equivalent to grey scale)

VIDEOCODEC_PICTURE_U_PLANE 

"chrominance" component U (blue projection)

VIDEOCODEC_PICTURE_V_PLANE 

"chrominance" component V (red projection)

VIDEOCODEC_PICTURE_MAXPLANES 

The maximum value to use in a list.

◆ VIDEOCODEC_PICTURE_FLAG

Video coded process flags, used to perform special operations in stream calls.

These are used to access stored data in VIDEOCODEC_PICTURE::flags.

Note
These variables are bit flags which are created using "|" can be used together.
Enumerator
VIDEOCODEC_PICTURE_FLAG_NONE 

Empty and nothing defined.

VIDEOCODEC_PICTURE_FLAG_DROP 

Drop in decoder.

VIDEOCODEC_PICTURE_FLAG_DRAIN 

Squeeze out pictured without feeding new packets.