summaryrefslogtreecommitdiff
path: root/libavcodec/error_resilience.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-17 04:59:21 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-17 05:08:46 +0100
commit533bc4c0a30db6a6a4b75bb1094ad2e25f11ae51 (patch)
treebbbbf157d57e32706fb35e0add19bfb9f7e8bcc5 /libavcodec/error_resilience.h
parent3dab9e804afe7f971a2dc6089c5615628fb4d81c (diff)
parentd66e305bd1b4f3e91ae4e7e549148509d0811672 (diff)
Merge commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672'
* commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672': er: move relevant fields from Picture to ERPicture Conflicts: libavcodec/error_resilience.c libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/error_resilience.h')
-rw-r--r--libavcodec/error_resilience.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/libavcodec/error_resilience.h b/libavcodec/error_resilience.h
index 970fdc2066..f75a83d8c8 100644
--- a/libavcodec/error_resilience.h
+++ b/libavcodec/error_resilience.h
@@ -24,6 +24,7 @@
#include "avcodec.h"
#include "dsputil.h"
+#include "thread.h"
///< current MB is the first after a resync marker
#define VP_START 1
@@ -37,6 +38,18 @@
#define ER_MB_ERROR (ER_AC_ERROR|ER_DC_ERROR|ER_MV_ERROR)
#define ER_MB_END (ER_AC_END|ER_DC_END|ER_MV_END)
+typedef struct ERPicture {
+ AVFrame *f;
+ ThreadFrame *tf;
+
+ // it's the caller responsability to allocate these buffers
+ int16_t (*motion_val[2])[2];
+ int8_t *ref_index[2];
+
+ uint32_t *mb_type;
+ int field_picture;
+} ERPicture;
+
typedef struct ERContext {
AVCodecContext *avctx;
DSPContext *dsp;
@@ -55,9 +68,9 @@ typedef struct ERContext {
uint8_t *mbintra_table;
int mv[2][4][2];
- struct Picture *cur_pic;
- struct Picture *last_pic;
- struct Picture *next_pic;
+ ERPicture cur_pic;
+ ERPicture last_pic;
+ ERPicture next_pic;
uint16_t pp_time;
uint16_t pb_time;