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,