diff vp56.h @ 5714:314be1cfdcb0 libavcodec

add a new vp6a codec (add alpha plan support to vp6)
author aurel
date Tue, 25 Sep 2007 19:12:46 +0000
parents dae0f80edbb3
children 51918cb97f6f
line wrap: on
line diff
--- a/vp56.h	Tue Sep 25 08:43:49 2007 +0000
+++ b/vp56.h	Tue Sep 25 19:12:46 2007 +0000
@@ -90,8 +90,8 @@
     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 @@
     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 @@
     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 @@
     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,