diff options
Diffstat (limited to 'libavcodec/error_resilience.h')
-rw-r--r-- | libavcodec/error_resilience.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/libavcodec/error_resilience.h b/libavcodec/error_resilience.h index f979656..5171094 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; |