Mercurial > libavcodec.hg
comparison mpegvideo.h @ 262:7d941b8c4e84 libavcodec
mpeg4 b-frames :)
create slightly more correct headers & add "ffmpeg" user-data section
author | michaelni |
---|---|
date | Tue, 12 Mar 2002 22:54:25 +0000 |
parents | db20b987c32d |
children | 4e9e728021d8 |
comparison
equal
deleted
inserted
replaced
261:d6521bbbab5e | 262:7d941b8c4e84 |
---|---|
82 skipped (for black regions for example) */ | 82 skipped (for black regions for example) */ |
83 UINT8 *mbintra_table; /* used to kill a few memsets */ | 83 UINT8 *mbintra_table; /* used to kill a few memsets */ |
84 | 84 |
85 int qscale; | 85 int qscale; |
86 int pict_type; | 86 int pict_type; |
87 int last_non_b_pict_type; /* used for mpeg4 gmc b-frames */ | |
87 int frame_rate_index; | 88 int frame_rate_index; |
88 /* motion compensation */ | 89 /* motion compensation */ |
89 int unrestricted_mv; | 90 int unrestricted_mv; |
90 int h263_long_vectors; /* use horrible h263v1 long vector mode */ | 91 int h263_long_vectors; /* use horrible h263v1 long vector mode */ |
91 | 92 |
92 int f_code; /* resolution */ | 93 int f_code; /* resolution */ |
93 int b_code; /* resolution for B Frames*/ | 94 int b_code; /* backward resolution for B Frames (mpeg4) */ |
94 INT16 *mv_table[2]; /* MV table */ | 95 INT16 *mv_table[2]; /* MV table (1MV per MB)*/ |
95 INT16 (*motion_val)[2]; /* used for MV prediction */ | 96 INT16 (*motion_val)[2]; /* used for MV prediction (4MV per MB)*/ |
96 int full_search; | 97 int full_search; |
97 int mv_dir; | 98 int mv_dir; |
98 #define MV_DIR_BACKWARD 1 | 99 #define MV_DIR_BACKWARD 1 |
99 #define MV_DIR_FORWARD 2 | 100 #define MV_DIR_FORWARD 2 |
101 #define MV_DIRECT 4 // bidirectional mode where the difference equals the MV of the last P/S/I-Frame (mpeg4) | |
100 int mv_type; | 102 int mv_type; |
101 #define MV_TYPE_16X16 0 /* 1 vector for the whole mb */ | 103 #define MV_TYPE_16X16 0 /* 1 vector for the whole mb */ |
102 #define MV_TYPE_8X8 1 /* 4 vectors (h263) */ | 104 #define MV_TYPE_8X8 1 /* 4 vectors (h263) */ |
103 #define MV_TYPE_16X8 2 /* 2 vectors, one per 16x8 block */ | 105 #define MV_TYPE_16X8 2 /* 2 vectors, one per 16x8 block */ |
104 #define MV_TYPE_FIELD 3 /* 2 vectors, one per field */ | 106 #define MV_TYPE_FIELD 3 /* 2 vectors, one per field */ |
154 int umvplus_dec; | 156 int umvplus_dec; |
155 int h263_aic; /* Advanded INTRA Coding (AIC) */ | 157 int h263_aic; /* Advanded INTRA Coding (AIC) */ |
156 int h263_aic_dir; /* AIC direction: 0 = left, 1 = top */ | 158 int h263_aic_dir; /* AIC direction: 0 = left, 1 = top */ |
157 | 159 |
158 /* mpeg4 specific */ | 160 /* mpeg4 specific */ |
161 int time_increment_resolution; | |
159 int time_increment_bits; | 162 int time_increment_bits; |
163 int time_increment; | |
164 int time_base; | |
165 int time; | |
166 int last_non_b_time[2]; | |
160 int shape; | 167 int shape; |
161 int vol_sprite_usage; | 168 int vol_sprite_usage; |
162 int sprite_width; | 169 int sprite_width; |
163 int sprite_height; | 170 int sprite_height; |
164 int sprite_left; | 171 int sprite_left; |