+
+ ptrdiff_t linesize, uvlinesize;
+ ptrdiff_t mb_linesize; ///< may be equal to s->linesize or s->linesize * 2, for mbaff
+ ptrdiff_t mb_uvlinesize;
+
+ int mb_x, mb_y;
+ int mb_xy;
+ int resync_mb_x;
+ int resync_mb_y;
+ // index of the first MB of the next slice
+ int next_slice_idx;
+ int mb_skip_run;
+ int is_complex;
+
+ int mb_field_decoding_flag;
+ int mb_mbaff; ///< mb_aff_frame && mb_field_decoding_flag
+
+ int redundant_pic_count;
+
+ /**
+ * number of neighbors (top and/or left) that used 8x8 dct
+ */
+ int neighbor_transform_size;
+
+ int direct_spatial_mv_pred;
+ int col_parity;
+ int col_fieldoff;
+
+ int cbp;
+ int top_cbp;
+ int left_cbp;
+
+ int dist_scale_factor[32];
+ int dist_scale_factor_field[2][32];
+ int map_col_to_list0[2][16 + 32];
+ int map_col_to_list0_field[2][2][16 + 32];
+
+ /**
+ * num_ref_idx_l0/1_active_minus1 + 1
+ */
+ unsigned int ref_count[2]; ///< counts frames or fields, depending on current mb mode
+ unsigned int list_count;
+ H264Ref ref_list[2][48]; /**< 0..15: frame refs, 16..47: mbaff field refs.
+ * Reordered version of default_ref_list
+ * according to picture reordering in slice header */
+ int ref2frm[MAX_SLICES][2][64]; ///< reference to frame number lists, used in the loop filter, the first 2 are for -2,-1
+
+ const uint8_t *intra_pcm_ptr;
+ int16_t *dc_val_base;
+
+ uint8_t *bipred_scratchpad;
+ uint8_t *edge_emu_buffer;