diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2015-04-09 19:10:45 +0200 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2015-04-19 22:36:48 +0100 |
commit | 5b5338f6d1272526d2634501555cbaff4cdfb87b (patch) | |
tree | 4df427fe492eb77d7fc849f2113f1e38d6a5f5ba /libavcodec/hqx.h | |
parent | 453642f8afe9f979fcc813a246b1ec656ec36a93 (diff) | |
download | ffmpeg-5b5338f6d1272526d2634501555cbaff4cdfb87b.tar.gz |
hqx: Implement slice-threaded decoding
Inspired by a patch from Ferdinand Oeinck <ferdo@demon.nl>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diffstat (limited to 'libavcodec/hqx.h')
-rw-r--r-- | libavcodec/hqx.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libavcodec/hqx.h b/libavcodec/hqx.h index 7e3fd6a3be..7f329712fd 100644 --- a/libavcodec/hqx.h +++ b/libavcodec/hqx.h @@ -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; |