summaryrefslogtreecommitdiffstats
path: root/vidix/vidixlib.h
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-05 10:13:25 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-05 10:13:25 +0000
commit76c7e8371b711de7d00736588ff766eb763e829c (patch)
tree6c27fe9570cad774c1b91c08c6b566595074cc03 /vidix/vidixlib.h
parent71d96baf240f404bb0dd102a7bcab46f7d0bc811 (diff)
downloadmpv-76c7e8371b711de7d00736588ff766eb763e829c.tar.bz2
mpv-76c7e8371b711de7d00736588ff766eb763e829c.tar.xz
preliminary version
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3992 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/vidixlib.h')
-rw-r--r--vidix/vidixlib.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/vidix/vidixlib.h b/vidix/vidixlib.h
new file mode 100644
index 0000000000..fd023d5de0
--- /dev/null
+++ b/vidix/vidixlib.h
@@ -0,0 +1,78 @@
+/*
+ * vidixlib.h
+ * VIDIXLib - Library for VIDeo Interface for *niX
+ * This interface is introduced as universal one to MPEG decoder,
+ * BES == Back End Scaler and YUV2RGB hw accelerators.
+ * In the future it may be expanded up to capturing and audio things.
+ * Main goal of this this interface imlpementation is providing DGA
+ * everywhere where it's possible (unlike X11 and other).
+ * Copyright 2002 Nick Kurshev
+ * Licence: GPL
+ * This interface is based on v4l2, fbvid.h, mga_vid.h projects
+ * and personally my ideas.
+ * NOTE: This interface is introduces as APP interface.
+ * Don't use it for driver.
+ * It provides multistreaming. This mean that APP can handle
+ * several streams simultaneously. (Example: Video capturing and video
+ * playback or capturing, video playback, audio encoding and so on).
+*/
+#ifndef VIDIXLIB_H
+#define VIDIXLIB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "vidix.h"
+
+typedef void * VDL_HANDLE;
+
+ /* returns library version */
+extern unsigned vdlGetVersion( void );
+
+ /* 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).
+ returns !0 if ok else NULL.
+ */
+extern VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap);
+ /* Closes stream and corresponded driver. */
+extern void vdlClose(VDL_HANDLE stream);
+
+ /* Queries driver capabilities. Return 0 if ok else errno */
+extern int vdlGetCapability(VDL_HANDLE, vidix_capability_t *);
+
+ /* Queries support for given fourcc. Returns 0 if ok else errno */
+extern int vdlQueryFourcc(VDL_HANDLE,vidix_fourcc_t *);
+
+ /* Returns 0 if ok else errno */
+extern int vdlConfigPlayback(VDL_HANDLE,const vidix_playback_t *);
+
+ /* Returns 0 if ok else errno */
+extern int vdlMapPlayback(VDL_HANDLE,vidix_dga_t *);
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackOn(VDL_HANDLE);
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackOff(VDL_HANDLE);
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackFrameSelect(VDL_HANDLE, unsigned frame_idx );
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackGetEq(VDL_HANDLE, vidix_video_eq_t * );
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackSetEq(VDL_HANDLE, const vidix_video_eq_t * );
+
+ /* Returns 0 if ok else errno */
+extern int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif