Mercurial > mplayer.hg
comparison vidix/vidixlib.h @ 3991:dcc632dd2097
preliminary version
author | nick |
---|---|
date | Sat, 05 Jan 2002 10:13:25 +0000 |
parents | |
children | 0d9de811e312 |
comparison
equal
deleted
inserted
replaced
3990:87538547c8f4 | 3991:dcc632dd2097 |
---|---|
1 /* | |
2 * vidixlib.h | |
3 * VIDIXLib - Library for VIDeo Interface for *niX | |
4 * This interface is introduced as universal one to MPEG decoder, | |
5 * BES == Back End Scaler and YUV2RGB hw accelerators. | |
6 * In the future it may be expanded up to capturing and audio things. | |
7 * Main goal of this this interface imlpementation is providing DGA | |
8 * everywhere where it's possible (unlike X11 and other). | |
9 * Copyright 2002 Nick Kurshev | |
10 * Licence: GPL | |
11 * This interface is based on v4l2, fbvid.h, mga_vid.h projects | |
12 * and personally my ideas. | |
13 * NOTE: This interface is introduces as APP interface. | |
14 * Don't use it for driver. | |
15 * It provides multistreaming. This mean that APP can handle | |
16 * several streams simultaneously. (Example: Video capturing and video | |
17 * playback or capturing, video playback, audio encoding and so on). | |
18 */ | |
19 #ifndef VIDIXLIB_H | |
20 #define VIDIXLIB_H | |
21 | |
22 #ifdef __cplusplus | |
23 extern "C" { | |
24 #endif | |
25 | |
26 #include "vidix.h" | |
27 | |
28 typedef void * VDL_HANDLE; | |
29 | |
30 /* returns library version */ | |
31 extern unsigned vdlGetVersion( void ); | |
32 | |
33 /* Opens corresponded video driver and returns handle | |
34 of associated stream. | |
35 path - specifies path where drivers are located. | |
36 name - specifies prefered driver name (can be NULL). | |
37 cap - specifies driver capability (TYPE_* constants). | |
38 returns !0 if ok else NULL. | |
39 */ | |
40 extern VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap); | |
41 /* Closes stream and corresponded driver. */ | |
42 extern void vdlClose(VDL_HANDLE stream); | |
43 | |
44 /* Queries driver capabilities. Return 0 if ok else errno */ | |
45 extern int vdlGetCapability(VDL_HANDLE, vidix_capability_t *); | |
46 | |
47 /* Queries support for given fourcc. Returns 0 if ok else errno */ | |
48 extern int vdlQueryFourcc(VDL_HANDLE,vidix_fourcc_t *); | |
49 | |
50 /* Returns 0 if ok else errno */ | |
51 extern int vdlConfigPlayback(VDL_HANDLE,const vidix_playback_t *); | |
52 | |
53 /* Returns 0 if ok else errno */ | |
54 extern int vdlMapPlayback(VDL_HANDLE,vidix_dga_t *); | |
55 | |
56 /* Returns 0 if ok else errno */ | |
57 extern int vdlPlaybackOn(VDL_HANDLE); | |
58 | |
59 /* Returns 0 if ok else errno */ | |
60 extern int vdlPlaybackOff(VDL_HANDLE); | |
61 | |
62 /* Returns 0 if ok else errno */ | |
63 extern int vdlPlaybackFrameSelect(VDL_HANDLE, unsigned frame_idx ); | |
64 | |
65 /* Returns 0 if ok else errno */ | |
66 extern int vdlPlaybackGetEq(VDL_HANDLE, vidix_video_eq_t * ); | |
67 | |
68 /* Returns 0 if ok else errno */ | |
69 extern int vdlPlaybackSetEq(VDL_HANDLE, const vidix_video_eq_t * ); | |
70 | |
71 /* Returns 0 if ok else errno */ | |
72 extern int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * ); | |
73 | |
74 #ifdef __cplusplus | |
75 } | |
76 #endif | |
77 | |
78 #endif |