libgpac
Documentation of the core library of GPAC
|
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/modules/video_out.h>
#include <gpac/color.h>
#include "../compositor/gl_inc.h"
Data Structures | |
struct | GF_VideoOutCtx |
Macros | |
#define | VOUT_USE_OPENGL |
#define | DEL_SHADER(_a) if (_a) { glDeleteShader(_a); _a = 0; } |
#define | DEL_PROGRAM(_a) if (_a) { glDeleteProgram(_a); _a = 0; } |
#define | GF_SHADERID u32 |
#define | DEF_VIDEO_AUDIO_ADVANCE_MS 15 |
#define | OFFS(_n) #_n, offsetof(GF_VideoOutCtx, _n) |
Enumerations | |
enum | GF_VideoOutMode { MODE_GL , MODE_GL_PBO , MODE_2D , MODE_2D_SOFT } |
enum | { FLIP_NO , FLIP_VERT , FLIP_HORIZ , FLIP_BOTH , FLIP_BOTH2 } |
Functions | |
static GF_Err | vout_draw_frame (GF_VideoOutCtx *ctx) |
static void | vout_make_gl_current (GF_VideoOutCtx *ctx) |
static Bool | vout_compile_shader (GF_SHADERID shader_id, const char *name, const char *source) |
static void | vout_reset_overlay (GF_Filter *filter, GF_VideoOutCtx *ctx) |
static void | vout_set_caption (GF_VideoOutCtx *ctx) |
static GF_Err | resize_video_output (GF_VideoOutCtx *ctx, u32 dw, u32 dh) |
static void | load_gl_tx_matrix (GF_VideoOutCtx *ctx) |
static GF_Err | vout_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove) |
static Bool | vout_on_event (void *cbk, GF_Event *evt) |
GF_VideoOutput * | gf_filter_claim_opengl_provider (GF_Filter *filter) |
Bool | gf_filter_unclaim_opengl_provider (GF_Filter *filter, GF_VideoOutput *vout) |
void | gf_filter_load_script (GF_Filter *filter, const char *js_file, const char *filters_blacklist) |
static GF_Err | vout_initialize (GF_Filter *filter) |
static void | vout_finalize (GF_Filter *filter) |
static void | vout_draw_overlay (GF_VideoOutCtx *ctx) |
static void | vout_draw_gl_quad (GF_VideoOutCtx *ctx, Bool flip_texture) |
static void | vout_draw_gl_hw_textures (GF_VideoOutCtx *ctx, GF_FilterFrameInterface *hwf) |
static void | vbo_changed (GF_VideoOutCtx *ctx) |
static void | vout_draw_gl (GF_VideoOutCtx *ctx, GF_FilterPacket *pck) |
void | vout_draw_2d (GF_VideoOutCtx *ctx, GF_FilterPacket *pck) |
static GF_Err | vout_process (GF_Filter *filter) |
static Bool | vout_process_event (GF_Filter *filter, const GF_FilterEvent *fevt) |
GF_Err | vout_update_arg (GF_Filter *filter, const char *arg_name, const GF_PropertyValue *new_val) |
const GF_FilterRegister * | vout_register (GF_FilterSession *session) |
Variables | |
static char * | default_glsl_vertex |
static u32 | nb_vout_inst =0 |
static const GF_FilterArgs | VideoOutArgs [] |
static const GF_FilterCapability | VideoOutCaps [] |
GF_FilterRegister | VideoOutRegister |
struct GF_VideoOutCtx |
Data Fields | ||
---|---|---|
char * | drv | |
u32 | disp | |
Bool | vsync | |
Bool | linear | |
Bool | fullscreen | |
Bool | drop | |
Bool | hide | |
Bool | step | |
Bool | vjs | |
Bool | async | |
GF_Fraction64 | dur | |
Double | speed | |
Double | hold | |
u32 | back | |
u32 | vflip | |
u32 | vrot | |
GF_PropVec2i | wsize | |
GF_PropVec2i | owsize | |
GF_PropVec2i | wpos | |
Double | start | |
u32 | buffer | |
u32 | mbuffer | |
u32 | rbuffer | |
u32 | wid | |
GF_Fraction | vdelay | |
const char * | out | |
GF_PropUIntList | dumpframes | |
char * | oltxt | |
GF_PropVec4i | olwnd | |
GF_PropVec2i | olsize | |
GF_PropData | oldata | |
Double | media_offset | |
GF_Filter * | filter | |
GF_FilterPid * | pid | |
u32 | width | |
u32 | height | |
u32 | stride | |
u32 | pfmt | |
u32 | timescale | |
GF_Fraction | fps | |
GF_VideoOutput * | video_out | |
u64 | first_cts_plus_one | |
u64 | clock_at_first_cts | |
u64 | last_frame_clock | |
u64 | clock_at_first_frame | |
u32 | last_pck_dur_us | |
Bool | aborted | |
u32 | display_width | |
u32 | display_height | |
Bool | display_changed | |
Float | dh | |
Float | dw | |
Float | oh | |
Float | ow | |
Bool | has_alpha | |
u32 | nb_frames | |
u32 | key_states | |
Float | c_w | |
Float | c_h | |
Float | c_x | |
Float | c_y | |
u32 | raw_grab | |
GF_DisplayOrientationType | screen_orientation | |
GLint | glsl_program | |
GF_SHADERID | vertex_shader | |
GF_SHADERID | fragment_shader | |
GF_GLTextureWrapper | tx | |
GLuint | overlay_tx | |
GLuint | vbo_vx | |
GLuint | vbo_tx | |
u32 | num_textures | |
u32 | uv_w | |
u32 | uv_h | |
u32 | uv_stride | |
u32 | bit_depth | |
Bool | is_yuv | |
Bool | in_fullscreen | |
u32 | nb_drawn | |
GF_Fraction | sar | |
Bool | force_release | |
GF_FilterPacket * | last_pck | |
s64 | pid_delay | |
Bool | buffer_done | |
Bool | no_buffering | |
Bool | dump_done | |
u32 | dump_f_idx | |
char * | dump_buffer | |
Bool | force_vout | |
Bool | do_seek | |
Bool | update_oldata | |
Bool | full_range | |
s32 | cmx | |
u64 | rebuffer | |
Bool | force_reconfig_pid | |
u32 | pid_vflip | |
u32 | pid_vrot | |
Bool | too_slow |
#define VOUT_USE_OPENGL |
#define DEL_SHADER | ( | _a | ) | if (_a) { glDeleteShader(_a); _a = 0; } |
#define DEL_PROGRAM | ( | _a | ) | if (_a) { glDeleteProgram(_a); _a = 0; } |
#define GF_SHADERID u32 |
#define DEF_VIDEO_AUDIO_ADVANCE_MS 15 |
#define OFFS | ( | _n | ) | #_n, offsetof(GF_VideoOutCtx, _n) |
enum GF_VideoOutMode |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
GF_VideoOutput* gf_filter_claim_opengl_provider | ( | GF_Filter * | filter | ) |
Bool gf_filter_unclaim_opengl_provider | ( | GF_Filter * | filter, |
GF_VideoOutput * | vout | ||
) |
void gf_filter_load_script | ( | GF_Filter * | filter, |
const char * | js_file, | ||
const char * | filters_blacklist | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void vout_draw_2d | ( | GF_VideoOutCtx * | ctx, |
GF_FilterPacket * | pck | ||
) |
|
static |
|
static |
GF_Err vout_update_arg | ( | GF_Filter * | filter, |
const char * | arg_name, | ||
const GF_PropertyValue * | new_val | ||
) |
const GF_FilterRegister* vout_register | ( | GF_FilterSession * | session | ) |
|
static |
|
static |
|
static |
|
static |
GF_FilterRegister VideoOutRegister |