diff options
author | Uoti Urpala <uau@symbol.nonexistent.invalid> | 2008-06-23 03:58:44 +0300 |
---|---|---|
committer | Uoti Urpala <uau@symbol.nonexistent.invalid> | 2008-06-23 03:58:44 +0300 |
commit | de560e8167c21a8fd9ea34f5f42f377102d65232 (patch) | |
tree | d5ef49221ccbb17308b0d14a96e6bd8cfba5916f /vidix/vidix.h | |
parent | 68e70b3ec34af2e1002d17d0dc81b3408a399ade (diff) | |
parent | 5eee4632d3e2bcf17a29483467d247c71c202e0d (diff) | |
download | mpv-de560e8167c21a8fd9ea34f5f42f377102d65232.tar.bz2 mpv-de560e8167c21a8fd9ea34f5f42f377102d65232.tar.xz |
Merge svn changes up to r27123
Conflicts:
libmenu/menu_filesel.c
libmenu/menu_pt.c
Diffstat (limited to 'vidix/vidix.h')
-rw-r--r-- | vidix/vidix.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/vidix/vidix.h b/vidix/vidix.h index 01a998b004..0a00d89412 100644 --- a/vidix/vidix.h +++ b/vidix/vidix.h @@ -305,4 +305,86 @@ typedef struct vidix_oem_fx_s char *name[80]; /* effect name to display */ } vidix_oem_fx_t; +typedef struct VDXDriver { + const char *name; + struct VDXDriver *next; + int (* probe) (int verbose, int force); + int (* get_caps) (vidix_capability_t *cap); + int (*query_fourcc)(vidix_fourcc_t *); + int (*init)(void); + void (*destroy)(void); + int (*config_playback)(vidix_playback_t *); + int (*playback_on)( void ); + int (*playback_off)( void ); + /* Functions below can be missed in driver ;) */ + int (*frame_sel)( unsigned frame_idx ); + int (*get_eq)( vidix_video_eq_t * ); + int (*set_eq)( const vidix_video_eq_t * ); + int (*get_deint)( vidix_deinterlace_t * ); + int (*set_deint)( const vidix_deinterlace_t * ); + int (*copy_frame)( const vidix_dma_t * ); + int (*get_gkey)( vidix_grkey_t * ); + int (*set_gkey)( const vidix_grkey_t * ); +} VDXDriver; + +typedef struct VDXContext { + VDXDriver *drv; + /* might be filled in by much more info later on */ +} VDXContext; + +/***************************************************************************/ +/* PUBLIC API */ +/***************************************************************************/ + +/* Opens corresponded video driver and returns handle of associated stream. + * path - specifies path where drivers are located. + * name - specifies prefered driver name (can be NULL). + * cap - specifies driver capability (TYPE_* constants). + * verbose - specifies verbose level + * returns handle if ok else NULL. + */ +VDXContext *vdlOpen (const char *name,unsigned cap,int verbose); + +/* Closes stream and corresponded driver. */ +void vdlClose (VDXContext *ctx); + +/* Queries driver capabilities. Return 0 if ok else errno */ +int vdlGetCapability (VDXContext *, vidix_capability_t *); + +/* Queries support for given fourcc. Returns 0 if ok else errno */ +int vdlQueryFourcc (VDXContext *, vidix_fourcc_t *); + +/* Returns 0 if ok else errno */ +int vdlConfigPlayback (VDXContext *, vidix_playback_t *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackOn (VDXContext *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackOff (VDXContext *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackFrameSelect (VDXContext *, unsigned frame_idx); + +/* Returns 0 if ok else errno */ +int vdlGetGrKeys (VDXContext *, vidix_grkey_t *); + +/* Returns 0 if ok else errno */ +int vdlSetGrKeys (VDXContext *, const vidix_grkey_t *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackGetEq (VDXContext *, vidix_video_eq_t *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackSetEq (VDXContext *, const vidix_video_eq_t *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackGetDeint (VDXContext *, vidix_deinterlace_t *); + +/* Returns 0 if ok else errno */ +int vdlPlaybackSetDeint (VDXContext *, const vidix_deinterlace_t *); + +/* Returns 0 if ok else errno */ +int vdlQueryNumOemEffects (VDXContext *, unsigned *number); + #endif /* MPLAYER_VIDIX_H */ |