xine-lib 1.2.13-20230125hg15249
|
#include <stdlib.h>
#include <pthread.h>
#include <va/va.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/video_out.h>
#include "vaapi_frame.h"
#include "accel_vaapi.h"
Macros | |
#define | LOG_MODULE "vaapi_frame" |
#define | FRAME_FORMAT_STR(f) |
Functions | |
void | _x_va_frame_provide_standard_frame_data (vo_frame_t *vo_frame, xine_current_frame_data_t *data) |
void | _x_va_frame_duplicate_frame_data (vo_frame_t *this_gen, vo_frame_t *original) |
void | _x_va_frame_update_frame_format (vo_driver_t *this_gen, vo_frame_t *vo_frame, uint32_t width, uint32_t height, double ratio, int format, int flags) |
vaapi_frame_t * | _x_va_frame_alloc_frame (vaapi_context_impl_t *va, vo_driver_t *driver, int guarded_render) |
#define FRAME_FORMAT_STR | ( | f | ) |
Referenced by _x_va_frame_update_frame_format().
#define LOG_MODULE "vaapi_frame" |
vaapi_frame_t * _x_va_frame_alloc_frame | ( | vaapi_context_impl_t * | va, |
vo_driver_t * | driver, | ||
int | guarded_render ) |
References _mem_frame_alloc_frame(), _x_va_accel_alloc_vaapi_surface(), _x_va_accel_get_context(), _x_va_accel_get_vaapi_surface(), _x_va_accel_guarded_render(), _x_va_accel_lock_decode_dummy(), _x_va_accel_profile_from_imgfmt(), _x_va_accel_release_vaapi_surface(), _x_va_accel_render_vaapi_surface(), _x_va_accel_vaapi_init(), vo_frame_s::accel_data, vaapi_frame_t::ctx_impl, vaapi_accel_s::f, vaapi_context_impl::frames, vaapi_accel_funcs_s::guarded_render, vaapi_accel_s::index, LOG_MODULE, vaapi_frame_t::mem_frame, NULL, vaapi_context_impl::num_frames, RENDER_SURFACES, vaapi_frame_t::vaapi_accel_data, vaapi_accel_funcs_s::vaapi_init, mem_frame_t::vo_frame, vaapi_context_impl::xine, XINE_VERBOSITY_LOG, and xprintf.
Referenced by _alloc_frame(), and vaapi_alloc_frame().
void _x_va_frame_duplicate_frame_data | ( | vo_frame_t * | this_gen, |
vo_frame_t * | original ) |
References _ctx_from_frame(), _x_assert, _x_va_accel_alloc_vaapi_surface(), _x_va_accel_guarded_render(), _x_va_check_status(), _x_va_create_image(), _x_va_destroy_image(), _x_va_surface_displayed(), vo_frame_s::accel_data, vaapi_context_impl::c, vaapi_context_impl::ctx_lock, vo_frame_s::format, vo_frame_s::height, ff_vaapi_context_s::height, ff_vaapi_surface_s::index, vaapi_accel_s::index, LOG_MODULE, lprintf, NULL, RENDER_SURFACES, ff_vaapi_surface_s::status, SURFACE_RENDER_RELEASE, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vo_frame_s::width, ff_vaapi_context_s::width, vaapi_context_impl::xine, xine_fast_memcpy, XINE_IMGFMT_VAAPI, XINE_VERBOSITY_LOG, and xprintf.
Referenced by _x_va_frame_update_frame_format().
void _x_va_frame_provide_standard_frame_data | ( | vo_frame_t * | vo_frame, |
xine_current_frame_data_t * | data ) |
References _ctx_from_frame(), _x_assert, _x_nv12_to_yv12(), _x_va_check_status(), _x_va_create_image(), _x_va_destroy_image(), vo_frame_s::accel_data, vaapi_context_impl::c, vaapi_context_impl::ctx_lock, xine_current_frame_data_s::format, vo_frame_s::format, xine_current_frame_data_s::height, vo_frame_s::height, height, ff_vaapi_context_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, vaapi_accel_s::index, LOG_MODULE, lprintf, vaapi_context_impl::query_va_status, RENDER_SURFACES, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, xine_current_frame_data_s::width, vo_frame_s::width, width, ff_vaapi_context_s::width, vaapi_context_impl::xine, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, xprintf, and yv12_to_yv12().
Referenced by _x_va_frame_update_frame_format().
void _x_va_frame_update_frame_format | ( | vo_driver_t * | this_gen, |
vo_frame_t * | vo_frame, | ||
uint32_t | width, | ||
uint32_t | height, | ||
double | ratio, | ||
int | format, | ||
int | flags ) |
References _ctx_from_frame(), _x_assert, _x_va_accel_guarded_render(), _x_va_frame_displayed(), _x_va_frame_duplicate_frame_data(), _x_va_frame_provide_standard_frame_data(), vo_frame_s::accel_data, vaapi_context_impl::ctx_lock, mem_frame_t::format, FRAME_FORMAT_STR, height, vaapi_accel_s::index, lprintf, mem_frame_update_frame_format(), NULL, vo_frame_s::proc_duplicate_frame_data, vo_frame_s::proc_provide_standard_frame_data, RENDER_SURFACES, mem_frame_t::vo_frame, vo_frame_s::width, width, mem_frame_t::width, xine_container_of, and XINE_IMGFMT_VAAPI.
Referenced by _get_instance(), and vaapi_open_plugin().