Commit 55b866f6 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '453642f8'

* commit '453642f8':
  hqx: Store shareable data in main decoder context

Conflicts:
	libavcodec/hqx.c
	libavcodec/hqx.h
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents d8b4e9ad 453642f8
This diff is collapsed.
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
#define AVCODEC_HQX_H #define AVCODEC_HQX_H
#include <stdint.h> #include <stdint.h>
#include "libavutil/frame.h"
#include "libavutil/mem.h" #include "libavutil/mem.h"
#include "get_bits.h" #include "get_bits.h"
#include "hqxdsp.h" #include "hqxdsp.h"
...@@ -51,17 +53,30 @@ typedef struct HQXAC { ...@@ -51,17 +53,30 @@ typedef struct HQXAC {
typedef struct HQXSliceData typedef struct HQXSliceData
{ {
DECLARE_ALIGNED(16, int16_t, block)[16][64]; DECLARE_ALIGNED(16, int16_t, block)[16][64];
GetBitContext gb;
} HQXSliceData; } HQXSliceData;
struct HQXContext;
typedef int (*mb_decode_func)(struct HQXContext *ctx, HQXSliceData * slice_data,
GetBitContext *gb, int x, int y);
typedef struct HQXContext { typedef struct HQXContext {
HQXDSPContext hqxdsp; HQXDSPContext hqxdsp;
AVFrame *pic;
mb_decode_func decode_func;
int format, dcb, width, height; int format, dcb, width, height;
int interlaced; int interlaced;
HQXSliceData slice[17]; HQXSliceData slice[17];
uint8_t *src;
unsigned int data_size;
uint32_t slice_off[17];
VLC cbp_vlc; VLC cbp_vlc;
VLC dc_vlc[3]; VLC dc_vlc[3];
} HQXContext; } 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