diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-22 23:07:41 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-22 23:07:41 +0000 |
commit | 7cf14b455ed7bea3d44b15dff801e3b6b147aa08 (patch) | |
tree | 045f167b5208b70f8a6e6311a34ac48078be1ccb /libmpcodecs/native/svq1.h | |
parent | 7f025d4e466287f008467a7e8c417a504662d301 (diff) | |
download | mpv-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.h | 38 |
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); |