9#ifndef C_API_ADDONINSTANCE_VIDEOCODEC_H
10#define C_API_ADDONINSTANCE_VIDEOCODEC_H
12#include "../addon_base.h"
13#include "inputstream/demux_packet.h"
14#include "inputstream/stream_codec.h"
15#include "inputstream/stream_crypto.h"
203 const uint8_t* extraData;
204 unsigned int extraDataSize;
218 KODI_HANDLE addonInstance;
245 KODI_HANDLE kodiInstance;
247 void (*release_frame_buffer)(
void* kodiInstance,
void* buffer);
uint32_t stride[VIDEOCODEC_PICTURE_MAXPLANES]
YUV color stride calculation array.
Definition: video_codec.h:181
uint32_t width
Picture width.
Definition: video_codec.h:160
int64_t pts
Picture presentation time stamp (PTS).
Definition: video_codec.h:184
size_t decodedDataSize
Size of the data given with decodedData.
Definition: video_codec.h:169
uint32_t height
Picture height.
Definition: video_codec.h:163
uint32_t flags
Video coded process flags, used to perform special operations in stream calls.
Definition: video_codec.h:157
uint32_t planeOffsets[VIDEOCODEC_PICTURE_MAXPLANES]
YUV color plane calculation array.
Definition: video_codec.h:175
enum VIDEOCODEC_FORMAT videoFormat
The video format declared with VIDEOCODEC_FORMAT and to be used on the addon.
Definition: video_codec.h:151
KODI_HANDLE videoBufferHandle
This is used to save the related handle from Kodi.
Definition: video_codec.h:191
uint8_t * decodedData
Data to be decoded in the addon.
Definition: video_codec.h:166
VIDEOCODEC_PICTURE_FLAG
Video coded process flags, used to perform special operations in stream calls.
Definition: video_codec.h:129
VIDEOCODEC_PLANE
YUV Plane identification pointers.
Definition: video_codec.h:104
@ VIDEOCODEC_PICTURE_FLAG_DRAIN
Squeeze out pictured without feeding new packets.
Definition: video_codec.h:137
@ VIDEOCODEC_PICTURE_FLAG_DROP
Drop in decoder.
Definition: video_codec.h:134
@ VIDEOCODEC_PICTURE_FLAG_NONE
Empty and nothing defined.
Definition: video_codec.h:131
@ VIDEOCODEC_PICTURE_V_PLANE
"chrominance" component V (red projection)
Definition: video_codec.h:112
@ VIDEOCODEC_PICTURE_U_PLANE
"chrominance" component U (blue projection)
Definition: video_codec.h:109
@ VIDEOCODEC_PICTURE_Y_PLANE
"luminance" component Y (equivalent to grey scale)
Definition: video_codec.h:106
@ VIDEOCODEC_PICTURE_MAXPLANES
The maximum value to use in a list.
Definition: video_codec.h:115
Definition: video_codec.h:148
VIDEOCODEC_TYPE
Video codec types that can be requested from Kodi.
Definition: video_codec.h:71
VIDEOCODEC_FORMAT
The video stream representations requested by Kodi.
Definition: video_codec.h:49
@ VIDEOCODEC_H264
Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, Advanced Video Coding (MPEG...
Definition: video_codec.h:83
@ VIDEOCODEC_VP8
VP8 video coding format
Definition: video_codec.h:78
@ VIDEOCODEC_UNKNOWN
Unknown or other type requested.
Definition: video_codec.h:74
@ VIDEOCODEC_VP9
VP9 video coding format VP9 is the successor to VP8 and competes mainly with MPEG's High Efficienc...
Definition: video_codec.h:90
@ VIDEOCODEC_FORMAT_I420
These formats are identical to YV12 except that the U and V plane order is reversed.
Definition: video_codec.h:59
@ VIDEOCODEC_FORMAT_MAXFORMATS
The maximum value to use in a list.
Definition: video_codec.h:62
@ VIDEOCODEC_FORMAT_YV12
YV12 4:2:0 YCrCb planar format.
Definition: video_codec.h:55
@ VIDEOCODEC_FORMAT_UNKNOWN
Unknown types, this is used to declare the end of a list of requested types.
Definition: video_codec.h:52
VIDEOCODEC_RETVAL
Return values used by video decoder interface.
Definition: video_codec.h:26
@ VC_EOF
The decoder signals EOF.
Definition: video_codec.h:40
@ VC_NONE
Noop.
Definition: video_codec.h:28
@ VC_ERROR
An error occured, no other messages will be returned.
Definition: video_codec.h:31
@ VC_PICTURE
The decoder got a picture.
Definition: video_codec.h:37
@ VC_BUFFER
The decoder needs more data.
Definition: video_codec.h:34
Definition: video_codec.h:251
Definition: video_codec.h:211
Definition: video_codec.h:244
Definition: video_codec.h:217
const char *__cdecl * get_name(const struct AddonInstance_VideoCodec *instance)
Get the name of this video decoder.
void(__cdecl *reset)(const struct AddonInstance_VideoCodec *instance)
Reset the codec.
bool(__cdecl *add_data)(const struct AddonInstance_VideoCodec *instance
Feed codec if requested from GetPicture() (return VC_BUFFER)
bool(__cdecl *open)(const struct AddonInstance_VideoCodec *instance
Opens a codec.
bool(__cdecl *reconfigure)(const struct AddonInstance_VideoCodec *instance
Reconfigures a codec.
enum VIDEOCODEC_RETVAL(__cdecl *get_picture)(const struct AddonInstance_VideoCodec *instance
Get a decoded picture / request new data.
Definition: stream_crypto.h:109
Definition: video_codec.h:197