diff libmpcodecs/native/svq1.h @ 6505:e3a166f8e81f

imported from xine, generalized, created header file, all tables moved to svq1_cb.h (was: svq1_codebooks.h) TODO: use libavcodec's MC and bit parsing routines, maybe VLC too, finally move the whole decoder to libavcodec
author arpi
date Sat, 22 Jun 2002 23:07:41 +0000
parents
children a2086150099b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libmpcodecs/native/svq1.h	Sat Jun 22 23:07:41 2002 +0000
@@ -0,0 +1,38 @@
+
+#define SVQ1_BLOCK_SKIP		0
+#define SVQ1_BLOCK_INTER	1
+#define SVQ1_BLOCK_INTER_4V	2
+#define SVQ1_BLOCK_INTRA	3
+
+#define SVQ1_FRAME_INTRA	0
+#define SVQ1_FRAME_INTER	1
+#define SVQ1_FRAME_DROPPABLE	2
+
+/* motion vector (prediction) */
+typedef struct svq1_pmv_s {
+  int		 x;
+  int		 y;
+} svq1_pmv_t;
+
+typedef struct svq1_s {
+  int		 frame_code;
+  int		 frame_type;
+  int		 frame_width;
+  int		 frame_height;
+  int		 luma_width;
+  int		 luma_height;
+  int		 chroma_width;
+  int		 chroma_height;
+  svq1_pmv_t	*motion;
+  uint8_t	*current;
+  uint8_t	*previous;
+  int		 offsets[3];
+  int		 reference_frame;
+ 
+  uint8_t	*base[3];
+  int		 width;
+  int		 height;
+} svq1_t;
+
+int svq1_decode_frame (svq1_t *svq1, uint8_t *buffer);
+void svq1_free (svq1_t *svq1);