]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/vp9dec.h
avformat: Remove deprecated filename field from AVFormatContext
[ffmpeg] / libavcodec / vp9dec.h
index 66573edc7911deb646143788d57af56482878592..d82b258a3d81ba2ccd91e5f9fc2e525bdbb41c0b 100644 (file)
@@ -29,6 +29,7 @@
 #include <stdatomic.h>
 
 #include "libavutil/buffer.h"
+#include "libavutil/mem_internal.h"
 #include "libavutil/thread.h"
 #include "libavutil/internal.h"
 
@@ -36,6 +37,8 @@
 #include "vp9dsp.h"
 #include "vp9shared.h"
 
+#define REF_INVALID_SCALE 0xFFFF
+
 enum MVJoint {
     MV_JOINT_ZERO,
     MV_JOINT_H,
@@ -152,6 +155,10 @@ typedef struct VP9Context {
     int block_alloc_using_2pass;
     uint16_t mvscale[3][2];
     uint8_t mvstep[3][2];
+
+    // frame specific buffer pools
+    AVBufferPool *frame_extradata_pool;
+    int frame_extradata_pool_size;
 } VP9Context;
 
 struct VP9TileData {
@@ -217,6 +224,16 @@ struct VP9TileData {
     struct { int x, y; } min_mv, max_mv;
     int16_t *block_base, *block, *uvblock_base[2], *uvblock[2];
     uint8_t *eob_base, *uveob_base[2], *eob, *uveob[2];
+
+    // error message
+    int error_info;
+    struct {
+        unsigned int row:13;
+        unsigned int col:13;
+        unsigned int block_size_idx_x:2;
+        unsigned int block_size_idx_y:2;
+    } *block_structure;
+    unsigned int nb_block_structure;
 };
 
 void ff_vp9_fill_mv(VP9TileData *td, VP56mv *mv, int mode, int sb);