]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ffv1.h
aarch64: vp8: Port bilin functions from arm version
[ffmpeg] / libavcodec / ffv1.h
index 43c96079ae5fe3bfdc902d741b9e0c965b3ff1ac..7e0465abaa7934de61e166cdd3432dfc87f481d0 100644 (file)
@@ -26,8 +26,7 @@
 #include <stdint.h>
 
 #include "avcodec.h"
-#include "dsputil.h"
-#include "get_bits.h"
+#include "bitstream.h"
 #include "put_bits.h"
 #include "rangecoder.h"
 
 #define MAX_QUANT_TABLES 8
 #define MAX_CONTEXT_INPUTS 5
 
+#define AC_GOLOMB_RICE          0
+#define AC_RANGE_DEFAULT_TAB    1
+#define AC_RANGE_CUSTOM_TAB     2
+
 extern const uint8_t ff_log2_run[41];
 
 extern const int8_t ffv1_quant5_10bit[256];
@@ -67,7 +70,7 @@ typedef struct FFV1Context {
     AVClass *class;
     AVCodecContext *avctx;
     RangeCoder c;
-    GetBitContext gb;
+    BitstreamContext bc;
     PutBitContext pb;
     uint64_t rc_stat[256][2];
     uint64_t (*rc_stat2[MAX_QUANT_TABLES])[32][2];
@@ -79,7 +82,9 @@ typedef struct FFV1Context {
     int transparency;
     int flags;
     int picture_number;
-    AVFrame picture, last_picture;
+    int key_frame;
+    const AVFrame *frame;
+    AVFrame *last_picture;
 
     AVFrame *cur;
     int plane_count;
@@ -98,6 +103,7 @@ typedef struct FFV1Context {
     int ec;
     int slice_damaged;
     int key_frame_ok;
+    int context_model;
 
     int bits_per_raw_sample;
     int packed_at_lsb;
@@ -105,8 +111,6 @@ typedef struct FFV1Context {
     int gob_count;
     int quant_table_count;
 
-    DSPContext dsp;
-
     struct FFV1Context *slice_context[MAX_SLICES];
     int slice_count;
     int num_v_slices;