62#define set_callback_opengl_common(activate) \
64 vlc_gl_activate activate__ = activate; \
66 set_callback(activate) \
69#define set_callback_opengl(activate, priority) \
70 set_callback_opengl_common(activate) \
71 set_capability("opengl", priority)
73#define set_callback_opengl_offscreen(activate, priority) \
74 set_callback_opengl_common(activate) \
75 set_capability("opengl offscreen", priority)
77#define set_callback_opengl_es2(activate, priority) \
78 set_callback_opengl_common(activate) \
79 set_capability("opengl es2", priority)
81#define set_callback_opengl_es2_offscreen(activate, priority) \
82 set_callback_opengl_common(activate) \
83 set_capability("opengl es2 offscreen", priority)
94 void*(*get_proc_address)(
vlc_gl_t *gl,
const char *symbol);
138 unsigned flags,
const char *
name,
142 unsigned width,
unsigned height,
143 unsigned flags,
const char *
name,
207 size_t apilen = strlen(api);
211 if (!strncmp(apis, api, apilen) && memchr(
" ", apis[apilen], 2))
213 apis = strchr(apis,
' ');
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
uint32_t vlc_fourcc_t
Definition fourcc_gen.c:33
const char name[16]
Definition httpd.c:1298
Internal module descriptor.
Definition modules.h:76
Video picture.
Definition vlc_picture.h:130
Decoder context struct.
Definition vlc_codec.h:606
Definition vlc_opengl.h:56
bool need_alpha
Definition vlc_opengl.h:57
Definition vlc_opengl.h:87
void *(* get_proc_address)(vlc_gl_t *gl, const char *symbol)
Definition vlc_opengl.h:95
void(* swap)(vlc_gl_t *)
Definition vlc_opengl.h:89
picture_t *(* swap_offscreen)(vlc_gl_t *)
Definition vlc_opengl.h:90
void(* resize)(vlc_gl_t *gl, unsigned width, unsigned height)
Definition vlc_opengl.h:94
int(* make_current)(vlc_gl_t *gl)
Definition vlc_opengl.h:92
void(* release_current)(vlc_gl_t *gl)
Definition vlc_opengl.h:93
void(* close)(vlc_gl_t *gl)
Definition vlc_opengl.h:96
Definition vlc_opengl.h:100
vlc_fourcc_t offscreen_chroma_out
Definition vlc_opengl.h:112
enum vlc_gl_api_type api_type
Definition vlc_opengl.h:122
struct vlc_video_context * offscreen_vctx_out
Definition vlc_opengl.h:113
struct vlc_window * surface
Definition vlc_opengl.h:109
struct vlc_decoder_device * device
Definition vlc_opengl.h:106
module_t *void * sys
Definition vlc_opengl.h:104
const struct vlc_gl_operations * ops
Definition vlc_opengl.h:124
video_orientation_t orientation
Definition vlc_opengl.h:119
struct vlc_object_t obj
Definition vlc_opengl.h:101
VLC object common members.
Definition vlc_objects.h:53
Definition decoder_device.c:98
Window (desired) configuration.
Definition vlc_window.h:151
Window object.
Definition vlc_window.h:373
User configuration for a video output display (vout_display_t)
Definition vlc_vout_display.h:119
This file is a collection of common definitions and types.
This file defines the elementary streams format types.
video_orientation_t
Picture orientation.
Definition vlc_es.h:181
static int vlc_gl_MakeCurrent(vlc_gl_t *gl)
Definition vlc_opengl.h:149
static void vlc_gl_Swap(vlc_gl_t *gl)
Definition vlc_opengl.h:165
static void vlc_gl_Resize(vlc_gl_t *gl, unsigned w, unsigned h)
Definition vlc_opengl.h:159
vlc_gl_t * vlc_gl_surface_Create(vlc_object_t *, const struct vlc_window_cfg *, struct vlc_window **, const struct vlc_gl_cfg *)
static void vlc_gl_ReleaseCurrent(vlc_gl_t *gl)
Definition vlc_opengl.h:154
static bool vlc_gl_StrHasToken(const char *apis, const char *api)
Definition vlc_opengl.h:206
bool vlc_gl_surface_CheckSize(vlc_gl_t *, unsigned *w, unsigned *h)
static void * vlc_gl_GetProcAddress(vlc_gl_t *gl, const char *name)
Fetch a symbol or pointer function from the OpenGL implementation.
Definition vlc_opengl.h:193
int(* vlc_gl_activate)(vlc_gl_t *, unsigned width, unsigned height, const struct vlc_gl_cfg *cfg)
Definition vlc_opengl.h:60
void vlc_gl_surface_Destroy(vlc_gl_t *)
Definition opengl.c:305
void vlc_gl_Delete(vlc_gl_t *)
Definition opengl.c:175
vlc_gl_t * vlc_gl_Create(const struct vout_display_cfg *cfg, unsigned flags, const char *name, const struct vlc_gl_cfg *gl_cfg)
Creates an OpenGL context (and its underlying surface).
static picture_t * vlc_gl_SwapOffscreen(vlc_gl_t *gl)
Definition vlc_opengl.h:170
vlc_gl_t * vlc_gl_CreateOffscreen(vlc_object_t *parent, struct vlc_decoder_device *device, unsigned width, unsigned height, unsigned flags, const char *name, const struct vlc_gl_cfg *gl_cfg)
Definition opengl.c:114
vlc_gl_api_type
Definition vlc_opengl.h:50
@ VLC_OPENGL
Definition vlc_opengl.h:51
@ VLC_OPENGL_ES2
Definition vlc_opengl.h:52