Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
video_codec.h File Reference

Classes

struct  VIDEOCODEC_PICTURE
 
struct  KODI_DRM_PLANE
 One plane of a DRM layer: which object holds its data, and where. More...
 
struct  KODI_DRM_OBJECT
 One backing object (DMA-BUF) underlying one or more layers/planes. More...
 
struct  KODI_DRM_LAYER
 One image layer. Most buffers have a single layer; multi-layer (e.g. planar YUV with separately allocated Y and UV) is also supported. More...
 
struct  KODI_DRM_FRAME_DESCRIPTOR
 Full descriptor: which objects back which layers, and how. More...
 
struct  VIDEOCODEC_PLATFORM_BUFFER
 
struct  VIDEOCODEC_INITDATA
 
struct  AddonProps_VideoCodec
 
struct  KodiToAddonFuncTable_VideoCodec
 
struct  AddonToKodiFuncTable_VideoCodec
 
struct  AddonInstance_VideoCodec
 

Macros

#define KODI_DRM_MAX_PLANES   4
 

Typedefs

typedef struct AddonProps_VideoCodec AddonProps_VideoCodec
 
typedef struct KodiToAddonFuncTable_VideoCodec KodiToAddonFuncTable_VideoCodec
 
typedef struct AddonToKodiFuncTable_VideoCodec AddonToKodiFuncTable_VideoCodec
 
typedef struct AddonInstance_VideoCodec AddonInstance_VideoCodec
 

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_FORMAT {
  VIDEOCODEC_FORMAT_UNKNOWN = 0 , VIDEOCODEC_FORMAT_YV12 , VIDEOCODEC_FORMAT_I420 , VIDEOCODEC_FORMAT_YUV420P9 ,
  VIDEOCODEC_FORMAT_YUV420P10 , VIDEOCODEC_FORMAT_YUV420P12 , VIDEOCODEC_FORMAT_YUV422P , VIDEOCODEC_FORMAT_YUV422P9 ,
  VIDEOCODEC_FORMAT_YUV422P10 , VIDEOCODEC_FORMAT_YUV422P12 , VIDEOCODEC_FORMAT_YUV444P , VIDEOCODEC_FORMAT_YUV444P9 ,
  VIDEOCODEC_FORMAT_YUV444P10 , VIDEOCODEC_FORMAT_YUV444P12 , VIDEOCODEC_FORMAT_NV12 , VIDEOCODEC_FORMAT_P010 ,
  VIDEOCODEC_FORMAT_YUYV422 , VIDEOCODEC_FORMAT_UYVY422 , VIDEOCODEC_FORMAT_XRGB8888 , VIDEOCODEC_FORMAT_XRGB2101010 ,
  VIDEOCODEC_FORMAT_XRGB16161616 , VIDEOCODEC_FORMAT_XRGB16161616F , VIDEOCODEC_FORMAT_MAXFORMATS
}
 The video stream representations requested by Kodi. More...
 
enum  VIDEOCODEC_TYPE {
  VIDEOCODEC_UNKNOWN = 0 , VIDEOCODEC_VP8 , VIDEOCODEC_H264 , VIDEOCODEC_VP9 ,
  VIDEOCODEC_AV1 , VIDEOCODEC_HEVC , VIDEOCODEC_RAWVIDEO
}
 Video codec types that can be requested from Kodi. More...
 
enum  VIDEOCODEC_PLANE { VIDEOCODEC_PICTURE_Y_PLANE = 0 , VIDEOCODEC_PICTURE_U_PLANE , VIDEOCODEC_PICTURE_V_PLANE , VIDEOCODEC_PICTURE_MAXPLANES = 3 }
 YUV Plane identification pointers. More...
 
enum  VIDEOCODEC_PICTURE_FLAG { VIDEOCODEC_PICTURE_FLAG_NONE = 0 , VIDEOCODEC_PICTURE_FLAG_DROP = (1 << 0) , VIDEOCODEC_PICTURE_FLAG_DRAIN = (1 << 1) }
 Video coded process flags, used to perform special operations in stream calls. More...
 
enum  VIDEOCODEC_HDR_TYPE {
  VIDEOCODEC_HDR_TYPE_NONE = 0 , VIDEOCODEC_HDR_TYPE_HDR10 , VIDEOCODEC_HDR_TYPE_DOLBYVISION , VIDEOCODEC_HDR_TYPE_HLG ,
  VIDEOCODEC_HDR_TYPE_HDR10PLUS
}
 HDR type reported per decoded picture. 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...
 

Typedef Documentation

◆ AddonInstance_VideoCodec

typedef struct AddonInstance_VideoCodec AddonInstance_VideoCodec

◆ AddonProps_VideoCodec

typedef struct AddonProps_VideoCodec AddonProps_VideoCodec

◆ AddonToKodiFuncTable_VideoCodec

typedef struct AddonToKodiFuncTable_VideoCodec AddonToKodiFuncTable_VideoCodec

◆ KodiToAddonFuncTable_VideoCodec

typedef struct KodiToAddonFuncTable_VideoCodec KodiToAddonFuncTable_VideoCodec