diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-09-13 09:45:32 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-09-13 09:45:32 +0000 |
commit | bea669e57cdd72b22cfc51514493a90f62dc96c9 (patch) | |
tree | 8ff405b8a270501fa7a9827bb449bdf612d6ae62 /libavcodec/mpegvideo.h | |
parent | 1c73a3fbf27dd506207fa76943a0f360748e71ae (diff) | |
download | ffmpeg-bea669e57cdd72b22cfc51514493a90f62dc96c9.tar.gz |
interlaced mpeg4 b frame decoding
Originally committed as revision 936 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.h')
-rw-r--r-- | libavcodec/mpegvideo.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 7d62e4fc2b..ee184b1406 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -339,7 +339,9 @@ typedef struct MpegEncContext { INT64 time; /* time of current frame */ INT64 last_non_b_time; UINT16 pp_time; /* time distance between the last 2 p,s,i frames */ - UINT16 bp_time; /* time distance between the last b and p,s,i frame */ + UINT16 pb_time; /* time distance between the last b and p,s,i frame */ + UINT16 pp_field_time; + UINT16 pb_field_time; /* like above, just for interlaced */ int shape; int vol_sprite_usage; int sprite_width; @@ -377,7 +379,12 @@ typedef struct MpegEncContext { uint8_t *tex_pb_buffer; uint8_t *pb2_buffer; int mpeg_quant; - INT8 *non_b_mv4_table; +#define CO_LOCATED_TYPE_4MV 1 +#define CO_LOCATED_TYPE_FIELDMV 2 + INT8 *co_located_type_table; /* 4mv & field_mv info for next b frame */ + INT16 (*field_mv_table)[2][2]; /* used for interlaced b frame decoding */ + INT8 (*field_select_table)[2]; /* wtf, no really another table for interlaced b frames */ + int t_frame; /* time distance of first I -> B, used for interlaced b frames */ /* divx specific, used to workaround (many) bugs in divx5 */ int divx_version; |