xine-lib 1.2.11
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <time.h>
#include <unistd.h>
#include "xine.h"
#include <xine/video_out.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/vo_scale.h>
#include <va/va_x11.h>
#include "accel_vaapi.h"
#include <pthread.h>
#include "color_matrix.c"
Data Structures | |
struct | vaapi_rect_t |
struct | vaapi_frame_t |
struct | va_property_t |
struct | vaapi_driver_s |
struct | vaapi_class_t |
Macros | |
#define | LOG_MODULE "video_out_vaapi" |
#define | LOG_VERBOSE |
#define | vaCreateSurfaces(d, f, w, h, s, ns, a, na) vaCreateSurfaces(d, w, h, f, ns, s) |
#define | RENDER_SURFACES 50 |
#define | MIN_SURFACES 22 |
#define | SOFT_SURFACES 3 |
#define | SW_WIDTH 1920 |
#define | SW_HEIGHT 1080 |
#define | STABLE_FRAME_COUNTER 4 |
#define | SW_CONTEXT_INIT_FORMAT -1 |
#define | USE_VAAPI_COLORSPACE 0 |
#define | FOVY 60.0f |
#define | ASPECT 1.0f |
#define | Z_NEAR 0.1f |
#define | Z_FAR 100.0f |
#define | Z_CAMERA 0.869f |
#define | GLAPIENTRY |
#define | LOCK_DISPLAY(_this) XLockDisplay (_this->display) |
#define | UNLOCK_DISPLAY(_this) XUnlockDisplay (_this->display) |
#define | RECT_IS_EQ(a, b) ((a).x1 == (b).x1 && (a).y1 == (b).y1 && (a).x2 == (b).x2 && (a).y2 == (b).y2) |
#define | CSC_MODE_USER_MATRIX 0 |
#define | CSC_MODE_FLAGS 1 |
#define | CSC_MODE_FLAGS_FULLRANGE2 2 |
#define | CSC_MODE_FLAGS_FULLRANGE3 3 |
#define | CM_LUT |
#define | CM_HAVE_YCGCO_SUPPORT 1 |
#define | CM_DRIVER_T vaapi_driver_t |
#define | PROFILE(profile) case VAProfile##profile: return "VAProfile" #profile |
#define | ENTRYPOINT(entrypoint) case VAEntrypoint##entrypoint: return "VAEntrypoint" #entrypoint |
#define | UMAX(a, b) ((a) > (uint32_t)(b) ? (a) : (uint32_t)(b)) |
Typedefs | |
typedef struct vaapi_driver_s | vaapi_driver_t |
Functions | |
static void | vaapi_destroy_subpicture (vaapi_driver_t *this) |
static void | vaapi_destroy_image (vaapi_driver_t *this, VAImage *va_image) |
static int | vaapi_ovl_associate (vaapi_driver_t *this, int format, int bShow) |
static VAStatus | vaapi_destroy_soft_surfaces (vaapi_driver_t *this) |
static VAStatus | vaapi_destroy_render_surfaces (vaapi_driver_t *this) |
static const char * | vaapi_profile_to_string (VAProfile profile) |
static int | vaapi_set_property (vo_driver_t *this_gen, int property, int value) |
static void | vaapi_show_display_props (vaapi_driver_t *this) |
static void | yv12_to_nv12 (const uint8_t *y_src, int y_src_pitch, const uint8_t *u_src, int u_src_pitch, const uint8_t *v_src, int v_src_pitch, uint8_t *y_dst, int y_dst_pitch, uint8_t *uv_dst, int uv_dst_pitch, int width, int height) |
static int | vaapi_check_status (vaapi_driver_t *this, VAStatus vaStatus, const char *msg) |
static int | vaapi_lock_decode (vo_frame_t *frame_gen) |
static void | vaapi_unlock_decode (vo_frame_t *frame_gen) |
static int | guarded_render (vo_frame_t *frame_gen) |
static ff_vaapi_surface_t * | get_vaapi_surface (vo_frame_t *frame_gen) |
static void | render_vaapi_surface (vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface) |
static void | release_vaapi_surface (vo_frame_t *frame_gen, ff_vaapi_surface_t *va_surface) |
static VADisplay | vaapi_get_display (Display *display, int opengl_render) |
static VAStatus | vaapi_terminate (ff_vaapi_context_t *va_context) |
static VAStatus | vaapi_initialize (ff_vaapi_context_t *va_context, Display *display, int opengl_render) |
static void | delay_usec (unsigned int usec) |
static void | vaapi_x11_wait_event (Display *dpy, Window w, int type) |
static int | vaapi_x11_error_handler (Display *dpy, XErrorEvent *error) |
static void | vaapi_x11_trap_errors (void) |
static int | vaapi_x11_untrap_errors (void) |
static uint32_t | vaapi_get_capabilities (vo_driver_t *this_gen) |
static int | vaapi_has_profile (VAProfile *va_profiles, int va_num_profiles, VAProfile profile) |
static int | profile_from_imgfmt (vo_frame_t *frame_gen, unsigned format) |
static const char * | vaapi_entrypoint_to_string (VAEntrypoint entrypoint) |
static void | vaapi_init_subpicture (vaapi_driver_t *this) |
static void | vaapi_init_va_context (ff_vaapi_context_t *va_context) |
static void | vaapi_close (vaapi_driver_t *this) |
static ff_vaapi_context_t * | get_context (vo_frame_t *frame_gen) |
static VAStatus | vaapi_create_image (vaapi_driver_t *this, VASurfaceID va_surface_id, VAImage *va_image, int width, int height, int clear) |
static VAStatus | vaapi_create_subpicture (vaapi_driver_t *this, int width, int height) |
static void | vaapi_set_csc_mode (vaapi_driver_t *this, int new_mode) |
static float | vaapi_normalized_prop (vaapi_driver_t *this, int prop) |
static void | vaapi_update_csc (vaapi_driver_t *that, vaapi_frame_t *frame) |
static void | vaapi_property_callback (void *property_gen, xine_cfg_entry_t *entry) |
static void | vaapi_check_capability (vaapi_driver_t *this, int property, VADisplayAttribute attr, const char *config_name, const char *config_desc, const char *config_help) |
static void | vaapi_display_attribs (vaapi_driver_t *this) |
static void | vaapi_set_background_color (vaapi_driver_t *this) |
static VAStatus | vaapi_init_soft_surfaces (vaapi_driver_t *this, int width, int height) |
static VAStatus | vaapi_init_internal (vaapi_driver_t *this, int va_profile, int width, int height) |
static VAStatus | vaapi_init (vo_frame_t *frame_gen, int va_profile, int width, int height) |
static void | vaapi_frame_proc_slice (vo_frame_t *vo_img, uint8_t **src) |
static void | vaapi_frame_field (vo_frame_t *vo_img, int which_field) |
static void | vaapi_frame_dispose (vo_frame_t *vo_img) |
static vo_frame_t * | vaapi_alloc_frame (vo_driver_t *this_gen) |
static void | vaapi_overlay_begin (vo_driver_t *this_gen, vo_frame_t *frame_gen, int changed) |
static void | vaapi_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) |
static void | _merge_rects (vaapi_rect_t *rect, const vo_overlay_t *ovl) |
static void | vaapi_overlay_end (vo_driver_t *this_gen, vo_frame_t *frame_gen) |
static int | vaapi_redraw_needed (vo_driver_t *this_gen) |
static void | vaapi_provide_standard_frame_data (vo_frame_t *this, xine_current_frame_data_t *data) |
static void | vaapi_duplicate_frame_data (vo_frame_t *this_gen, vo_frame_t *original) |
static void | vaapi_update_frame_format (vo_driver_t *this_gen, vo_frame_t *frame_gen, uint32_t width, uint32_t height, double ratio, int format, int flags) |
static void | yuy2_to_nv12 (const uint8_t *src_yuy2_map, int yuy2_pitch, uint8_t *y_dst, int y_dst_pitch, uint8_t *uv_dst, int uv_dst_pitch, int width, int height) |
static VAStatus | vaapi_software_render_frame (vaapi_driver_t *this, vo_frame_t *frame_gen, VAImage *va_image, VASurfaceID va_surface_id) |
static VAStatus | vaapi_hardware_render_frame (vaapi_driver_t *this, vo_frame_t *frame_gen, VASurfaceID va_surface_id) |
static void | vaapi_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) |
static int | vaapi_get_property (vo_driver_t *this_gen, int property) |
static void | vaapi_get_property_min_max (vo_driver_t *this_gen, int property, int *min, int *max) |
static int | vaapi_gui_data_exchange (vo_driver_t *this_gen, int data_type, void *data) |
static void | vaapi_dispose_locked (vaapi_driver_t *this) |
static void | vaapi_dispose (vo_driver_t *this_gen) |
static void | vaapi_vdr_osd_width_flag (void *this_gen, xine_cfg_entry_t *entry) |
static void | vaapi_vdr_osd_height_flag (void *this_gen, xine_cfg_entry_t *entry) |
static void | vaapi_deinterlace_flag (void *this_gen, xine_cfg_entry_t *entry) |
static void | vaapi_scaling_level (void *this_gen, xine_cfg_entry_t *entry) |
static void | vaapi_swap_uv_planes (void *this_gen, xine_cfg_entry_t *entry) |
static void | vaapi_csc_mode (void *this_gen, xine_cfg_entry_t *entry) |
static vo_driver_t * | vaapi_open_plugin (video_driver_class_t *class_gen, const void *visual_gen) |
static void * | vaapi_init_class (xine_t *xine, const void *visual_gen) |
Variables | |
static const char *const | scaling_level_enum_names [] |
static const int | scaling_level_enum_values [] |
static int | vaapi_x11_error_code = 0 |
static int(* | vaapi_x11_old_error_handler )(Display *, XErrorEvent *) |
static const char *const | vaapi_csc_mode_labels [] |
static const vo_info_t | vo_info_vaapi |
const plugin_info_t xine_plugin_info[] | EXPORTED |
#define ASPECT 1.0f |
#define CM_DRIVER_T vaapi_driver_t |
#define CM_HAVE_YCGCO_SUPPORT 1 |
#define CM_LUT |
#define CSC_MODE_FLAGS 1 |
#define CSC_MODE_FLAGS_FULLRANGE2 2 |
#define CSC_MODE_FLAGS_FULLRANGE3 3 |
#define CSC_MODE_USER_MATRIX 0 |
#define ENTRYPOINT | ( | entrypoint | ) | case VAEntrypoint##entrypoint: return "VAEntrypoint" #entrypoint |
#define FOVY 60.0f |
#define GLAPIENTRY |
#define LOCK_DISPLAY | ( | _this | ) | XLockDisplay (_this->display) |
#define LOG_MODULE "video_out_vaapi" |
#define LOG_VERBOSE |
#define MIN_SURFACES 22 |
#define PROFILE | ( | profile | ) | case VAProfile##profile: return "VAProfile" #profile |
#define RECT_IS_EQ | ( | a, | |
b | |||
) | ((a).x1 == (b).x1 && (a).y1 == (b).y1 && (a).x2 == (b).x2 && (a).y2 == (b).y2) |
#define RENDER_SURFACES 50 |
#define SOFT_SURFACES 3 |
#define STABLE_FRAME_COUNTER 4 |
#define SW_CONTEXT_INIT_FORMAT -1 |
#define SW_HEIGHT 1080 |
#define SW_WIDTH 1920 |
#define UMAX | ( | a, | |
b | |||
) | ((a) > (uint32_t)(b) ? (a) : (uint32_t)(b)) |
#define UNLOCK_DISPLAY | ( | _this | ) | XUnlockDisplay (_this->display) |
#define USE_VAAPI_COLORSPACE 0 |
#define vaCreateSurfaces | ( | d, | |
f, | |||
w, | |||
h, | |||
s, | |||
ns, | |||
a, | |||
na | |||
) | vaCreateSurfaces(d, w, h, f, ns, s) |
#define Z_CAMERA 0.869f |
#define Z_FAR 100.0f |
#define Z_NEAR 0.1f |
typedef struct vaapi_driver_s vaapi_driver_t |
|
static |
References vo_overlay_s::height, vo_overlay_s::width, vo_overlay_s::x, vaapi_rect_t::x1, vaapi_rect_t::x2, vo_overlay_s::y, vaapi_rect_t::y1, and vaapi_rect_t::y2.
Referenced by vaapi_overlay_end().
|
static |
Referenced by vaapi_x11_wait_event().
|
static |
References vo_frame_s::driver.
Referenced by vaapi_alloc_frame().
|
static |
References vo_frame_s::driver, guarded_render(), lprintf, NULL, RENDER_SURFACES, ff_vaapi_surface_s::status, SURFACE_ALOC, SURFACE_FREE, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_head, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, and vaapi_check_status().
Referenced by vaapi_alloc_frame().
|
static |
References vo_frame_s::driver.
Referenced by get_buffer(), get_vaapi_surface(), release_vaapi_surface(), render_vaapi_surface(), vaapi_alloc_frame(), vaapi_display_frame(), vaapi_frame_dispose(), vaapi_init(), vaapi_init_internal(), vaapi_lock_decode(), vaapi_open_plugin(), and vaapi_update_frame_format().
|
static |
References _x_assert, vo_frame_s::driver, IMGFMT_VAAPI_CODEC, IMGFMT_VAAPI_CODEC_H264, IMGFMT_VAAPI_CODEC_HEVC, IMGFMT_VAAPI_CODEC_MPEG2, IMGFMT_VAAPI_CODEC_MPEG4, IMGFMT_VAAPI_CODEC_VC1, IMGFMT_VAAPI_HEVC, IMGFMT_VAAPI_HEVC_MAIN10, IMGFMT_VAAPI_VC1, IMGFMT_VAAPI_WMV3, LOG_MODULE, NULL, ff_vaapi_context_s::va_display, vaapi_check_status(), vaapi_has_profile(), vaapi_profile_to_string(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_alloc_frame().
|
static |
References vo_frame_s::driver, guarded_render(), lprintf, NULL, ff_vaapi_surface_s::status, SURFACE_FREE, SURFACE_RENDER, SURFACE_RENDER_RELEASE, and ff_vaapi_surface_s::va_surface_id.
Referenced by vaapi_alloc_frame().
|
static |
References vo_frame_s::accel_data, vo_frame_s::driver, guarded_render(), ff_vaapi_surface_s::index, lprintf, ff_vaapi_surface_s::status, SURFACE_RENDER, and ff_vaapi_surface_s::va_surface_id.
Referenced by vaapi_alloc_frame().
|
static |
References vo_frame_s::accel_data, vo_frame_s::base, vo_frame_s::dispose, vo_frame_s::driver, vaapi_accel_s::f, vo_frame_s::field, vaapi_frame_t::flags, vaapi_frame_t::format, get_context(), get_vaapi_surface(), guarded_render(), vaapi_frame_t::height, LOG_MODULE, lprintf, vo_frame_s::mutex, NULL, vo_frame_s::proc_duplicate_frame_data, vo_frame_s::proc_frame, vo_frame_s::proc_provide_standard_frame_data, vo_frame_s::proc_slice, profile_from_imgfmt(), release_vaapi_surface(), render_vaapi_surface(), vaapi_frame_t::vaapi_accel_data, vaapi_frame_dispose(), vaapi_frame_field(), vaapi_frame_proc_slice(), vaapi_init(), vaapi_accel_funcs_s::vaapi_init, vaapi_lock_decode(), vaapi_unlock_decode(), vaapi_frame_t::vo_frame, vaapi_frame_t::width, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_open_plugin().
|
static |
|
static |
References LOG_MODULE, XINE_VERBOSITY_LOG, and xprintf.
Referenced by get_vaapi_surface(), profile_from_imgfmt(), vaapi_close(), vaapi_create_image(), vaapi_create_subpicture(), vaapi_destroy_image(), vaapi_destroy_render_surfaces(), vaapi_destroy_soft_surfaces(), vaapi_destroy_subpicture(), vaapi_display_attribs(), vaapi_display_frame(), vaapi_duplicate_frame_data(), vaapi_hardware_render_frame(), vaapi_init_internal(), vaapi_init_soft_surfaces(), vaapi_ovl_associate(), vaapi_provide_standard_frame_data(), and vaapi_software_render_frame().
|
static |
References _x_freep(), ff_vaapi_context_s::va_config_id, ff_vaapi_context_s::va_context_id, ff_vaapi_context_s::va_display, vaapi_check_status(), vaapi_destroy_render_surfaces(), vaapi_destroy_soft_surfaces(), vaapi_destroy_subpicture(), vaapi_ovl_associate(), and ff_vaapi_context_s::valid_context.
Referenced by vaapi_dispose_locked(), vaapi_init_internal(), and vaapi_open_plugin().
|
static |
References height, lprintf, NULL, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_image_formats, ff_vaapi_context_s::va_num_image_formats, vaapi_check_status(), vaapi_destroy_image(), ff_vaapi_context_s::valid_context, and width.
Referenced by vaapi_duplicate_frame_data(), vaapi_init_internal(), vaapi_init_soft_surfaces(), and vaapi_provide_standard_frame_data().
|
static |
References fourcc, height, lprintf, NULL, ff_vaapi_context_s::va_display, vaapi_check_status(), vaapi_destroy_image(), vaapi_destroy_subpicture(), ff_vaapi_context_s::valid_context, and width.
Referenced by vaapi_ovl_associate().
|
static |
References xine_cfg_entry_s::num_value, and vaapi_set_csc_mode().
Referenced by vaapi_open_plugin().
|
static |
References xine_cfg_entry_s::num_value.
Referenced by vaapi_open_plugin().
|
static |
|
static |
|
static |
References SOFT_SURFACES, ff_vaapi_context_s::va_display, vaapi_check_status(), and vaapi_destroy_image().
Referenced by vaapi_close(), vaapi_init_internal(), and vaapi_init_soft_surfaces().
|
static |
References lprintf, ff_vaapi_context_s::va_display, vaapi_check_status(), and vaapi_destroy_image().
Referenced by vaapi_close(), vaapi_create_subpicture(), and vaapi_ovl_associate().
|
static |
References ff_vaapi_context_s::va_display, vaapi_check_capability(), vaapi_check_status(), vaapi_show_display_props(), VO_CAP_BRIGHTNESS, VO_CAP_CONTRAST, VO_CAP_HUE, VO_CAP_SATURATION, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by vaapi_init_internal().
|
static |
References vo_frame_s::crop_bottom, vo_frame_s::crop_left, vo_frame_s::crop_right, vo_frame_s::crop_top, vo_frame_s::format, vaapi_frame_t::format, vo_frame_s::free, guarded_render(), vaapi_frame_t::height, ff_vaapi_context_s::height, vaapi_accel_s::index, LOCK_DISPLAY, LOG_MODULE, lprintf, NULL, vaapi_frame_t::ratio, SOFT_SURFACES, ff_vaapi_surface_s::status, SURFACE_FREE, SURFACE_RELEASE, SURFACE_RENDER, SURFACE_RENDER_RELEASE, SW_CONTEXT_INIT_FORMAT, UNLOCK_DISPLAY, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vaapi_frame_t::vaapi_accel_data, vaapi_check_status(), vaapi_hardware_render_frame(), vaapi_init_internal(), vaapi_init_soft_surfaces(), vaapi_ovl_associate(), vaapi_redraw_needed(), vaapi_software_render_frame(), ff_vaapi_context_s::valid_context, vaapi_frame_t::vo_frame, vaapi_frame_t::width, ff_vaapi_context_s::width, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_open_plugin().
|
static |
References lprintf, and vaapi_dispose_locked().
Referenced by vaapi_open_plugin().
|
static |
References _x_freep(), _x_vo_scale_cleanup(), LOCK_DISPLAY, LOG_MODULE, UNLOCK_DISPLAY, vaapi_close(), vaapi_terminate(), vaapi_x11_trap_errors(), vaapi_x11_untrap_errors(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_dispose(), and vaapi_open_plugin().
|
static |
References vo_frame_s::driver, vo_frame_s::format, vaapi_frame_t::format, vaapi_driver_s::guarded_render, ff_vaapi_context_s::height, ff_vaapi_surface_s::index, vaapi_accel_s::index, vaapi_driver_s::is_bound, LOCK_DISPLAY, LOG_MODULE, lprintf, NULL, ff_vaapi_surface_s::status, SURFACE_RENDER, UNLOCK_DISPLAY, vaapi_driver_s::va_context, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vaapi_frame_t::vaapi_accel_data, vaapi_check_status(), vaapi_create_image(), vaapi_destroy_image(), vaapi_driver_s::vaapi_lock, vaapi_frame_t::vo_frame, ff_vaapi_context_s::width, vaapi_driver_s::xine, xine_fast_memcpy, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_update_frame_format().
|
static |
References ENTRYPOINT.
Referenced by vaapi_init_internal().
|
static |
References vo_frame_s::driver, guarded_render(), vaapi_accel_s::index, lprintf, ff_vaapi_surface_s::status, SURFACE_FREE, ff_vaapi_context_s::va_render_surfaces, and xine_freep_aligned.
Referenced by vaapi_alloc_frame().
|
static |
Referenced by vaapi_alloc_frame(), and vaapi_update_frame_format().
|
static |
References vo_frame_s::proc_called.
Referenced by vaapi_alloc_frame().
|
static |
Referenced by vaapi_open_plugin().
|
static |
References NULL.
Referenced by vaapi_initialize().
|
static |
|
static |
Referenced by vaapi_open_plugin().
|
static |
References _x_vo_scale_translate_gui2video(), x11_rectangle_t::h, LOCK_DISPLAY, lprintf, UNLOCK_DISPLAY, x11_rectangle_t::w, x11_rectangle_t::x, XINE_GUI_SEND_COMPLETION_EVENT, XINE_GUI_SEND_DRAWABLE_CHANGED, XINE_GUI_SEND_EXPOSE_EVENT, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, XINE_GUI_SEND_WILL_DESTROY_DRAWABLE, and x11_rectangle_t::y.
Referenced by vaapi_open_plugin().
|
static |
References vaapi_frame_t::format, height, vaapi_frame_t::height, ff_vaapi_context_s::height, lprintf, NULL, vo_frame_s::progressive_frame, vo_frame_s::top_field_first, ff_vaapi_context_s::va_display, vaapi_check_status(), vaapi_update_csc(), vaapi_x11_trap_errors(), vaapi_x11_untrap_errors(), ff_vaapi_context_s::valid_context, vaapi_frame_t::vo_frame, width, vaapi_frame_t::width, ff_vaapi_context_s::width, and XINE_IMGFMT_VAAPI.
Referenced by vaapi_display_frame().
|
static |
Referenced by profile_from_imgfmt().
|
static |
References vo_frame_s::driver, vo_frame_s::format, guarded_render(), height, LOCK_DISPLAY, UNLOCK_DISPLAY, vaapi_init_internal(), vaapi_ovl_associate(), and width.
Referenced by vaapi_alloc_frame().
|
static |
|
static |
References guarded_render(), height, ff_vaapi_context_s::height, ff_vaapi_surface_s::index, vaapi_accel_s::index, LOG_MODULE, NULL, RENDER_SURFACES, scaling_level_enum_names, ff_vaapi_surface_s::status, SURFACE_FREE, ff_vaapi_context_s::va_config_id, ff_vaapi_context_s::va_context_id, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, ff_vaapi_context_s::va_surface_ids, vaapi_frame_t::vaapi_accel_data, vaapi_check_status(), vaapi_close(), vaapi_create_image(), vaapi_destroy_image(), vaapi_destroy_soft_surfaces(), vaapi_display_attribs(), vaapi_entrypoint_to_string(), vaapi_init_soft_surfaces(), vaapi_init_va_context(), vaapi_initialize(), vaapi_profile_to_string(), vaapi_set_background_color(), vaCreateSurfaces, ff_vaapi_context_s::valid_context, width, ff_vaapi_context_s::width, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_display_frame(), vaapi_init(), and vaapi_open_plugin().
|
static |
References height, NULL, SOFT_SURFACES, ff_vaapi_context_s::va_display, vaapi_check_status(), vaapi_create_image(), vaapi_destroy_soft_surfaces(), vaCreateSurfaces, and width.
Referenced by vaapi_display_frame(), and vaapi_init_internal().
|
static |
References NULL.
Referenced by vaapi_open_plugin().
|
static |
References ff_vaapi_surface_s::index, RENDER_SURFACES, ff_vaapi_surface_s::status, SURFACE_FREE, ff_vaapi_context_s::va_config_id, ff_vaapi_context_s::va_context_id, ff_vaapi_context_s::va_head, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, ff_vaapi_context_s::va_surface_ids, and ff_vaapi_context_s::valid_context.
Referenced by vaapi_init_internal(), and vaapi_open_plugin().
|
static |
|
static |
References vo_frame_s::driver, and guarded_render().
Referenced by vaapi_alloc_frame().
|
static |
Referenced by vaapi_update_csc().
|
static |
References _, _x_vo_scale_init(), xine_s::config, ff_vaapi_context_s::driver, guarded_render(), LOCK_DISPLAY, LOG_MODULE, MIN_SURFACES, NULL, config_values_s::register_bool, config_values_s::register_enum, config_values_s::register_num, RENDER_SURFACES, scaling_level_enum_names, scaling_level_enum_values, SOFT_SURFACES, SW_CONTEXT_INIT_FORMAT, SW_HEIGHT, SW_WIDTH, UNLOCK_DISPLAY, config_values_s::update_num, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_context_s::va_surface_ids, vaapi_alloc_frame(), vaapi_close(), vaapi_csc_mode(), vaapi_csc_mode_labels, vaapi_deinterlace_flag(), vaapi_display_frame(), vaapi_dispose(), vaapi_dispose_locked(), vaapi_get_capabilities(), vaapi_get_property(), vaapi_get_property_min_max(), vaapi_gui_data_exchange(), vaapi_init_internal(), vaapi_init_subpicture(), vaapi_init_va_context(), vaapi_overlay_begin(), vaapi_overlay_blend(), vaapi_overlay_end(), vaapi_redraw_needed(), vaapi_scaling_level(), vaapi_set_csc_mode(), vaapi_set_property(), vaapi_swap_uv_planes(), vaapi_update_frame_format(), vaapi_vdr_osd_height_flag(), vaapi_vdr_osd_width_flag(), vaapi_x11_trap_errors(), vaapi_x11_untrap_errors(), vaapi_x11_wait_event(), ff_vaapi_context_s::valid_context, VO_CAP_ARGB_LAYER_OVERLAY, VO_CAP_CROP, VO_CAP_CUSTOM_EXTENT_OVERLAY, VO_CAP_UNSCALED_OVERLAY, VO_CAP_VAAPI, VO_CAP_YUY2, VO_CAP_YV12, VO_NUM_PROPERTIES, VO_PROP_ASPECT_RATIO, VO_PROP_ZOOM_X, VO_PROP_ZOOM_Y, config_values_s::xine, vaapi_class_t::xine, XINE_VERBOSITY_LOG, XINE_VO_ASPECT_AUTO, and xprintf.
Referenced by vaapi_init_class().
|
static |
References vo_frame_s::format, LOCK_DISPLAY, lprintf, UNLOCK_DISPLAY, vaapi_ovl_associate(), and ff_vaapi_context_s::valid_context.
Referenced by vaapi_open_plugin().
|
static |
References vo_overlay_s::argb_layer, argb_layer_s::buffer, vo_overlay_s::height, vo_overlay_s::hili_bottom, vo_overlay_s::hili_left, vo_overlay_s::hili_rgb_clut, vo_overlay_s::hili_right, vo_overlay_s::hili_top, lprintf, vo_overlay_s::rgb_clut, vo_overlay_s::rle, vo_overlay_s::unscaled, vo_overlay_s::width, vo_overlay_s::x, argb_layer_s::x1, argb_layer_s::x2, XINE_VORAW_MAX_OVL, vo_overlay_s::y, argb_layer_s::y1, and argb_layer_s::y2.
Referenced by vaapi_open_plugin().
|
static |
References _merge_rects(), _x_overlay_clut_yuv2rgb(), _x_overlay_to_argb32(), vo_overlay_s::argb_layer, argb_layer_s::buffer, vo_frame_s::format, vo_overlay_s::height, height, vaapi_frame_t::height, vo_overlay_s::hili_rgb_clut, LOCK_DISPLAY, lprintf, argb_layer_s::mutex, NULL, RECT_IS_EQ, vo_overlay_s::rgb_clut, vo_overlay_s::rle, UMAX, UNLOCK_DISPLAY, vo_overlay_s::unscaled, vaapi_ovl_associate(), ff_vaapi_context_s::valid_context, vo_overlay_s::width, vaapi_frame_t::width, vo_overlay_s::x, vaapi_rect_t::x1, vaapi_rect_t::x2, xine_fast_memcpy, vo_overlay_s::y, vaapi_rect_t::y1, and vaapi_rect_t::y2.
Referenced by vaapi_open_plugin().
|
static |
References ff_vaapi_context_s::height, lprintf, NULL, RENDER_SURFACES, SOFT_SURFACES, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_surface_ids, vaapi_check_status(), vaapi_create_subpicture(), vaapi_destroy_subpicture(), ff_vaapi_context_s::valid_context, ff_vaapi_context_s::width, xine_fast_memcpy, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YUY2, and XINE_IMGFMT_YV12.
Referenced by vaapi_close(), vaapi_display_frame(), vaapi_init(), vaapi_overlay_begin(), and vaapi_overlay_end().
|
static |
References PROFILE.
Referenced by profile_from_imgfmt(), and vaapi_init_internal().
|
static |
References LOCK_DISPLAY, lprintf, xine_cfg_entry_s::num_value, UNLOCK_DISPLAY, ff_vaapi_context_s::va_display, and vaapi_show_display_props().
Referenced by vaapi_check_capability().
|
static |
References _x_nv12_to_yv12(), xine_current_frame_data_s::format, height, ff_vaapi_context_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, vaapi_accel_s::index, vaapi_driver_s::is_bound, LOCK_DISPLAY, LOG_MODULE, lprintf, vaapi_driver_s::query_va_status, UNLOCK_DISPLAY, vaapi_driver_s::va_context, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vaapi_check_status(), vaapi_create_image(), vaapi_destroy_image(), vaapi_driver_s::vaapi_lock, width, ff_vaapi_context_s::width, vaapi_driver_s::xine, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, xprintf, and yv12_to_yv12().
Referenced by vaapi_update_frame_format().
|
static |
References _x_vo_scale_compute_ideal_size(), _x_vo_scale_compute_output_size(), and _x_vo_scale_redraw_needed().
Referenced by vaapi_display_frame(), and vaapi_open_plugin().
|
static |
References xine_cfg_entry_s::num_value.
Referenced by vaapi_open_plugin().
|
static |
References ff_vaapi_context_s::va_display, and ff_vaapi_context_s::valid_context.
Referenced by vaapi_init_internal().
|
static |
References CSC_MODE_FLAGS, CSC_MODE_USER_MATRIX, VO_CAP_BRIGHTNESS, VO_CAP_COLOR_MATRIX, VO_CAP_CONTRAST, VO_CAP_FULLRANGE, VO_CAP_HUE, VO_CAP_SATURATION, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, and VO_PROP_SATURATION.
Referenced by vaapi_csc_mode(), vaapi_open_plugin(), and vaapi_update_csc().
|
static |
References _x_vo_scale_compute_ideal_size(), lprintf, ff_vaapi_context_s::va_display, vaapi_show_display_props(), ff_vaapi_context_s::valid_context, VO_NUM_PROPERTIES, VO_PROP_ASPECT_RATIO, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, VO_PROP_ZOOM_X, VO_PROP_ZOOM_Y, XINE_VO_ASPECT_AUTO, XINE_VO_ASPECT_NUM_RATIOS, XINE_VO_ZOOM_MAX, XINE_VO_ZOOM_MIN, and XINE_VO_ZOOM_STEP.
Referenced by vaapi_check_capability(), and vaapi_open_plugin().
|
static |
References LOG_MODULE, VO_CAP_BRIGHTNESS, VO_CAP_CONTRAST, VO_CAP_HUE, VO_CAP_SATURATION, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_display_attribs(), vaapi_property_callback(), and vaapi_set_property().
|
static |
References vo_frame_s::base, vaapi_frame_t::format, vo_frame_s::height, vaapi_frame_t::height, lprintf, NULL, vo_frame_s::pitches, ff_vaapi_context_s::va_display, vaapi_check_status(), ff_vaapi_context_s::valid_context, vo_frame_s::width, vaapi_frame_t::width, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, yuy2_to_nv12(), yuy2_to_yv12, yv12_to_nv12(), and yv12_to_yv12().
Referenced by vaapi_display_frame().
|
static |
References xine_cfg_entry_s::num_value.
Referenced by vaapi_open_plugin().
|
static |
References _x_freep(), NULL, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_image_formats, and ff_vaapi_context_s::va_num_image_formats.
Referenced by vaapi_dispose_locked(), and vaapi_initialize().
|
static |
References vo_frame_s::driver.
Referenced by vaapi_alloc_frame().
|
static |
References _, va_property_t::atom, cm_names, vaapi_driver_s::color_matrix, contrast, vaapi_driver_s::csc_mode, CSC_MODE_FLAGS, CSC_MODE_FLAGS_FULLRANGE2, CSC_MODE_FLAGS_FULLRANGE3, CSC_MODE_USER_MATRIX, vaapi_driver_s::have_user_csc_matrix, va_property_t::max, va_property_t::min, vaapi_driver_s::props, va_property_t::type, vaapi_driver_s::user_csc_matrix, vaapi_driver_s::va_context, ff_vaapi_context_s::va_display, vaapi_driver_s::vaapi_cm_flags, vaapi_csc_mode_labels, vaapi_normalized_prop(), vaapi_set_csc_mode(), va_property_t::value, vaapi_frame_t::vo_frame, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, vaapi_driver_s::xine, XINE_VERBOSITY_LOG, and xprintf.
Referenced by vaapi_hardware_render_frame().
|
static |
References vo_frame_s::base, vaapi_frame_t::flags, vaapi_frame_t::format, vo_frame_s::future_frame, guarded_render(), vo_frame_s::height, height, vaapi_frame_t::height, vaapi_accel_s::index, LOCK_DISPLAY, lprintf, NULL, vo_frame_s::pitches, vo_frame_s::proc_duplicate_frame_data, vo_frame_s::proc_provide_standard_frame_data, vaapi_frame_t::ratio, ff_vaapi_surface_s::status, SURFACE_FREE, SURFACE_RELEASE, SURFACE_RENDER, SURFACE_RENDER_RELEASE, UNLOCK_DISPLAY, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vaapi_frame_t::vaapi_accel_data, vaapi_duplicate_frame_data(), vaapi_frame_field(), vaapi_provide_standard_frame_data(), vaapi_frame_t::vo_frame, vo_frame_s::width, width, vaapi_frame_t::width, xine_freep_aligned, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, and xine_mallocz_aligned().
Referenced by vaapi_open_plugin().
|
static |
References xine_cfg_entry_s::num_value.
Referenced by vaapi_open_plugin().
|
static |
References xine_cfg_entry_s::num_value.
Referenced by vaapi_open_plugin().
|
static |
References vaapi_x11_error_code.
Referenced by vaapi_x11_trap_errors().
|
static |
References vaapi_x11_error_code, vaapi_x11_error_handler(), and vaapi_x11_old_error_handler.
Referenced by vaapi_dispose_locked(), vaapi_hardware_render_frame(), and vaapi_open_plugin().
|
static |
References vaapi_x11_error_code, and vaapi_x11_old_error_handler.
Referenced by vaapi_dispose_locked(), vaapi_hardware_render_frame(), and vaapi_open_plugin().
|
static |
References delay_usec().
Referenced by vaapi_open_plugin().
|
static |
Referenced by vaapi_software_render_frame().
|
static |
References height, lprintf, width, xine_fast_memcpy, xine_free_aligned(), and xine_malloc_aligned().
Referenced by vaapi_software_render_frame().
const plugin_info_t xine_plugin_info [] EXPORTED |
|
static |
Referenced by vaapi_init_internal(), and vaapi_open_plugin().
|
static |
Referenced by vaapi_open_plugin().
|
static |
Referenced by vaapi_open_plugin(), and vaapi_update_csc().
|
static |
Referenced by vaapi_x11_error_handler(), vaapi_x11_trap_errors(), and vaapi_x11_untrap_errors().
|
static |
Referenced by vaapi_x11_trap_errors(), and vaapi_x11_untrap_errors().
|
static |