summaryrefslogtreecommitdiff
path: root/libavcodec/vp56.h
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2007-09-25 19:12:46 +0000
committerAurelien Jacobs <aurel@gnuage.org>2007-09-25 19:12:46 +0000
commit91fc2cf150cdee0493e51dfe44df0ab88ff2f31b (patch)
tree8beec3900d9005aa6fc13d527d054b761ca9dbc9 /libavcodec/vp56.h
parent58f66029b6bb8f14ae0dcadf0cd73d92f38ccb38 (diff)
add a new vp6a codec (add alpha plan support to vp6)
Originally committed as revision 10574 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vp56.h')
-rw-r--r--libavcodec/vp56.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/vp56.h b/libavcodec/vp56.h
index adae42b35f..c2a6ef8ca6 100644
--- a/libavcodec/vp56.h
+++ b/libavcodec/vp56.h
@@ -90,8 +90,8 @@ struct vp56_context {
AVCodecContext *avctx;
DSPContext dsp;
ScanTable scantable;
- AVFrame frames[3];
- AVFrame *framep[4];
+ AVFrame frames[4];
+ AVFrame *framep[6];
uint8_t *edge_emu_buffer_alloc;
uint8_t *edge_emu_buffer;
vp56_range_coder_t c;
@@ -100,8 +100,8 @@ struct vp56_context {
int sub_version;
/* frame info */
- int plane_width[3];
- int plane_height[3];
+ int plane_width[4];
+ int plane_height[4];
int mb_width; /* number of horizontal MB */
int mb_height; /* number of vertical MB */
int block_offset[6];
@@ -137,11 +137,13 @@ struct vp56_context {
uint8_t coeff_ctx[4][64]; /* used in vp5 only */
uint8_t coeff_ctx_last[4]; /* used in vp5 only */
+ int has_alpha;
+
/* upside-down flipping hints */
int flip; /* are we flipping ? */
int frbi; /* first row block index in MB */
int srbi; /* second row block index in MB */
- int stride[3]; /* stride for each plan */
+ int stride[4]; /* stride for each plan */
const uint8_t *vp56_coord_div;
vp56_parse_vector_adjustment_t parse_vector_adjustment;
@@ -154,11 +156,11 @@ struct vp56_context {
vp56_parse_header_t parse_header;
vp56_model_t *modelp;
- vp56_model_t models;
+ vp56_model_t models[2];
};
-void vp56_init(AVCodecContext *avctx, int flip);
+void vp56_init(AVCodecContext *avctx, int flip, int has_alpha);
int vp56_free(AVCodecContext *avctx);
void vp56_init_dequant(vp56_context_t *s, int quantizer);
int vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,