X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fhqx.h;h=e8f7c627fb70ac587eea966ce60af538b90aa99a;hb=dcc39ee10e82833ce24aa57926c00ffeb1948198;hp=8dd72bfab2d07848c4f2fa3f2046aedfe2020856;hpb=ea031b75fb50c59196ccb654c9d143fb75365da9;p=ffmpeg diff --git a/libavcodec/hqx.h b/libavcodec/hqx.h index 8dd72bfab2d..e8f7c627fb7 100644 --- a/libavcodec/hqx.h +++ b/libavcodec/hqx.h @@ -22,8 +22,11 @@ #define AVCODEC_HQX_H #include + +#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];