27     memset(dst, 0, 
sizeof(*dst));
 
   37     for (i = 0; i < 2; i++) {
 
   63                               int (*
mv)[2][4][2], 
int mb_x, 
int mb_y,
 
   64                               int mb_intra, 
int mb_skipped)
 
   74     memcpy(s->
mv, 
mv, 
sizeof(*
mv));
 
   93                "Interlaced error concealment is not fully implemented\n");
 
void ff_init_block_index(MpegEncContext *s)
void(* clear_blocks)(int16_t *blocks)
int field_picture
whether or not the picture was encoded in separate fields 
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
int mb_num
number of MBs of a picture 
static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type, int(*mv)[2][4][2], int mb_x, int mb_y, int mb_intra, int mb_skipped)
void ff_mpv_decode_mb(MpegEncContext *s, int16_t block[12][64])
Picture current_picture
copy of the current picture structure. 
uint16_t pp_time
time distance between the last 2 p,s,i frames 
int mb_height
number of MBs horizontally & vertically 
static void ff_update_block_index(MpegEncContext *s)
int16_t * dc_val[3]
used for MPEG-4 DC prediction, all 3 arrays must be continuous 
int mb_skipped
MUST BE SET only during DECODING. 
int partitioned_frame
is current frame partitioned 
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers. 
void(* decode_mb)(void *opaque, int ref, int mv_dir, int mv_type, int(*mv)[2][4][2], int mb_x, int mb_y, int mb_intra, int mb_skipped)
int quarter_sample
1->qpel, 0->half pel ME/MC 
static void set_erpic(ERPicture *dst, Picture *src)
uint8_t * error_status_table
int ff_mpeg_er_init(MpegEncContext *s)
uint8_t * mbskip_table
used to avoid copy if macroblock skipped (for black regions for example) and used for B-frame encodin...
int16_t(*[2] motion_val)[2]
Picture * current_picture_ptr
pointer to the current picture 
void ff_mpeg_er_frame_start(MpegEncContext *s)
uint8_t * mbintra_table
used to avoid setting {ac, dc, cbp}-pred stuff to zero on inter MB decoding 
#define FF_ARRAY_ELEMS(a)
int * mb_index2xy
mb_index -> mb_x + mb_y*mb_stride 
static const int8_t mv[256][2]
ptrdiff_t linesize
line size, in bytes, may be different from width 
ptrdiff_t uvlinesize
line size, for chroma in bytes, may be different from width 
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes. 
int mv[2][4][2]
motion vectors for a macroblock first coordinate : 0 = forward 1 = backward second "         : depend...
int b8_stride
2*mb_width+1 used for some 8x8 block arrays to allow simple addressing 
Picture * next_picture_ptr
pointer to the next picture (for bidir pred) 
struct AVCodecContext * avctx
int mb_stride
mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11 ...
static int ref[MAX_W *MAX_W]
Picture * last_picture_ptr
pointer to the previous picture. 
int16_t(*[2] motion_val)[2]
int16_t(* block)[64]
points to one of the following blocks 
void ff_er_frame_start(ERContext *s)
uint32_t * mb_type
types and macros are defined in mpegutils.h 
uint16_t pb_time
time distance between the last b and p,s,i frame