60#define set_callback_opengl_common(activate) \
62 vlc_gl_activate activate__ = activate; \
64 set_callback(activate) \
67#define set_callback_opengl(activate, priority) \
68 set_callback_opengl_common(activate) \
69 set_capability("opengl", priority)
71#define set_callback_opengl_offscreen(activate, priority) \
72 set_callback_opengl_common(activate) \
73 set_capability("opengl offscreen", priority)
75#define set_callback_opengl_es2(activate, priority) \
76 set_callback_opengl_common(activate) \
77 set_capability("opengl es2", priority)
79#define set_callback_opengl_es2_offscreen(activate, priority) \
80 set_callback_opengl_common(activate) \
81 set_capability("opengl es2 offscreen", priority)
92 void*(*get_proc_address)(
vlc_gl_t *gl,
const char *symbol);
135 unsigned flags,
const char *
name,
139 unsigned width,
unsigned height,
140 unsigned flags,
const char *
name,
204 size_t apilen = strlen(api);
208 if (!strncmp(apis, api, apilen) && memchr(
" ", apis[apilen], 2))
210 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:1281
Internal module descriptor.
Definition: modules.h:76
Video picture.
Definition: vlc_picture.h:130
Decoder context struct.
Definition: vlc_codec.h:604
Definition: vlc_opengl.h:54
bool need_alpha
Definition: vlc_opengl.h:55
Definition: vlc_opengl.h:85
void *(* get_proc_address)(vlc_gl_t *gl, const char *symbol)
Definition: vlc_opengl.h:93
void(* swap)(vlc_gl_t *)
Definition: vlc_opengl.h:87
picture_t *(* swap_offscreen)(vlc_gl_t *)
Definition: vlc_opengl.h:88
void(* resize)(vlc_gl_t *gl, unsigned width, unsigned height)
Definition: vlc_opengl.h:92
int(* make_current)(vlc_gl_t *gl)
Definition: vlc_opengl.h:90
void(* release_current)(vlc_gl_t *gl)
Definition: vlc_opengl.h:91
void(* close)(vlc_gl_t *gl)
Definition: vlc_opengl.h:94
Definition: vlc_opengl.h:98
vlc_fourcc_t offscreen_chroma_out
Definition: vlc_opengl.h:110
enum vlc_gl_api_type api_type
Definition: vlc_opengl.h:119
struct vlc_video_context * offscreen_vctx_out
Definition: vlc_opengl.h:111
void * sys
Definition: vlc_opengl.h:102
struct vlc_window * surface
Definition: vlc_opengl.h:107
struct vlc_decoder_device * device
Definition: vlc_opengl.h:104
bool offscreen_vflip
Definition: vlc_opengl.h:114
module_t * module
Definition: vlc_opengl.h:101
const struct vlc_gl_operations * ops
Definition: vlc_opengl.h:121
struct vlc_object_t obj
Definition: vlc_opengl.h:99
VLC object common members.
Definition: vlc_objects.h:45
Definition: decoder_device.c:97
Window (desired) configuration.
Definition: vlc_window.h:150
Window object.
Definition: vlc_window.h:372
User configuration for a video output display (vout_display_t)
Definition: vlc_vout_display.h:116
This file is a collection of common definitions and types.
static int vlc_gl_MakeCurrent(vlc_gl_t *gl)
Definition: vlc_opengl.h:146
static void vlc_gl_Swap(vlc_gl_t *gl)
Definition: vlc_opengl.h:162
static void vlc_gl_Resize(vlc_gl_t *gl, unsigned w, unsigned h)
Definition: vlc_opengl.h:156
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:151
static bool vlc_gl_StrHasToken(const char *apis, const char *api)
Definition: vlc_opengl.h:203
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:190
int(* vlc_gl_activate)(vlc_gl_t *, unsigned width, unsigned height, const struct vlc_gl_cfg *cfg)
Definition: vlc_opengl.h:58
void vlc_gl_surface_Destroy(vlc_gl_t *)
Definition: opengl.c:304
void vlc_gl_Delete(vlc_gl_t *)
Definition: opengl.c:174
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:167
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:113
vlc_gl_api_type
Definition: vlc_opengl.h:48
@ VLC_OPENGL
Definition: vlc_opengl.h:49
@ VLC_OPENGL_ES2
Definition: vlc_opengl.h:50