Mercurial > libavcodec.hg
comparison avcodec.h @ 460:2ae7a98300b7 libavcodec
single coefficient elimination
error concealment / error resilience
b_quant_offset (unfinished, should be 0 for now)
author | michaelni |
---|---|
date | Sun, 02 Jun 2002 12:25:54 +0000 |
parents | 5c8b3a717929 |
children | 805714c0c10f |
comparison
equal
deleted
inserted
replaced
459:295ce90742ff | 460:2ae7a98300b7 |
---|---|
3 | 3 |
4 #include "common.h" | 4 #include "common.h" |
5 | 5 |
6 #define LIBAVCODEC_VERSION_INT 0x000406 | 6 #define LIBAVCODEC_VERSION_INT 0x000406 |
7 #define LIBAVCODEC_VERSION "0.4.6" | 7 #define LIBAVCODEC_VERSION "0.4.6" |
8 #define LIBAVCODEC_BUILD 4610 | 8 #define LIBAVCODEC_BUILD 4611 |
9 #define LIBAVCODEC_BUILD_STR "4610" | 9 #define LIBAVCODEC_BUILD_STR "4611" |
10 | 10 |
11 enum CodecID { | 11 enum CodecID { |
12 CODEC_ID_NONE, | 12 CODEC_ID_NONE, |
13 CODEC_ID_MPEG1VIDEO, | 13 CODEC_ID_MPEG1VIDEO, |
14 CODEC_ID_H263, | 14 CODEC_ID_H263, |
88 #define CODEC_FLAG_QSCALE 0x0002 /* use fixed qscale */ | 88 #define CODEC_FLAG_QSCALE 0x0002 /* use fixed qscale */ |
89 #define CODEC_FLAG_4MV 0x0004 /* 4 MV per MB allowed */ | 89 #define CODEC_FLAG_4MV 0x0004 /* 4 MV per MB allowed */ |
90 #define CODEC_FLAG_QPEL 0x0010 /* use qpel MC */ | 90 #define CODEC_FLAG_QPEL 0x0010 /* use qpel MC */ |
91 #define CODEC_FLAG_GMC 0x0020 /* use GMC */ | 91 #define CODEC_FLAG_GMC 0x0020 /* use GMC */ |
92 #define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */ | 92 #define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */ |
93 #define CODEC_FLAG_PART 0x0080 /* use data partitioning */ | |
93 /* parent program gurantees that the input for b-frame containing streams is not written to | 94 /* parent program gurantees that the input for b-frame containing streams is not written to |
94 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ | 95 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ |
95 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 | 96 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 |
96 #define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ | 97 #define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ |
97 #define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ | 98 #define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ |
186 | 187 |
187 struct AVCodec *codec; | 188 struct AVCodec *codec; |
188 void *priv_data; | 189 void *priv_data; |
189 | 190 |
190 /* The following data is for RTP friendly coding */ | 191 /* The following data is for RTP friendly coding */ |
191 /* By now only H.263/H.263+ coder honours this */ | 192 /* By now only H.263/H.263+/MPEG4 coder honours this */ |
192 int rtp_mode; /* 1 for activate RTP friendly-mode */ | 193 int rtp_mode; /* 1 for activate RTP friendly-mode */ |
193 /* highers numbers represent more error-prone */ | 194 /* highers numbers represent more error-prone */ |
194 /* enviroments, by now just "1" exist */ | 195 /* enviroments, by now just "1" exist */ |
195 | 196 |
196 int rtp_payload_size; /* The size of the RTP payload, the coder will */ | 197 int rtp_payload_size; /* The size of the RTP payload, the coder will */ |
231 enum CodecType codec_type; /* see CODEC_TYPE_xxx */ | 232 enum CodecType codec_type; /* see CODEC_TYPE_xxx */ |
232 enum CodecID codec_id; /* see CODEC_ID_xxx */ | 233 enum CodecID codec_id; /* see CODEC_ID_xxx */ |
233 unsigned int codec_tag; /* codec tag, only used if unknown codec */ | 234 unsigned int codec_tag; /* codec tag, only used if unknown codec */ |
234 | 235 |
235 int workaround_bugs; /* workaround bugs in encoders which cannot be detected automatically */ | 236 int workaround_bugs; /* workaround bugs in encoders which cannot be detected automatically */ |
237 int luma_elim_threshold; | |
238 int chroma_elim_threshold; | |
239 int strict_std_compliance; /* strictly follow the std (MPEG4, ...) */ | |
240 float b_quant_offset;/* qscale offset between ips and b frames, not implemented yet */ | |
241 int error_resilience; | |
242 | |
243 //FIXME this should be reordered after kabis API is finished ... | |
236 /* | 244 /* |
237 Note: Below are located reserved fields for further usage | 245 Note: Below are located reserved fields for further usage |
238 It requires for ABI !!! | 246 It requires for ABI !!! |
239 If you'll perform some changes then borrow new space from these fields | 247 If you'll perform some changes then borrow new space from these fields |
240 (void * can be safety replaced with struct * ;) | 248 (void * can be safety replaced with struct * ;) |
244 unsigned long long int | 252 unsigned long long int |
245 ull_res0,ull_res1,ull_res2,ull_res3,ull_res4,ull_res5, | 253 ull_res0,ull_res1,ull_res2,ull_res3,ull_res4,ull_res5, |
246 ull_res6,ull_res7,ull_res8,ull_res9,ull_res10,ull_res11,ull_res12; | 254 ull_res6,ull_res7,ull_res8,ull_res9,ull_res10,ull_res11,ull_res12; |
247 float | 255 float |
248 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, | 256 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, |
249 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11,flt_res12; | 257 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11; |
250 void | 258 void |
251 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, | 259 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, |
252 *ptr_res6,*ptr_res7,*ptr_res8,*ptr_res9,*ptr_res10,*ptr_res11,*ptr_res12; | 260 *ptr_res6,*ptr_res7,*ptr_res8,*ptr_res9,*ptr_res10,*ptr_res11,*ptr_res12; |
253 unsigned long int | 261 unsigned long int |
254 ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, | 262 ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, |
255 ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; | 263 ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; |
256 unsigned int | 264 unsigned int |
257 ui_res0,ui_res1,ui_res2,ui_res3,ui_res4,ui_res5, | 265 ui_res0,ui_res1,ui_res2,ui_res3,ui_res4,ui_res5, |
258 ui_res6,ui_res7,ui_res8,ui_res9,ui_res10,ui_res11; | 266 ui_res6,ui_res7; |
259 unsigned short int | 267 unsigned short int |
260 us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, | 268 us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, |
261 us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; | 269 us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; |
262 unsigned char | 270 unsigned char |
263 uc_res0,uc_res1,uc_res2,uc_res3,uc_res4,uc_res5, | 271 uc_res0,uc_res1,uc_res2,uc_res3,uc_res4,uc_res5, |