Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
Definitions, structures and enumerators

Video codec add-on general variables More...

Topics

 class VideoCodecInitdata
 Initialization data to open a video codec stream.
 
 struct VIDEOCODEC_PICTURE
 Data structure which is given to the addon when a decoding call is made.
 
 DRM PRIME frame descriptor
 DRM-native multi-planar DMA-BUF descriptor.
 
 struct VIDEOCODEC_PLATFORM_BUFFER
 Native buffer descriptor returned by kodi::addon::CInstanceVideoCodec::GetFrameBufferPlatformHandle.
 

Enumerations

enum  VIDEOCODEC_RETVAL {
  VC_NONE = 0 , VC_ERROR , VC_BUFFER , VC_PICTURE ,
  VC_EOF
}
 Changes since 2.1.0 (ABI 2.2.0) More...
 
enum  VIDEOCODEC_PLATFORM_BUFFER_TYPE {
  VIDEOCODEC_PLATFORM_BUFFER_NONE = 0 , VIDEOCODEC_PLATFORM_BUFFER_DRM_PRIME , VIDEOCODEC_PLATFORM_BUFFER_D3D11_TEXTURE , VIDEOCODEC_PLATFORM_BUFFER_IOSURFACE ,
  VIDEOCODEC_PLATFORM_BUFFER_AHARDWAREBUFFER
}
 Platform-native buffer type, used to identify the meaning of the handle field in VIDEOCODEC_PLATFORM_BUFFER. More...
 

Detailed Description

Video codec add-on general variables

Used to exchange the available options between Kodi and addon.

Enumeration Type Documentation

◆ VIDEOCODEC_PLATFORM_BUFFER_TYPE

Platform-native buffer type, used to identify the meaning of the handle field in VIDEOCODEC_PLATFORM_BUFFER.

Returned by kodi::addon::CInstanceVideoCodec::GetFrameBufferPlatformHandle so addons can render directly into the underlying GPU/hardware buffer without going through CPU memory.

Enumerator
VIDEOCODEC_PLATFORM_BUFFER_NONE 

No native handle available, addon must use the CPU-mapped pointer in VIDEOCODEC_PICTURE::decodedData.

VIDEOCODEC_PLATFORM_BUFFER_DRM_PRIME 

Linux DMA-BUF. handle points at a KODI_DRM_FRAME_DESCRIPTOR which carries DMA-BUF fd(s), DRM fourcc, modifier, and per-plane offsets/pitches. All fields are native DRM types (from <drm_fourcc.h>); no ffmpeg/libavutil dependency required.

VIDEOCODEC_PLATFORM_BUFFER_D3D11_TEXTURE 

Windows D3D11. handle is ID3D11Texture2D*. Reserved – not implemented yet.

VIDEOCODEC_PLATFORM_BUFFER_IOSURFACE 

macOS/iOS. handle is IOSurfaceRef. Reserved – not implemented yet.

VIDEOCODEC_PLATFORM_BUFFER_AHARDWAREBUFFER 

Android. handle is AHardwareBuffer*. Reserved – not implemented yet.

◆ VIDEOCODEC_RETVAL

Changes since 2.1.0 (ABI 2.2.0)

Return values used by video decoder interface

Enumerator
VC_NONE 

Noop.

VC_ERROR 

An error occurred, no other messages will be returned.

VC_BUFFER 

The decoder needs more data.

VC_PICTURE 

The decoder got a picture.

VC_EOF 

The decoder signals EOF.