]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/hqx.h
lavc: Remove deprecated XvMC support hacks
[ffmpeg] / libavcodec / hqx.h
index 8dd72bfab2d07848c4f2fa3f2046aedfe2020856..e8f7c627fb70ac587eea966ce60af538b90aa99a 100644 (file)
 #define AVCODEC_HQX_H
 
 #include <stdint.h>
+
+#include "libavutil/frame.h"
 #include "libavutil/mem.h"
-#include "get_bits.h"
+
+#include "bitstream.h"
 #include "hqxdsp.h"
 
 enum HQXACMode {
@@ -47,13 +50,29 @@ typedef struct HQXAC {
     const HQXLUT *lut;
 } HQXAC;
 
+struct HQXContext;
+
+typedef int (*mb_decode_func)(struct HQXContext *ctx,
+                              int slice_no, int x, int y);
+
+typedef struct HQXSlice {
+    BitstreamContext bc;
+    DECLARE_ALIGNED(16, int16_t, block)[16][64];
+} HQXSlice;
+
 typedef struct HQXContext {
     HQXDSPContext hqxdsp;
+    HQXSlice slice[16];
+
+    AVFrame *pic;
+    mb_decode_func decode_func;
 
     int format, dcb, width, height;
     int interlaced;
 
-    DECLARE_ALIGNED(16, int16_t, block)[16][64];
+    uint8_t *src;
+    unsigned int data_size;
+    uint32_t slice_off[17];
 
     VLC cbp_vlc;
     VLC dc_vlc[3];