Mercurial > libavcodec.hg
comparison avcodec.h @ 553:18ad513d92fe libavcodec
direct rendering method 1 support
author | michaelni |
---|---|
date | Sun, 14 Jul 2002 18:37:35 +0000 |
parents | 9c66b5183ab3 |
children | 762c67fd4078 |
comparison
equal
deleted
inserted
replaced
552:26971b5a271d | 553:18ad513d92fe |
---|---|
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 4615 | 8 #define LIBAVCODEC_BUILD 4616 |
9 #define LIBAVCODEC_BUILD_STR "4615" | 9 #define LIBAVCODEC_BUILD_STR "4616" |
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, |
98 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ | 98 for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ |
99 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 | 99 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 |
100 #define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ | 100 #define CODEC_FLAG_PASS1 0x0200 /* use internal 2pass ratecontrol in first pass mode */ |
101 #define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ | 101 #define CODEC_FLAG_PASS2 0x0400 /* use internal 2pass ratecontrol in second pass mode */ |
102 #define CODEC_FLAG_EXTERN_HUFF 0x1000 /* use external huffman table (for mjpeg) */ | 102 #define CODEC_FLAG_EXTERN_HUFF 0x1000 /* use external huffman table (for mjpeg) */ |
103 #define CODEC_FLAG_GRAY 0x2000 /* only decode/encode grayscale */ | 103 #define CODEC_FLAG_GRAY 0x2000 /* only decode/encode grayscale */ |
104 | 104 #define CODEC_FLAG_EMU_EDGE 0x4000/* dont draw edges */ |
105 #define CODEC_FLAG_DR1 0x8000 /* dr1 */ | |
105 /* codec capabilities */ | 106 /* codec capabilities */ |
106 | 107 |
107 /* decoder can use draw_horiz_band callback */ | 108 /* decoder can use draw_horiz_band callback */ |
108 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 | 109 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 |
110 #define CODEC_CAP_DR1 0x0002 /* direct rendering method 1 */ | |
109 | 111 |
110 #define FRAME_RATE_BASE 10000 | 112 #define FRAME_RATE_BASE 10000 |
111 | 113 |
112 typedef struct AVCodecContext { | 114 typedef struct AVCodecContext { |
113 int bit_rate; | 115 int bit_rate; |
246 | 248 |
247 #ifndef MBC | 249 #ifndef MBC |
248 #define MBC 128 | 250 #define MBC 128 |
249 #define MBR 96 | 251 #define MBR 96 |
250 #endif | 252 #endif |
251 int *quant_store; /* field for communicating with external postprocessing */ | 253 #define QP_TYPE int //FIXME note xxx this might be changed to int8_t |
254 | |
255 QP_TYPE *quant_store; /* field for communicating with external postprocessing */ | |
252 unsigned qstride; | 256 unsigned qstride; |
257 | |
258 uint8_t *dr_buffer[3]; | |
259 int dr_stride; | |
260 void *dr_opaque_frame; | |
261 void (*get_buffer_callback)(struct AVCodecContext *c, int width, int height, int pict_type); | |
262 | |
253 //FIXME this should be reordered after kabis API is finished ... | 263 //FIXME this should be reordered after kabis API is finished ... |
254 /* | 264 /* |
255 Note: Below are located reserved fields for further usage | 265 Note: Below are located reserved fields for further usage |
256 It requires for ABI !!! | 266 It requires for ABI !!! |
257 If you'll perform some changes then borrow new space from these fields | 267 If you'll perform some changes then borrow new space from these fields |
265 float | 275 float |
266 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, | 276 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, |
267 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11; | 277 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11; |
268 void | 278 void |
269 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, | 279 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, |
270 *ptr_res6,*ptr_res7,*ptr_res8,*ptr_res9,*ptr_res10,*ptr_res11; | 280 *ptr_res6; |
271 unsigned long int | 281 unsigned long int |
272 ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, | 282 ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, |
273 ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; | 283 ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; |
274 unsigned int | 284 unsigned int |
275 ui_res0,ui_res1,ui_res2,ui_res3,ui_res4,ui_res5, | 285 ui_res0,ui_res1,ui_res2,ui_res3,ui_res4,ui_res5; |
276 ui_res6; | |
277 unsigned short int | 286 unsigned short int |
278 us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, | 287 us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, |
279 us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; | 288 us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; |
280 unsigned char | 289 unsigned char |
281 uc_res0,uc_res1,uc_res2,uc_res3,uc_res4,uc_res5, | 290 uc_res0,uc_res1,uc_res2,uc_res3,uc_res4,uc_res5, |