xine-lib 1.2.13-20230125hg15249
|
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <math.h>
#include <errno.h>
#include <ctype.h>
#include <pthread.h>
#include <xine.h>
#include <xine/video_out.h>
#include <xine/vo_scale.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <GL/gl.h>
#include <GL/glext.h>
#include "opengl/xine_gl.h"
#include "mem_frame.h"
#include "hw_frame.h"
#include "color_matrix.c"
Data Structures | |
union | _opengl2_w2_t |
struct | opengl2_overlay_t |
struct | opengl2_program_t |
struct | opengl2_yuvtex_t |
struct | opengl2_driver_s |
struct | opengl2_class_t |
struct | opengl2_rect_t |
struct | opengl2_draw_info_t |
Macros | |
#define | LOG_MODULE "video_out_opengl2" |
#define | GL_GLEXT_PROTOTYPES |
#define | _FLAG2BIT(_flag) |
#define | GL_RED 0x1903 |
#define | GL_RG 0x8227 |
#define | SCALE_MASK 3 |
#define | OGL2_NUM_VIDEO_PBO 2 |
#define | OGL2_OVERLAY_PBO OGL2_NUM_VIDEO_PBO + 1 |
#define | OGL2_BC_LUT 1 |
#define | OGL2_BC_PROG_1 2 |
#define | OGL2_BC_PROG_2 4 |
#define | OGL2_BC_FBO 8 |
#define | MAX_EXIT_TARGETS 8 |
#define | CM_LUT |
#define | CM_HAVE_YCGCO_SUPPORT 1 |
#define | CM_HAVE_BT2020_SUPPORT 1 |
#define | CM_DRIVER_T opengl2_driver_t |
#define | LUTWIDTH 1000 |
#define | _OGL2_STATE_OK 1 |
#define | _OGL2_STATE_CHANGED 2 |
#define | OGL2_FT_MASK 15 |
#define | INITWIDTH 720 |
#define | INITHEIGHT 576 |
Typedefs | |
typedef mem_frame_t | opengl2_frame_t |
typedef struct opengl2_driver_s | opengl2_driver_t |
typedef char | opengl2_shader_arg_name_t[8] |
Enumerations | |
enum | opengl2_csc_shader_t { OGL2_cscs_NONE = 0 , OGL2_cscs_yuv420 , OGL2_cscs_yuv420j , OGL2_cscs_yuv420j16 , OGL2_cscs_nv12 , OGL2_cscs_yuv422 , OGL2_cscs_LAST } |
enum | opengl2_tex_t { OGL2_TEX_VIDEO_0 = 0 , OGL2_TEX_VIDEO_1 , OGL2_TEX_y , OGL2_TEX_u_v , OGL2_TEX_u , OGL2_TEX_v , OGL2_TEX_yuv , OGL2_TEX_uv , OGL2_TEX_HW0 , OGL2_TEX_HW1 , OGL2_TEX_HW2 , OGL2_TEX_CUBIC_TEMP , OGL2_TEX_CUBIC_LUT , OGL2_TEX_LAST } |
enum | opengl2_spline_t { SPLINE_CATMULLROM = 0 , SPLINE_COS , SPLINE_LAST } |
enum | opengl2_scale_t { SCALE_SIMPLE = 0 , SCALE_LINEAR , SCALE_CATMULLROM , SCALE_COS , SCALE_LAST } |
enum | _ogl2_ft_t { OGL2_FT_UNKNOWN = 0 , OGL2_FT_YV12 , OGL2_FT_YV12_DEEP , OGL2_FT_NV12 , OGL2_FT_YUY2 , OGL2_FT_HW_UNKNOWN , OGL2_FT_HW_YV12 , OGL2_FT_HW_YV12_DEEP , OGL2_FT_HW_NV12 , OGL2_FT_HW_YUY2 , OGL2_FT_LAST } |
Variables | |
static const char | _ogl2_tex_names [OGL2_TEX_LAST][12] |
static const char | _opengl2_scale_names [SCALE_LAST][16] |
static const float | _opengl2_lut_y [SCALE_LAST] |
opengl2_driver_t * | opengl2_exit_vector [8] |
static const opengl2_shader_arg_name_t | bicubic_pass1_args [] = {"ARB", "tex", "lut", "spline", ""} |
static const char | bicubic_pass1_frag [] |
static const opengl2_shader_arg_name_t | bicubic_pass2_args [] = {"ARB", "tex", "lut", "spline", ""} |
static const char | bicubic_pass2_frag [] |
static double(*const | _opengl2_spline [SPLINE_LAST])(double x) |
static const opengl2_shader_arg_name_t | blur_sharpen_args [] = {"ARB", "tex", "mid", "side", "corn", ""} |
static const char | blur_sharpen_frag [] |
static const opengl2_shader_arg_name_t | yuv420_args [] = {"r_coefs", "g_coefs", "b_coefs", "texY", "texU", "texV", ""} |
static const char | yuv420_frag [] |
static const opengl2_shader_arg_name_t | yuv420j_args [] = {"r_coefs", "g_coefs", "b_coefs", "texY", "tex_U_V", ""} |
static const char | yuv420j_frag [] |
static const opengl2_shader_arg_name_t | yuv420j16_args [] = {"r_coefs", "g_coefs", "b_coefs", "texY", "tex_U_V", "join16", ""} |
static const char | yuv420j16_frag [] |
static const opengl2_shader_arg_name_t | nv12_args [] = {"r_coefs", "g_coefs", "b_coefs", "texY", "texUV", ""} |
static const char | nv12_frag [] |
static const opengl2_shader_arg_name_t | yuv422_args [] = {"r_coefs", "g_coefs", "b_coefs", "texYUV", "yuy2v", ""} |
static const char | yuv422_frag [] |
static const vo_info_t | vo_info_opengl2 |
static const vo_info_t | vo_info_opengl2_wl |
const plugin_info_t xine_plugin_info[] | EXPORTED |
#define _FLAG2BIT | ( | _flag | ) |
Referenced by opengl2_draw().
#define _OGL2_STATE_CHANGED 2 |
Referenced by _opengl2_setup_bicubic(), opengl2_check_textures_size(), opengl2_draw(), and opengl2_draw_video_bicubic().
#define _OGL2_STATE_OK 1 |
#define CM_DRIVER_T opengl2_driver_t |
#define CM_HAVE_BT2020_SUPPORT 1 |
#define CM_HAVE_YCGCO_SUPPORT 1 |
#define CM_LUT |
#define GL_GLEXT_PROTOTYPES |
#define GL_RED 0x1903 |
Referenced by opengl2_open_plugin().
#define GL_RG 0x8227 |
Referenced by opengl2_open_plugin().
#define INITHEIGHT 576 |
#define INITWIDTH 720 |
#define LOG_MODULE "video_out_opengl2" |
#define LUTWIDTH 1000 |
Referenced by create_lut_texture().
#define MAX_EXIT_TARGETS 8 |
Referenced by opengl2_exit(), opengl2_exit_register(), and opengl2_exit_unregister().
#define OGL2_BC_FBO 8 |
Referenced by _opengl2_setup_bicubic(), and opengl2_draw_video_bicubic().
#define OGL2_BC_LUT 1 |
#define OGL2_BC_PROG_1 2 |
Referenced by _opengl2_setup_bicubic(), opengl2_draw_video_bicubic(), and opengl2_draw_video_cubic_x().
#define OGL2_BC_PROG_2 4 |
Referenced by _opengl2_setup_bicubic(), opengl2_draw_video_bicubic(), and opengl2_draw_video_cubic_y().
#define OGL2_FT_MASK 15 |
Referenced by opengl2_draw().
#define OGL2_NUM_VIDEO_PBO 2 |
Referenced by _opengl2_next_videoPBO(), and opengl2_check_textures_size().
#define OGL2_OVERLAY_PBO OGL2_NUM_VIDEO_PBO + 1 |
Referenced by opengl2_upload_overlay().
#define SCALE_MASK 3 |
Referenced by opengl2_draw().
typedef struct opengl2_driver_s opengl2_driver_t |
typedef mem_frame_t opengl2_frame_t |
typedef char opengl2_shader_arg_name_t[8] |
enum _ogl2_ft_t |
enum opengl2_csc_shader_t |
enum opengl2_scale_t |
enum opengl2_spline_t |
enum opengl2_tex_t |
|
static |
References height, NULL, type, and width.
Referenced by opengl2_check_textures_size(), and opengl2_draw_video_bicubic().
|
static |
References _ogl2_fmt2str(), _ogl2_str2hex(), _ogl2_tex_names, LOG_MODULE, name, OGL2_TEX_LAST, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by opengl2_draw().
|
static |
Referenced by _ogl2_dump_tex_fmts().
|
static |
Referenced by _ogl2_dump_tex_fmts().
|
static |
|
static |
|
static |
References OGL2_NUM_VIDEO_PBO.
Referenced by opengl2_draw().
|
static |
References _opengl2_overlay_dummy_blend(), _x_overlay_clut_yuv2rgb(), vo_overlay_s::argb_layer, vo_overlay_s::extent_height, opengl2_overlay_t::extent_known, opengl2_overlay_t::extent_size, vo_overlay_s::extent_width, vo_overlay_s::height, vo_overlay_s::hili_rgb_clut, _opengl2_w2_t::lw, opengl2_upload_overlay(), opengl2_overlay_t::ovl_h, opengl2_overlay_t::ovl_w, opengl2_overlay_t::ovl_x, opengl2_overlay_t::ovl_y, vo_overlay_s::rgb_clut, vo_overlay_s::rle, vo_overlay_s::unscaled, opengl2_overlay_t::unscaled, _opengl2_w2_t::w, vo_overlay_s::width, vo_overlay_s::x, XINE_VORAW_MAX_OVL, and vo_overlay_s::y.
Referenced by opengl2_overlay_begin().
|
static |
Referenced by _opengl2_overlay_blend(), _opengl2_overlay_end(), and opengl2_open_plugin().
|
static |
Referenced by _opengl2_overlay_end(), and opengl2_open_plugin().
|
static |
References _opengl2_overlay_dummy_blend(), and _opengl2_overlay_dummy_end().
Referenced by opengl2_overlay_begin().
|
static |
References _OGL2_STATE_CHANGED, _OGL2_STATE_OK, opengl2_driver_s::bicubic, bicubic_pass1_args, bicubic_pass1_frag, bicubic_pass2_args, bicubic_pass2_frag, opengl2_program_t::compiled, create_lut_texture(), opengl2_driver_s::fbo, opengl2_driver_s::flags, OGL2_BC_FBO, OGL2_BC_LUT, OGL2_BC_PROG_1, OGL2_BC_PROG_2, OGL2_TEX_CUBIC_LUT, opengl2_build_program(), opengl2_driver_s::pass1_program, opengl2_driver_s::pass2_program, and opengl2_driver_s::tex.
Referenced by opengl2_setup_bicubic().
|
static |
References height, NULL, type, and xine_fast_memcpy.
Referenced by opengl2_draw().
|
static |
References _opengl2_spline, opengl2_driver_s::bicubic, opengl2_driver_s::flags, LUTWIDTH, OGL2_TEX_CUBIC_LUT, SPLINE_LAST, and opengl2_driver_s::tex.
Referenced by _opengl2_setup_bicubic().
|
static |
Referenced by opengl2_open_plugin().
|
static |
References vo_frame_s::accel_data, mem_frame_alloc_frame(), NULL, and mem_frame_t::vo_frame.
Referenced by opengl2_open_plugin().
|
static |
References opengl2_program_t::args, opengl2_program_t::compiled, LOG_MODULE, opengl2_program_t::name, name, NULL, opengl2_program_t::program, opengl2_program_t::shader, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.
Referenced by _opengl2_setup_bicubic(), opengl2_open_plugin(), and opengl2_sharpness().
|
static |
|
static |
References _config_texture(), _OGL2_STATE_CHANGED, _OGL2_STATE_OK, bits, bytes_per_pixel, opengl2_yuvtex_t::bytes_per_pixel, opengl2_yuvtex_t::height, LOG_MODULE, NULL, OGL2_NUM_VIDEO_PBO, OGL2_TEX_CUBIC_TEMP, OGL2_TEX_HW0, OGL2_TEX_u, OGL2_TEX_u_v, OGL2_TEX_uv, OGL2_TEX_v, OGL2_TEX_VIDEO_0, OGL2_TEX_VIDEO_1, OGL2_TEX_y, OGL2_TEX_yuv, opengl2_yuvtex_t::relw, opengl2_yuvtex_t::width, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, xprintf, opengl2_yuvtex_t::yuy2_div, and opengl2_yuvtex_t::yuy2_mul.
Referenced by opengl2_draw(), and opengl2_open_plugin().
|
static |
References opengl2_program_t::program, and opengl2_program_t::shader.
Referenced by opengl2_dispose().
|
static |
References _x_vo_scale_compute_ideal_size(), _x_vo_scale_compute_output_size(), _x_vo_scale_redraw_needed(), vo_frame_s::crop_bottom, vo_frame_s::crop_left, vo_frame_s::crop_right, vo_frame_s::crop_top, vo_frame_s::free, mem_frame_t::height, opengl2_draw(), opengl2_exit_register(), mem_frame_t::ratio, mem_frame_t::vo_frame, and mem_frame_t::width.
Referenced by opengl2_open_plugin().
|
static |
References _x_vo_scale_cleanup(), OGL2_cscs_LAST, OGL2_TEX_LAST, opengl2_delete_program(), opengl2_exit_unregister(), and XINE_VORAW_MAX_OVL.
Referenced by opengl2_open_plugin().
|
static |
References _FLAG2BIT, _ogl2_dump_tex_fmts(), _OGL2_STATE_CHANGED, _OGL2_STATE_OK, _opengl2_next_videoPBO(), _upload_texture(), opengl2_program_t::args, vo_frame_s::base, opengl2_driver_s::bicubic, bits, opengl2_driver_s::changed, opengl2_driver_s::corn, opengl2_driver_s::csc_shaders, opengl2_draw_info_t::dh, vo_scale_s::displayed_height, vo_scale_s::displayed_width, vo_scale_s::displayed_xoffset, vo_scale_s::displayed_yoffset, opengl2_draw_info_t::dw, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_driver_s::fbo, vo_frame_s::flags, opengl2_driver_s::flags, opengl2_driver_s::fmt_1p, opengl2_driver_s::fmt_2p, vo_frame_s::format, mem_frame_t::format, xine_hwdec_t::frame_format, xine_glconv_t::get_textures, opengl2_driver_s::gl, opengl2_driver_s::glconv, vo_scale_s::gui_height, vo_scale_s::gui_width, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, mem_frame_t::height, opengl2_driver_s::hw, opengl2_driver_s::join16, LOG_MODULE, xine_gl::make_current, opengl2_driver_s::mid, opengl2_driver_s::mode2, opengl2_driver_s::mode_changed, OGL2_cscs_nv12, OGL2_cscs_yuv420, OGL2_cscs_yuv420j, OGL2_cscs_yuv420j16, OGL2_cscs_yuv422, OGL2_FT_HW_NV12, OGL2_FT_HW_UNKNOWN, OGL2_FT_HW_YUY2, OGL2_FT_HW_YV12, OGL2_FT_HW_YV12_DEEP, OGL2_FT_MASK, OGL2_FT_NV12, OGL2_FT_UNKNOWN, OGL2_FT_YUY2, OGL2_FT_YV12, OGL2_FT_YV12_DEEP, OGL2_TEX_HW0, OGL2_TEX_u, OGL2_TEX_u_v, OGL2_TEX_uv, OGL2_TEX_v, OGL2_TEX_y, OGL2_TEX_yuv, opengl2_check_textures_size(), opengl2_draw_scaled_overlays(), opengl2_draw_unscaled_overlays(), opengl2_draw_video_bicubic(), opengl2_draw_video_bilinear(), opengl2_draw_video_cubic_x(), opengl2_draw_video_cubic_y(), opengl2_draw_video_simple(), opengl2_get_ft(), opengl2_sharpness(), opengl2_update_csc_matrix(), opengl2_use_csc(), opengl2_vtex_swap(), vo_scale_s::output_height, vo_scale_s::output_width, vo_scale_s::output_xoffset, vo_scale_s::output_yoffset, vo_frame_s::pitches, xine_gl::release_current, opengl2_yuvtex_t::relw, opengl2_driver_s::sc, SCALE_CATMULLROM, SCALE_COS, SCALE_MASK, SCALE_SIMPLE, opengl2_driver_s::sharp, opengl2_driver_s::side, xine_gl::swap_buffers, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, opengl2_driver_s::tex, opengl2_driver_s::transform, opengl2_driver_s::value, opengl2_draw_info_t::video_texture, mem_frame_t::vo_frame, VO_GET_FLAGS_DEPTH, opengl2_driver_s::vtex, mem_frame_t::width, opengl2_driver_s::xine, XINE_IMGFMT_YV12_DEEP, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, XINE_VO_TRANSFORM_FLIP_H, XINE_VO_TRANSFORM_FLIP_V, xprintf, opengl2_driver_s::yuvtex, opengl2_yuvtex_t::yuy2_div, and opengl2_yuvtex_t::yuy2_mul.
Referenced by opengl2_display_frame().
|
static |
References opengl2_driver_s::buf, vo_frame_s::crop_bottom, vo_frame_s::crop_right, opengl2_overlay_t::extent_known, opengl2_overlay_t::extent_size, mem_frame_t::height, _opengl2_w2_t::lw, NULL, opengl2_driver_s::num, opengl2_rect_set(), opengl2_driver_s::overlay_tex, opengl2_driver_s::ovl, opengl2_overlay_t::tex_h, opengl2_overlay_t::tex_w, opengl2_driver_s::unscaled_list, mem_frame_t::vo_frame, _opengl2_w2_t::w, mem_frame_t::width, opengl2_rect_t::x1, opengl2_rect_t::x2, opengl2_rect_t::y1, and opengl2_rect_t::y2.
Referenced by opengl2_draw().
|
static |
References _x_vo_scale_map(), opengl2_driver_s::buf, opengl2_overlay_t::extent_size, vo_scale_map_t::in, vo_scale_map_t::out, opengl2_driver_s::overlay_tex, opengl2_driver_s::ovl, opengl2_overlay_t::ovl_h, opengl2_overlay_t::ovl_w, opengl2_overlay_t::ovl_x, opengl2_overlay_t::ovl_y, opengl2_driver_s::sc, opengl2_overlay_t::unscaled, opengl2_driver_s::unscaled_list, VO_SCALE_MAP_OK, _opengl2_w2_t::w, vo_scale_map_t::x0, vo_scale_map_t::x1, vo_scale_map_t::y0, and vo_scale_map_t::y1.
Referenced by opengl2_draw().
|
static |
References _config_texture(), _OGL2_STATE_CHANGED, opengl2_program_t::args, opengl2_driver_s::bicubic, opengl2_draw_info_t::dh, opengl2_draw_info_t::dw, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_driver_s::fbo, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, LOG_MODULE, opengl2_driver_s::lut_y, OGL2_BC_FBO, OGL2_BC_LUT, OGL2_BC_PROG_1, OGL2_BC_PROG_2, OGL2_TEX_CUBIC_LUT, OGL2_TEX_CUBIC_TEMP, opengl2_setup_bicubic(), opengl2_driver_s::pass1_program, opengl2_driver_s::pass1_tex_h, opengl2_driver_s::pass1_tex_w, opengl2_driver_s::pass2_program, opengl2_program_t::program, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, opengl2_driver_s::tex, opengl2_draw_info_t::video_texture, opengl2_driver_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by opengl2_draw().
|
static |
References _OGL2_STATE_OK, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, and opengl2_draw_info_t::video_texture.
Referenced by opengl2_draw().
|
static |
References opengl2_program_t::args, opengl2_driver_s::bicubic, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, opengl2_driver_s::lut_y, OGL2_BC_LUT, OGL2_BC_PROG_1, OGL2_TEX_CUBIC_LUT, opengl2_setup_bicubic(), opengl2_driver_s::pass1_program, opengl2_program_t::program, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, opengl2_driver_s::tex, and opengl2_draw_info_t::video_texture.
Referenced by opengl2_draw().
|
static |
References opengl2_program_t::args, opengl2_driver_s::bicubic, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, opengl2_driver_s::lut_y, OGL2_BC_LUT, OGL2_BC_PROG_2, OGL2_TEX_CUBIC_LUT, opengl2_setup_bicubic(), opengl2_driver_s::pass2_program, opengl2_program_t::program, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, opengl2_driver_s::tex, and opengl2_draw_info_t::video_texture.
Referenced by opengl2_draw().
|
static |
References _OGL2_STATE_OK, opengl2_draw_info_t::dx, opengl2_draw_info_t::dy, opengl2_draw_info_t::guih, opengl2_draw_info_t::guiw, opengl2_draw_info_t::sx1, opengl2_draw_info_t::sx2, opengl2_draw_info_t::sy1, opengl2_draw_info_t::sy2, and opengl2_draw_info_t::video_texture.
Referenced by opengl2_draw().
|
static |
References MAX_EXIT_TARGETS, NULL, and opengl2_exit_vector.
Referenced by opengl2_exit_register().
|
static |
References MAX_EXIT_TARGETS, opengl2_exit(), and opengl2_exit_vector.
Referenced by opengl2_display_frame().
|
static |
References MAX_EXIT_TARGETS, NULL, and opengl2_exit_vector.
Referenced by opengl2_dispose().
|
static |
References VO_CAP_ARGB_LAYER_OVERLAY, VO_CAP_BRIGHTNESS, VO_CAP_COLOR_MATRIX, VO_CAP_CONTRAST, VO_CAP_CROP, VO_CAP_CUSTOM_EXTENT_OVERLAY, VO_CAP_FULLRANGE, VO_CAP_HUE, VO_CAP_SATURATION, VO_CAP_SHARPNESS, VO_CAP_UNSCALED_OVERLAY, VO_CAP_YUY2, VO_CAP_YV12, and VO_CAP_YV12_DEEP.
Referenced by opengl2_open_plugin().
|
static |
References OGL2_FT_NV12, OGL2_FT_YUY2, OGL2_FT_YV12, OGL2_FT_YV12_DEEP, type, XINE_IMGFMT_NV12, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, and XINE_IMGFMT_YV12_DEEP.
Referenced by opengl2_draw().
|
static |
References contrast, VO_CAP2_ACCEL_GENERIC, VO_CAP2_NV12, VO_CAP2_TRANSFORM, VO_PROP_ASPECT_RATIO, VO_PROP_BRIGHTNESS, VO_PROP_CAPS2, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_MAX_NUM_FRAMES, VO_PROP_MAX_VIDEO_HEIGHT, VO_PROP_MAX_VIDEO_WIDTH, VO_PROP_OUTPUT_HEIGHT, VO_PROP_OUTPUT_WIDTH, VO_PROP_OUTPUT_XOFFSET, VO_PROP_OUTPUT_YOFFSET, VO_PROP_SATURATION, VO_PROP_SHARPNESS, VO_PROP_TRANSFORM, VO_PROP_WINDOW_HEIGHT, VO_PROP_WINDOW_WIDTH, VO_PROP_ZOOM_X, and VO_PROP_ZOOM_Y.
Referenced by opengl2_open_plugin().
|
static |
References VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, and VO_PROP_SHARPNESS.
Referenced by opengl2_open_plugin().
|
static |
|
static |
References default_video_driver_class_dispose, video_driver_class_s::description, video_driver_class_s::dispose, opengl2_class_t::driver_class, video_driver_class_s::identifier, N_, NULL, video_driver_class_s::open_plugin, opengl2_check_platform(), opengl2_open_plugin(), opengl2_class_t::texture_float, opengl2_class_t::texture_rg, opengl2_class_t::visual_type, and opengl2_class_t::xine.
Referenced by opengl2_init_class_wl(), and opengl2_init_class_x11().
|
static |
References opengl2_init_class(), opengl2_class_t::xine, and XINE_VISUAL_TYPE_WAYLAND.
|
static |
References opengl2_init_class(), opengl2_class_t::xine, and XINE_VISUAL_TYPE_X11.
|
static |
References _, _opengl2_lut_y, _opengl2_overlay_dummy_blend(), _opengl2_overlay_dummy_end(), _opengl2_scale_names, _x_hwdec_new(), _x_load_gl(), _x_vo_scale_init(), xine_s::config, contrast, x11_visual_t::dest_size_cb, x11_visual_t::display, xine_wayland_visual_t::display, vo_frame_s::dispose, x11_visual_t::frame_output_cb, xine_wayland_visual_t::frame_output_cb, GL_RED, GL_RG, INITHEIGHT, INITWIDTH, LOG_MODULE, mem_frame_update_frame_format(), NULL, nv12_args, nv12_frag, OGL2_cscs_NONE, OGL2_cscs_nv12, OGL2_cscs_yuv420, OGL2_cscs_yuv420j, OGL2_cscs_yuv420j16, OGL2_cscs_yuv422, OGL2_TEX_LAST, opengl2_accel_lock(), opengl2_alloc_frame(), opengl2_build_program(), opengl2_check_textures_size(), opengl2_display_frame(), opengl2_dispose(), opengl2_get_capabilities(), opengl2_get_property(), opengl2_get_property_min_max(), opengl2_gui_data_exchange(), opengl2_overlay_begin(), opengl2_overlay_blend(), opengl2_overlay_end(), opengl2_redraw_needed(), opengl2_set_bicubic(), opengl2_set_property(), opengl2_set_scale_mode(), config_values_s::register_bool, config_values_s::register_range, SCALE_CATMULLROM, SCALE_LAST, SCALE_LINEAR, opengl2_class_t::texture_float, config_values_s::update_num, x11_visual_t::user_data, xine_wayland_visual_t::user_data, v, config_values_s::xine, opengl2_class_t::xine, XINE_GL_API_OPENGL, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, XINE_VISUAL_TYPE_X11, XINE_VO_ASPECT_AUTO, XINE_VORAW_MAX_OVL, xprintf, yuv420_args, yuv420_frag, yuv420j16_args, yuv420j16_frag, yuv420j_args, yuv420j_frag, yuv422_args, and yuv422_frag.
Referenced by opengl2_init_class().
|
static |
References _opengl2_overlay_blend(), and _opengl2_overlay_end().
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
|
static |
References _x_vo_scale_compute_ideal_size(), _x_vo_scale_compute_output_size(), and _x_vo_scale_redraw_needed().
Referenced by opengl2_open_plugin().
|
static |
References _opengl2_lut_y, _opengl2_scale_names, LOG_MODULE, xine_cfg_entry_s::num_value, SCALE_CATMULLROM, SCALE_LINEAR, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by opengl2_open_plugin().
|
static |
References _x_vo_scale_compute_ideal_size(), contrast, VO_PROP_ASPECT_RATIO, VO_PROP_BRIGHTNESS, VO_PROP_CONTRAST, VO_PROP_HUE, VO_PROP_SATURATION, VO_PROP_SHARPNESS, VO_PROP_TRANSFORM, VO_PROP_ZOOM_X, VO_PROP_ZOOM_Y, XINE_VO_ASPECT_AUTO, XINE_VO_ASPECT_NUM_RATIOS, XINE_VO_TRANSFORM_FLIP_H, XINE_VO_TRANSFORM_FLIP_V, XINE_VO_ZOOM_MAX, XINE_VO_ZOOM_MIN, and XINE_VO_ZOOM_STEP.
Referenced by opengl2_open_plugin().
|
static |
References _opengl2_lut_y, _opengl2_scale_names, LOG_MODULE, xine_cfg_entry_s::num_value, SCALE_LINEAR, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by opengl2_open_plugin().
|
inlinestatic |
References _OGL2_STATE_OK, _opengl2_setup_bicubic(), opengl2_driver_s::bicubic, and opengl2_driver_s::flags.
Referenced by opengl2_draw_video_bicubic(), opengl2_draw_video_cubic_x(), and opengl2_draw_video_cubic_y().
|
static |
References opengl2_program_t::args, blur_sharpen_args, blur_sharpen_frag, opengl2_program_t::compiled, opengl2_driver_s::corn, mem_frame_t::height, opengl2_driver_s::mid, opengl2_build_program(), opengl2_vtex_swap(), opengl2_program_t::program, opengl2_driver_s::program, opengl2_driver_s::sharp, opengl2_driver_s::side, and mem_frame_t::width.
Referenced by opengl2_draw().
|
static |
References bits, opengl2_driver_s::brightness, cm_names, opengl2_driver_s::color_standard, contrast, opengl2_driver_s::contrast, opengl2_driver_s::csc_matrix, opengl2_driver_s::hue, opengl2_driver_s::input_bits, opengl2_driver_s::join16, LOG_MODULE, opengl2_driver_s::saturation, opengl2_driver_s::update_csc, mem_frame_t::vo_frame, opengl2_driver_s::xine, XINE_VERBOSITY_LOG, and xprintf.
Referenced by opengl2_draw().
|
static |
|
static |
|
static |
References opengl2_driver_s::index, OGL2_TEX_VIDEO_0, OGL2_TEX_VIDEO_1, opengl2_driver_s::tex, and opengl2_driver_s::vtex.
Referenced by opengl2_draw(), and opengl2_sharpness().
|
static |
Referenced by _ogl2_dump_tex_fmts().
|
static |
Referenced by opengl2_open_plugin(), opengl2_set_bicubic(), and opengl2_set_scale_mode().
|
static |
Referenced by opengl2_open_plugin(), opengl2_set_bicubic(), and opengl2_set_scale_mode().
|
static |
Referenced by create_lut_texture().
|
static |
Referenced by _opengl2_setup_bicubic().
|
static |
Referenced by _opengl2_setup_bicubic().
|
static |
Referenced by _opengl2_setup_bicubic().
|
static |
Referenced by _opengl2_setup_bicubic().
|
static |
Referenced by opengl2_sharpness().
|
static |
Referenced by opengl2_sharpness().
const plugin_info_t xine_plugin_info [] EXPORTED |
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
opengl2_driver_t* opengl2_exit_vector[8] |
Referenced by opengl2_exit(), opengl2_exit_register(), and opengl2_exit_unregister().
|
static |
|
static |
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().
|
static |
Referenced by opengl2_open_plugin().