Mercurial > mplayer.hg
annotate vidix/vidixlib.h @ 5873:74cbaabeaa33
realtime yv12->mpeg1 with libavcodec qscale=1
author | arpi |
---|---|
date | Sat, 27 Apr 2002 23:34:44 +0000 |
parents | 62a6135d090e |
children | 77def5093daf |
rev | line source |
---|---|
3991 | 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). | |
3995 | 38 verbose - specifies verbose level |
3991 | 39 returns !0 if ok else NULL. |
40 */ | |
3995 | 41 extern VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap,int verbose); |
3991 | 42 /* Closes stream and corresponded driver. */ |
43 extern void vdlClose(VDL_HANDLE stream); | |
44 | |
45 /* Queries driver capabilities. Return 0 if ok else errno */ | |
46 extern int vdlGetCapability(VDL_HANDLE, vidix_capability_t *); | |
47 | |
48 /* Queries support for given fourcc. Returns 0 if ok else errno */ | |
49 extern int vdlQueryFourcc(VDL_HANDLE,vidix_fourcc_t *); | |
50 | |
51 /* Returns 0 if ok else errno */ | |
3995 | 52 extern int vdlConfigPlayback(VDL_HANDLE, vidix_playback_t *); |
3991 | 53 |
54 /* Returns 0 if ok else errno */ | |
55 extern int vdlPlaybackOn(VDL_HANDLE); | |
56 | |
57 /* Returns 0 if ok else errno */ | |
58 extern int vdlPlaybackOff(VDL_HANDLE); | |
59 | |
60 /* Returns 0 if ok else errno */ | |
61 extern int vdlPlaybackFrameSelect(VDL_HANDLE, unsigned frame_idx ); | |
62 | |
63 /* Returns 0 if ok else errno */ | |
4070
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
64 extern int vdlGetGrKeys(VDL_HANDLE, vidix_grkey_t * ); |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
65 |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
66 /* Returns 0 if ok else errno */ |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
67 extern int vdlSetGrKeys(VDL_HANDLE, const vidix_grkey_t * ); |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
68 |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
3995
diff
changeset
|
69 /* Returns 0 if ok else errno */ |
3991 | 70 extern int vdlPlaybackGetEq(VDL_HANDLE, vidix_video_eq_t * ); |
71 | |
72 /* Returns 0 if ok else errno */ | |
73 extern int vdlPlaybackSetEq(VDL_HANDLE, const vidix_video_eq_t * ); | |
74 | |
75 /* Returns 0 if ok else errno */ | |
4191 | 76 extern int vdlPlaybackGetDeint(VDL_HANDLE, vidix_deinterlace_t * ); |
77 | |
78 /* Returns 0 if ok else errno */ | |
79 extern int vdlPlaybackSetDeint(VDL_HANDLE, const vidix_deinterlace_t * ); | |
80 | |
81 /* Returns 0 if ok else errno */ | |
82 extern int vdlQueryNumOemEffects(VDL_HANDLE, unsigned * number ); | |
83 | |
84 /* Returns 0 if ok else errno */ | |
85 extern int vdlGetOemEffect(VDL_HANDLE, vidix_oem_fx_t * ); | |
86 | |
87 /* Returns 0 if ok else errno */ | |
88 extern int vdlSetOemEffect(VDL_HANDLE, const vidix_oem_fx_t * ); | |
89 | |
90 | |
91 /* Returns 0 if ok else errno */ | |
3991 | 92 extern int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * ); |
93 | |
94 #ifdef __cplusplus | |
95 } | |
96 #endif | |
97 | |
98 #endif |