xine-lib: xine-lib-1.2.13/src/video_out/vaapi/xine_hw_frame_vaapi.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Functions | Variables
xine_hw_frame_vaapi.c File Reference
`#include "xine_hw_frame_plugin.h"`
`#include <stdlib.h>`
`#include <xine.h>`
`#include <xine/xine_internal.h>`
`#include "vaapi_util.h"`
`#include "vaapi_frame.h"`
`#include "vaapi_egl.h"`

## Data Structures
struct | va_hw_frame_plugin_t

## Functions
static void | _module_dispose (xine_module_t *module)
static mem_frame_t * | _alloc_frame (xine_hwdec_t *api)
static xine_glconv_t * | _opengl_interop (xine_hwdec_t *api, struct xine_gl *gl)
static xine_module_t * | _get_instance (xine_module_class_t *class_gen, const void *data)
static void * | _init_class (xine_t *xine, const void *params)

## Variables
static const xine_module_info_t | module_info
const plugin_info_t xine_plugin_info[] | EXPORTED

## Function Documentation

## ◆ _alloc_frame()

static mem_frame_t * _alloc_frame | ( | xine_hwdec_t * | api | ) |
| static

References _x_va_frame_alloc_frame(), vaapi_context_impl::c, ff_vaapi_context_s::driver, va_hw_frame_plugin_t::guarded_render, vaapi_frame_t::mem_frame, va_hw_frame_plugin_t::va_context, and xine_container_of.

Referenced by _get_instance().

## ◆ _get_instance()

static xine_module_t * _get_instance | ( | xine_module_class_t * | class_gen,
|  | const void * | data )
| static

References _, _alloc_frame(), _module_dispose(), _opengl_interop(), _x_va_close(), _x_va_frame_update_frame_format(), _x_va_free(), _x_va_init(), _x_va_new(), xine_hwdec_t::alloc_frame, xine_hw_frame_plugin_s::api, vaapi_context_impl::c, xine_s::config, xine_hwdec_t::destroy, xine_module_s::dispose, ff_vaapi_context_s::driver, xine_hwdec_t::driver_capabilities, xine_hwdec_t::frame_format, va_hw_frame_plugin_t::guarded_render, xine_hw_frame_plugin_s::module, NULL, xine_hwdec_t::opengl_interop, va_hw_frame_plugin_t::plugin, config_values_s::register_bool, config_values_s::register_num, xine_hwdec_t::update_frame_format, va_hw_frame_plugin_t::va_context, hw_frame_plugin_params_t::visual, hw_frame_plugin_params_t::visual_type, VO_CAP_VAAPI, hw_frame_plugin_params_t::vo_driver, hw_frame_plugin_params_t::xine, and XINE_IMGFMT_VAAPI.

Referenced by _init_class().

## ◆ _init_class()

static void * _init_class | ( | xine_t * | xine,
|  | const void * | params )
| static

References _get_instance(), xine_module_s::dispose, xine_module_class_s::get_instance, N_, and NULL.

## ◆ _module_dispose()

static void _module_dispose | ( | xine_module_t * | module | ) |
| static

References _x_va_free(), va_hw_frame_plugin_t::va_context, and xine_container_of.

Referenced by _get_instance().

## ◆ _opengl_interop()

static xine_glconv_t * _opengl_interop | ( | xine_hwdec_t * | api,
|  | struct xine_gl * | gl )
| static

References _glconv_vaegl_init(), va_hw_frame_plugin_t::plugin, va_hw_frame_plugin_t::va_context, vaapi_context_impl::va_display_plugin, xine_hw_frame_plugin_s::xine, and xine_container_of.

Referenced by _get_instance().

## Variable Documentation

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_XINE_MODULE, 1, "hwframe_vaapi", XINE_VERSION_CODE, &module_info, _init_class },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL },
}
module_info
static const xine_module_info_t module_info
Definition xine_hw_frame_vaapi.c:152
_init_class
static void * _init_class(xine_t *xine, const void *params)
Definition xine_hw_frame_vaapi.c:137
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_XINE_MODULE
#define PLUGIN_XINE_MODULE
Definition xine_plugin.h:41

## ◆ module_info

const xine_module_info_t module_info
| static

Initial value:
= {
.priority = 9,
.type = "hw_frame_v1",
.sub_type = 0,
}

Referenced by save_plugin_list().