23 #ifndef MPLAYER_VIDEO_OUT_H
24 #define MPLAYER_VIDEO_OUT_H
30 #include "../img_format.h"
33 #define VO_EVENT_EXPOSE 1
34 #define VO_EVENT_RESIZE 2
35 #define VO_EVENT_KEYPRESS 4
36 #define VO_EVENT_REINIT 8
37 #define VO_EVENT_MOVE 16
41 #define VOCTRL_QUERY_FORMAT 2
43 #define VOCTRL_RESET 3
45 #define VOCTRL_GUISUPPORT 4
46 #define VOCTRL_GUI_NOWINDOW 19
48 #define VOCTRL_FULLSCREEN 5
50 #define VOCTRL_PAUSE 7
52 #define VOCTRL_RESUME 8
54 #define VOCTRL_GET_IMAGE 9
55 #define VOCTRL_DRAW_IMAGE 13
56 #define VOCTRL_SET_SPU_PALETTE 14
58 #define VOCTRL_GET_NUM_FRAMES 10
59 #define VOCTRL_GET_FRAME_NUM 11
60 #define VOCTRL_SET_FRAME_NUM 12
61 #define VOCTRL_GET_PANSCAN 15
62 #define VOCTRL_SET_PANSCAN 16
64 #define VOCTRL_SET_EQUALIZER 17
65 #define VOCTRL_GET_EQUALIZER 18
68 #define VOCTRL_DUPLICATE_FRAME 20
70 #define VOCTRL_START_SLICE 21
72 #define VOCTRL_ONTOP 25
73 #define VOCTRL_ROOTWIN 26
74 #define VOCTRL_BORDER 27
75 #define VOCTRL_DRAW_EOSD 28
76 #define VOCTRL_GET_EOSD_RES 29
78 #define VOCTRL_SET_DEINTERLACE 30
79 #define VOCTRL_GET_DEINTERLACE 31
81 #define VOCTRL_UPDATE_SCREENINFO 32
84 #define VOCTRL_XOVERLAY_SUPPORT 22
86 #define VOCTRL_XOVERLAY_SET_COLORKEY 24
92 #define VOCTRL_XOVERLAY_SET_WIN 23
101 #define VO_NOTAVAIL -2
102 #define VO_NOTIMPL -3
104 #define VOFLAG_FULLSCREEN 0x01
105 #define VOFLAG_MODESWITCHING 0x02
106 #define VOFLAG_SWSCALE 0x04
107 #define VOFLAG_FLIPPING 0x08
108 #define VOFLAG_HIDDEN 0x10 //< Use to create a hidden window
109 #define VOFLAG_STEREO 0x20 //< Use to create a stereo-capable window
110 #define VOFLAG_XOVERLAY_SUB_VO 0x10000
112 typedef struct vo_info_s
124 typedef struct vo_functions_s
132 int (*preinit)(
const char *
arg);
144 uint32_t d_height, uint32_t fullscreen,
char *title,
193 uint32_t d_width, uint32_t d_height, uint32_t
flags,
194 char *title, uint32_t format);
255 extern int64_t
WinID;
int vo_gamma_blue_intensity
int vo_gamma_red_intensity
static int config(struct vf_instance *vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt)
static void draw_slice(HYuvContext *s, AVFrame *frame, int y)
int enable_mouse_movements
static av_cold int uninit(AVCodecContext *avctx)
int in_range(range_t *r, float f)
int config_video_out(const vo_functions_t *vo, uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
static void draw_frame(AVFilterContext *ctx, AVFrame *main_buf, AVFrame *alpha_buf)
void calc_src_dst_rects(int src_width, int src_height, struct vo_rect *src, struct vo_rect *dst, struct vo_rect *borders, const struct vo_rect *crop)
float range_max(range_t *r)
void vo_mouse_movement(int posx, int posy)
typedef void(RENAME(mix_any_func_type))
char * monitor_dotclock_str
BYTE int const BYTE int int int height
int lookup_keymap_table(const struct mp_keymap *map, int key)
int vo_gamma_green_intensity
range_t * str2range(char *s)
const vo_functions_t *const video_out_drivers[]
const vo_functions_t * init_best_video_out(char **vo_list)
void list_video_out(void)
static int control(struct vf_instance *vf, int request, void *data)