diff options
Diffstat (limited to 'chromium/third_party/ffmpeg/libavcodec/error_resilience.h')
-rw-r--r-- | chromium/third_party/ffmpeg/libavcodec/error_resilience.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/chromium/third_party/ffmpeg/libavcodec/error_resilience.h b/chromium/third_party/ffmpeg/libavcodec/error_resilience.h index 970fdc20665..9d227e87a15 100644 --- a/chromium/third_party/ffmpeg/libavcodec/error_resilience.h +++ b/chromium/third_party/ffmpeg/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's responsibility 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,12 @@ 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; + + AVBufferRef *ref_index_buf[2]; + AVBufferRef *motion_val_buf[2]; uint16_t pp_time; uint16_t pb_time; |