summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/native/svq1.h
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-22 23:07:41 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-22 23:07:41 +0000
commit7cf14b455ed7bea3d44b15dff801e3b6b147aa08 (patch)
tree045f167b5208b70f8a6e6311a34ac48078be1ccb /libmpcodecs/native/svq1.h
parent7f025d4e466287f008467a7e8c417a504662d301 (diff)
downloadmpv-7cf14b455ed7bea3d44b15dff801e3b6b147aa08.tar.bz2
mpv-7cf14b455ed7bea3d44b15dff801e3b6b147aa08.tar.xz
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 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6506 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/native/svq1.h')
-rw-r--r--libmpcodecs/native/svq1.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/libmpcodecs/native/svq1.h b/libmpcodecs/native/svq1.h
new file mode 100644
index 0000000000..feeda4a9ee
--- /dev/null
+++ b/libmpcodecs/native/svq1.h
@@ -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);