summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2002-09-13 09:45:32 +0000
committerMichael Niedermayer <michaelni@gmx.at>2002-09-13 09:45:32 +0000
commitbea669e57cdd72b22cfc51514493a90f62dc96c9 (patch)
tree8ff405b8a270501fa7a9827bb449bdf612d6ae62 /libavcodec/mpegvideo.h
parent1c73a3fbf27dd506207fa76943a0f360748e71ae (diff)
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.h11
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;