#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 {
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];