Mercurial > mplayer.hg
annotate vidix/vidixlib.c @ 22864:e15beff67d91
Move pci.db out of its single-file subdirectory.
author | diego |
---|---|
date | Sun, 01 Apr 2007 12:31:15 +0000 |
parents | 77def5093daf |
children | 441582f3ed87 |
rev | line source |
---|---|
3991 | 1 /* |
2 * vidixlib.c | |
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 #include <stdlib.h> | |
20 #include <stdio.h> | |
21 #include <errno.h> | |
22 #include <string.h> | |
23 | |
24 #include "vidixlib.h" | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
25 #include "drivers.h" |
21372 | 26 #include "../config.h" |
27 #include "../libavutil/common.h" | |
21507
fa99b3d31d13
Hack around libavutil/bswap.h compilation problems due to always_inline undefined.
reimar
parents:
21372
diff
changeset
|
28 #include "../mpbswap.h" |
3991 | 29 |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
30 extern unsigned int vdlGetVersion( void ) |
3991 | 31 { |
32 return VIDIX_VERSION; | |
33 } | |
34 | |
3995 | 35 VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap,int verbose) |
3991 | 36 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
37 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
38 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
39 if (!(ctx = malloc (sizeof (VDXContext)))) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
40 return NULL; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
41 memset (ctx, 0, sizeof (VDXContext)); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
42 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
43 /* register all drivers */ |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
44 vidix_register_all_drivers (); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
45 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
46 if (!vidix_find_driver (ctx, name, cap, verbose)) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
47 { |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
48 free (ctx); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
49 return NULL; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
50 } |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
51 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
52 if (verbose) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
53 printf ("vidixlib: will use %s driver\n", ctx->drv->name); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
54 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
55 if (!ctx->drv || !ctx->drv->init) |
3991 | 56 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
57 if (verbose) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
58 printf ("vidixlib: Can't init driver\n"); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
59 free (ctx); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
60 return NULL; |
3991 | 61 } |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
62 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
63 if (verbose) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
64 printf ("vidixlib: Attempt to initialize driver at: %p\n", |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
65 ctx->drv->init); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
66 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
67 if (ctx->drv->init () !=0) |
4011 | 68 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
69 if (verbose) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
70 printf ("vidixlib: Can't init driver\n"); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
71 free (ctx); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
72 return NULL; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
73 } |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
74 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
75 if (verbose) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
76 printf("vidixlib: '%s'successfully loaded\n", ctx->drv->name); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
77 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
78 return ctx; |
3991 | 79 } |
80 | |
81 void vdlClose(VDL_HANDLE stream) | |
82 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
83 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
84 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
85 ctx = (VDXContext *) stream; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
86 if (ctx->drv->destroy) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
87 ctx->drv->destroy (); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
88 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
89 memset (ctx, 0, sizeof (VDXContext)); /* <- it's not stupid */ |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
90 free (ctx); |
3991 | 91 } |
92 | |
93 int vdlGetCapability(VDL_HANDLE handle, vidix_capability_t *cap) | |
94 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
95 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
96 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
97 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
98 return ctx->drv->get_caps (cap); |
3991 | 99 } |
100 | |
4539 | 101 #define MPLAYER_IMGFMT_RGB (('R'<<24)|('G'<<16)|('B'<<8)) |
102 #define MPLAYER_IMGFMT_BGR (('B'<<24)|('G'<<16)|('R'<<8)) | |
103 #define MPLAYER_IMGFMT_RGB_MASK 0xFFFFFF00 | |
104 | |
4547 | 105 static uint32_t normalize_fourcc(uint32_t fourcc) |
4539 | 106 { |
107 if((fourcc & MPLAYER_IMGFMT_RGB_MASK) == (MPLAYER_IMGFMT_RGB|0) || | |
108 (fourcc & MPLAYER_IMGFMT_RGB_MASK) == (MPLAYER_IMGFMT_BGR|0)) | |
109 return bswap_32(fourcc); | |
110 else return fourcc; | |
111 } | |
112 | |
3991 | 113 int vdlQueryFourcc(VDL_HANDLE handle,vidix_fourcc_t *f) |
114 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
115 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
116 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
117 ctx = (VDXContext *) handle; |
4547 | 118 f->fourcc = normalize_fourcc(f->fourcc); |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
119 return ctx->drv->query_fourcc (f); |
3991 | 120 } |
121 | |
3995 | 122 int vdlConfigPlayback(VDL_HANDLE handle,vidix_playback_t *p) |
3991 | 123 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
124 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
125 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
126 ctx = (VDXContext *) handle; |
4547 | 127 p->fourcc = normalize_fourcc(p->fourcc); |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
128 return ctx->drv->config_playback (p); |
3991 | 129 } |
130 | |
131 int vdlPlaybackOn(VDL_HANDLE handle) | |
132 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
133 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
134 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
135 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
136 return ctx->drv->playback_on (); |
3991 | 137 } |
138 | |
139 int vdlPlaybackOff(VDL_HANDLE handle) | |
140 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
141 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
142 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
143 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
144 return ctx->drv->playback_off (); |
3991 | 145 } |
146 | |
147 int vdlPlaybackFrameSelect(VDL_HANDLE handle, unsigned frame_idx ) | |
148 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
149 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
150 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
151 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
152 if (ctx->drv->frame_sel) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
153 return ctx->drv->frame_sel (frame_idx); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
154 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
155 return ENOSYS; |
3991 | 156 } |
157 | |
158 int vdlPlaybackGetEq(VDL_HANDLE handle, vidix_video_eq_t * e) | |
159 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
160 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
161 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
162 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
163 if (ctx->drv->get_eq) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
164 return ctx->drv->get_eq (e); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
165 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
166 return ENOSYS; |
3991 | 167 } |
168 | |
169 int vdlPlaybackSetEq(VDL_HANDLE handle, const vidix_video_eq_t * e) | |
170 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
171 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
172 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
173 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
174 if (ctx->drv->set_eq) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
175 return ctx->drv->set_eq (e); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
176 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
177 return ENOSYS; |
3991 | 178 } |
179 | |
180 int vdlPlaybackCopyFrame(VDL_HANDLE handle, const vidix_dma_t * f) | |
181 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
182 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
183 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
184 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
185 if (ctx->drv->copy_frame) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
186 return ctx->drv->copy_frame (f); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
187 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
188 return ENOSYS; |
3991 | 189 } |
4070
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
190 |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
191 int vdlGetGrKeys(VDL_HANDLE handle, vidix_grkey_t * k) |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
192 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
193 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
194 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
195 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
196 if (ctx->drv->get_gkey) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
197 return ctx->drv->get_gkey (k); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
198 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
199 return ENOSYS; |
4070
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
200 } |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
201 |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
202 int vdlSetGrKeys(VDL_HANDLE handle, const vidix_grkey_t * k) |
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
203 { |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
204 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
205 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
206 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
207 if (ctx->drv->set_gkey) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
208 return ctx->drv->set_gkey (k); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
209 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
210 return ENOSYS; |
4070
b61ba6c256dd
Minor interface changes: color and video keys are moved out from playback configuring
nick
parents:
4011
diff
changeset
|
211 } |
4191 | 212 |
213 int vdlPlaybackGetDeint(VDL_HANDLE handle, vidix_deinterlace_t * d) | |
214 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
215 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
216 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
217 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
218 if (ctx->drv->get_deint) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
219 return ctx->drv->get_deint (d); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
220 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
221 return ENOSYS; |
4191 | 222 } |
223 | |
224 int vdlPlaybackSetDeint(VDL_HANDLE handle, const vidix_deinterlace_t * d) | |
225 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
226 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
227 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
228 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
229 if (ctx->drv->set_deint) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
230 return ctx->drv->set_deint (d); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
231 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
232 return ENOSYS; |
4191 | 233 } |
234 | |
235 int vdlQueryNumOemEffects(VDL_HANDLE handle, unsigned * number ) | |
236 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
237 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
238 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
239 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
240 if (ctx->drv->get_num_fx) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
241 return ctx->drv->get_num_fx (number); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
242 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
243 return ENOSYS; |
4191 | 244 } |
245 | |
246 int vdlGetOemEffect(VDL_HANDLE handle, vidix_oem_fx_t * f) | |
247 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
248 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
249 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
250 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
251 if (ctx->drv->get_fx) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
252 return ctx->drv->get_fx (f); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
253 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
254 return ENOSYS; |
4191 | 255 } |
256 | |
257 int vdlSetOemEffect(VDL_HANDLE handle, const vidix_oem_fx_t * f) | |
258 { | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
259 VDXContext *ctx; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
260 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
261 ctx = (VDXContext *) handle; |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
262 if (ctx->drv->set_fx) |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
263 return ctx->drv->set_fx (f); |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
264 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
21507
diff
changeset
|
265 return ENOSYS; |
4191 | 266 } |