Mercurial > mplayer.hg
annotate vidix/vidixlib.h @ 9278:caea8ed36b48
The reason why mplayer crashes (in some cases) when using x11
output and -wid (>0) parameter is this:
Mplayer by default creates a colormap using DirectColor visual. If the
window given to mplayer uses TrueColor visual there will be an error
when mplayer sets the colormap for the window. This patch
modifies mplayer to use TrueColor visual if the window given to mplayer
uses TrueColor. Another solution is to make sure that the window given to
mplayer is created using DirectColor visual if it is supported by the
display.
Jouni Tulkki <jitulkki@cc.hut.fi>
author | arpi |
---|---|
date | Tue, 04 Feb 2003 18:31: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 |