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,