xine-lib 1.2.11
Data Structures | Macros | Typedefs | Functions | Variables
dav1d.c File Reference
#include <errno.h>
#include <stdlib.h>
#include <dav1d/dav1d.h>
#include <xine/xine_internal.h>
#include <xine/video_out.h>
#include <xine/buffer.h>
#include <xine/xineutils.h>

Data Structures

struct  dav1d_decoder_s
 

Macros

#define LOG_MODULE   "dav1d_video_decoder"
 
#define LOG_VERBOSE
 

Typedefs

typedef struct dav1d_decoder_s dav1d_decoder_t
 

Functions

static void _free_frame_cb (Dav1dPicture *pic, void *cookie)
 
static int _alloc_frame_cb (Dav1dPicture *pic, void *cookie)
 
static void _copy_plane (uint8_t *dst, const uint8_t *src, int dst_pitch, int src_pitch, int width, int height, int shift)
 
static void _copy_planes (vo_frame_t *img, const Dav1dPicture *pic, int width, int height, int shift)
 
static void _merge_planes (uint8_t *dst, int dst_pitch, const Dav1dPicture *pic, int width, int height, int shift, int subsamp)
 
static vo_frame_t_copy_image (dav1d_decoder_t *this, Dav1dPicture *pic)
 
static void _draw_image (dav1d_decoder_t *this, Dav1dPicture *pic)
 
static void _decode (dav1d_decoder_t *this, Dav1dData *data)
 
static void _data_free_wrapper (const uint8_t *data, void *opaque)
 
static void _dav1d_decode_data (video_decoder_t *this_gen, buf_element_t *buf)
 
static void _dav1d_flush (video_decoder_t *this_gen)
 
static void _dav1d_discontinuity (video_decoder_t *this_gen)
 
static void _dav1d_reset (video_decoder_t *this_gen)
 
static void _dav1d_dispose (video_decoder_t *this_gen)
 
static video_decoder_t_open_plugin (video_decoder_class_t *class_gen, xine_stream_t *stream)
 
static void * init_plugin_dav1d (xine_t *xine, const void *data)
 

Variables

static const uint32_t video_types_dav1d []
 
static const decoder_info_t dec_info_video_dav1d
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ LOG_MODULE

#define LOG_MODULE   "dav1d_video_decoder"

◆ LOG_VERBOSE

#define LOG_VERBOSE

Typedef Documentation

◆ dav1d_decoder_t

Function Documentation

◆ _alloc_frame_cb()

static int _alloc_frame_cb ( Dav1dPicture *  pic,
void *  cookie 
)
static

◆ _copy_image()

static vo_frame_t * _copy_image ( dav1d_decoder_t this,
Dav1dPicture *  pic 
)
static

◆ _copy_plane()

static void _copy_plane ( uint8_t *  dst,
const uint8_t *  src,
int  dst_pitch,
int  src_pitch,
int  width,
int  height,
int  shift 
)
static

References height, restrict, width, and xine_fast_memcpy.

Referenced by _copy_planes().

◆ _copy_planes()

static void _copy_planes ( vo_frame_t img,
const Dav1dPicture *  pic,
int  width,
int  height,
int  shift 
)
static

◆ _data_free_wrapper()

static void _data_free_wrapper ( const uint8_t *  data,
void *  opaque 
)
static

Referenced by _dav1d_decode_data().

◆ _dav1d_decode_data()

static void _dav1d_decode_data ( video_decoder_t this_gen,
buf_element_t buf 
)
static

◆ _dav1d_discontinuity()

static void _dav1d_discontinuity ( video_decoder_t this_gen)
static

References xine_container_of.

Referenced by _open_plugin().

◆ _dav1d_dispose()

static void _dav1d_dispose ( video_decoder_t this_gen)
static

References _dav1d_reset(), _x_freep(), and xine_container_of.

Referenced by _open_plugin().

◆ _dav1d_flush()

static void _dav1d_flush ( video_decoder_t this_gen)
static

References _draw_image(), and xine_container_of.

Referenced by _open_plugin().

◆ _dav1d_reset()

static void _dav1d_reset ( video_decoder_t this_gen)
static

References xine_container_of.

Referenced by _dav1d_dispose(), and _open_plugin().

◆ _decode()

static void _decode ( dav1d_decoder_t this,
Dav1dData *  data 
)
static

◆ _draw_image()

static void _draw_image ( dav1d_decoder_t this,
Dav1dPicture *  pic 
)
static

◆ _free_frame_cb()

static void _free_frame_cb ( Dav1dPicture *  pic,
void *  cookie 
)
static

References vo_frame_s::free.

Referenced by _open_plugin().

◆ _merge_planes()

static void _merge_planes ( uint8_t *  dst,
int  dst_pitch,
const Dav1dPicture *  pic,
int  width,
int  height,
int  shift,
int  subsamp 
)
static

References height, restrict, and width.

Referenced by _copy_image().

◆ _open_plugin()

static video_decoder_t * _open_plugin ( video_decoder_class_t class_gen,
xine_stream_t stream 
)
static

◆ init_plugin_dav1d()

static void * init_plugin_dav1d ( xine_t xine,
const void *  data 
)
static

Variable Documentation

◆ dec_info_video_dav1d

const decoder_info_t dec_info_video_dav1d
static
Initial value:
= {
.supported_types = video_types_dav1d,
.priority = 10,
}
static const uint32_t video_types_dav1d[]
Definition: dav1d.c:580

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static const decoder_info_t dec_info_video_dav1d
Definition: dav1d.c:585
static void * init_plugin_dav1d(xine_t *xine, const void *data)
Definition: dav1d.c:561
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
NULL
Definition: xine_plugin.c:78
#define PLUGIN_NONE
Definition: xine_plugin.h:29
#define PLUGIN_VIDEO_DECODER
Definition: xine_plugin.h:33

◆ video_types_dav1d

const uint32_t video_types_dav1d[]
static
Initial value:
= {
0
}
#define BUF_VIDEO_AV1
Definition: buffer.h:197