Mercurial > mplayer.hg
diff libvo/video_out.h @ 4352:ed5b85b713a3
Extensions for video accelerated architecture
author | nick |
---|---|
date | Sat, 26 Jan 2002 16:01:26 +0000 |
parents | 039a973b3dda |
children | df8e0f71cc3c |
line wrap: on
line diff
--- a/libvo/video_out.h Sat Jan 26 15:46:58 2002 +0000 +++ b/libvo/video_out.h Sat Jan 26 16:01:26 2002 +0000 @@ -10,6 +10,7 @@ #include "font_load.h" #include "img_format.h" +#include "../vidix/vidix.h" #define VO_EVENT_EXPOSE 1 #define VO_EVENT_RESIZE 2 @@ -27,10 +28,53 @@ const char *comment; } vo_info_t; +/* Direct access to BES */ +typedef struct bes_da_s +{ + vidix_rect_t dest; /* This field should be filled by x,y,w,h + from vidix:src but pitches from + vidix:dest */ + int flags; /* Probably will work only when flag == 0 */ + /* memory model */ + unsigned frame_size; /* destinition frame size */ + unsigned num_frames; /* number available frames */ + unsigned offsets[VID_PLAY_MAXFRAMES]; /* relative offset of each frame from begin of video memory */ + vidix_yuv_t offset; /* relative offsets within frame for yuv planes */ + void* dga_addr; /* linear address of BES */ +}bes_da_t; + +/* + Video Accelearted Architecture. + Every field of this structure can be set to NULL that means that + features is not supported +*/ +typedef struct vo_vaa_s +{ + uint32_t flags; /* currently undefined */ + /* + * Query Direct Access to BES + * info - information to be filled + * returns: 0 on success errno on error. + */ + int (*query_bes_da)(bes_da_t *info); + int (*get_video_eq)(vidix_video_eq_t *info); + int (*set_video_eq)(const vidix_video_eq_t *info); + int (*get_num_fx)(unsigned *info); + int (*get_oem_fx)(vidix_oem_fx_t *info); + int (*set_oem_fx)(const vidix_oem_fx_t *info); + int (*set_deint)(const vidix_deinterlace_t *info); +}vo_vaa_t; + typedef struct vo_functions_s { + /* + * Preinitializes driver (real INITIALIZATION) + * arg - currently it's vo_subdevice + * returns: zero on successful initialization, non-zero on error. + */ + uint32_t (*preinit)(const char *arg); /* - * Initialize the display driver. + * Initialize (means CONFIGURE) the display driver. * params: * width,height: image source size * d_width,d_height: size of the requested window size, just a hint @@ -93,6 +137,14 @@ */ void (*uninit)(void); + /* + * Query Video Accelerated Architecture information. + * params: + * vaa: address of struct to be filled. + * (Note: driver should memset it to ZERO if it doesn't support vaa.) + */ + void (*query_vaa)(vo_vaa_t *vaa); + } vo_functions_t; char *vo_format_name(int format);