Commit 5b5338f6 authored by Vittorio Giovara's avatar Vittorio Giovara

hqx: Implement slice-threaded decoding

Inspired by a patch from Ferdinand Oeinck <>.
Signed-off-by: 's avatarVittorio Giovara <>
parent 453642f8
This diff is collapsed.
......@@ -51,10 +51,17 @@ typedef struct HQXAC {
struct HQXContext;
typedef int (*mb_decode_func)(struct HQXContext *ctx, GetBitContext *gb, int x, int y);
typedef int (*mb_decode_func)(struct HQXContext *ctx,
int slice_no, int x, int y);
typedef struct HQXSlice {
GetBitContext gb;
DECLARE_ALIGNED(16, int16_t, block)[16][64];
} HQXSlice;
typedef struct HQXContext {
HQXDSPContext hqxdsp;
HQXSlice slice[16];
AVFrame *pic;
mb_decode_func decode_func;
......@@ -66,8 +73,6 @@ typedef struct HQXContext {
unsigned int data_size;
uint32_t slice_off[17];
DECLARE_ALIGNED(16, int16_t, block)[16][64];
VLC cbp_vlc;
VLC dc_vlc[3];
} HQXContext;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment