summaryrefslogtreecommitdiff
path: root/libavcodec/hqx.h
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2015-04-09 19:06:33 +0200
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-04-19 22:36:41 +0100
commit453642f8afe9f979fcc813a246b1ec656ec36a93 (patch)
tree3bcffc7a3a04eb7e0485d0de1c65536467f1936c /libavcodec/hqx.h
parentea031b75fb50c59196ccb654c9d143fb75365da9 (diff)
hqx: Store shareable data in main decoder context
In preparation for multithreaded decoding.
Diffstat (limited to 'libavcodec/hqx.h')
-rw-r--r--libavcodec/hqx.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavcodec/hqx.h b/libavcodec/hqx.h
index 8dd72bfab2..7e3fd6a3be 100644
--- a/libavcodec/hqx.h
+++ b/libavcodec/hqx.h
@@ -22,6 +22,8 @@
#define AVCODEC_HQX_H
#include <stdint.h>
+
+#include "libavutil/frame.h"
#include "libavutil/mem.h"
#include "get_bits.h"
#include "hqxdsp.h"
@@ -47,12 +49,23 @@ typedef struct HQXAC {
const HQXLUT *lut;
} HQXAC;
+struct HQXContext;
+
+typedef int (*mb_decode_func)(struct HQXContext *ctx, GetBitContext *gb, int x, int y);
+
typedef struct HQXContext {
HQXDSPContext hqxdsp;
+ AVFrame *pic;
+ mb_decode_func decode_func;
+
int format, dcb, width, height;
int interlaced;
+ uint8_t *src;
+ unsigned int data_size;
+ uint32_t slice_off[17];
+
DECLARE_ALIGNED(16, int16_t, block)[16][64];
VLC cbp_vlc;