+ /** Frame decoding info for interlaced picture */
+ uint8_t dmvrange; ///< Extended differential MV range flag
+ int fourmvswitch;
+ int intcomp;
+ uint8_t lumscale2; ///< for interlaced field P picture
+ uint8_t lumshift2;
+ VLC* mbmode_vlc;
+ VLC* imv_vlc;
+ VLC* twomvbp_vlc;
+ VLC* fourmvbp_vlc;
+ uint8_t twomvbp;
+ uint8_t fourmvbp;
+ uint8_t* fieldtx_plane;
+ int fieldtx_is_raw;
+ int8_t zzi_8x8[64];
+ uint8_t *blk_mv_type_base, *blk_mv_type; ///< 0: frame MV, 1: field MV (interlaced frame)
+ uint8_t *mv_f_base, *mv_f[2]; ///< 0: MV obtained from same field, 1: opposite field
+ uint8_t *mv_f_next_base, *mv_f_next[2];
+ int field_mode; ///< 1 for interlaced field pictures
+ int fptype;
+ int second_field;
+ int refdist; ///< distance of the current picture from reference
+ int numref; ///< number of past field pictures used as reference
+ // 0 corresponds to 1 and 1 corresponds to 2 references
+ int reffield; ///< if numref = 0 (1 reference) then reffield decides which
+ // field to use among the two fields from previous frame
+ int intcompfield; ///< which of the two fields to be intensity compensated
+ // 0: both fields, 1: bottom field, 2: top field
+ int cur_field_type; ///< 0: top, 1: bottom
+ int ref_field_type[2]; ///< forward and backward reference field type (top or bottom)
+ int blocks_off, mb_off;
+ int qs_last; ///< if qpel has been used in the previous (tr.) picture
+ int bmvtype;
+ int frfd, brfd; ///< reference frame distance (forward or backward)
+ int first_pic_header_flag;
+ int pic_header_flag;
+
+ /** Frame decoding info for sprite modes */
+ //@{
+ int new_sprite;
+ int two_sprites;
+ AVFrame *sprite_output_frame;
+ int output_width, output_height, sprite_width, sprite_height;
+ uint8_t* sr_rows[2][2]; ///< Sprite resizer line cache
+ //@}
+