Mercurial > libavcodec.hg
comparison avcodec.h @ 2764:2b37bcabe608 libavcodec
spelling fixes
patch by Peter Robinson pbrobinson @ at @ gmail . dot . com and myself
author | diego |
---|---|
date | Fri, 17 Jun 2005 15:02:53 +0000 |
parents | d8874c8749ec |
children | d2b3f948599d |
comparison
equal
deleted
inserted
replaced
2763:01ed2c3b8f08 | 2764:2b37bcabe608 |
---|---|
296 | 296 |
297 #define FF_MAX_B_FRAMES 8 | 297 #define FF_MAX_B_FRAMES 8 |
298 | 298 |
299 /* encoding support | 299 /* encoding support |
300 these flags can be passed in AVCodecContext.flags before initing | 300 these flags can be passed in AVCodecContext.flags before initing |
301 Note: note not everything is supported yet | 301 Note: not everything is supported yet. |
302 */ | 302 */ |
303 | 303 |
304 #define CODEC_FLAG_QSCALE 0x0002 ///< use fixed qscale | 304 #define CODEC_FLAG_QSCALE 0x0002 ///< use fixed qscale |
305 #define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / Advanced prediction for H263 | 305 #define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / Advanced prediction for H263 |
306 #define CODEC_FLAG_QPEL 0x0010 ///< use qpel MC | 306 #define CODEC_FLAG_QPEL 0x0010 ///< use qpel MC |
312 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 | 312 #define CODEC_FLAG_INPUT_PRESERVED 0x0100 |
313 #define CODEC_FLAG_PASS1 0x0200 ///< use internal 2pass ratecontrol in first pass mode | 313 #define CODEC_FLAG_PASS1 0x0200 ///< use internal 2pass ratecontrol in first pass mode |
314 #define CODEC_FLAG_PASS2 0x0400 ///< use internal 2pass ratecontrol in second pass mode | 314 #define CODEC_FLAG_PASS2 0x0400 ///< use internal 2pass ratecontrol in second pass mode |
315 #define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< use external huffman table (for mjpeg) | 315 #define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< use external huffman table (for mjpeg) |
316 #define CODEC_FLAG_GRAY 0x2000 ///< only decode/encode grayscale | 316 #define CODEC_FLAG_GRAY 0x2000 ///< only decode/encode grayscale |
317 #define CODEC_FLAG_EMU_EDGE 0x4000///< dont draw edges | 317 #define CODEC_FLAG_EMU_EDGE 0x4000///< don't draw edges |
318 #define CODEC_FLAG_PSNR 0x8000 ///< error[?] variables will be set during encoding | 318 #define CODEC_FLAG_PSNR 0x8000 ///< error[?] variables will be set during encoding |
319 #define CODEC_FLAG_TRUNCATED 0x00010000 /** input bitstream might be truncated at a random location instead | 319 #define CODEC_FLAG_TRUNCATED 0x00010000 /** input bitstream might be truncated at a random location instead |
320 of only at frame boundaries */ | 320 of only at frame boundaries */ |
321 #define CODEC_FLAG_NORMALIZE_AQP 0x00020000 ///< normalize adaptive quantization | 321 #define CODEC_FLAG_NORMALIZE_AQP 0x00020000 ///< normalize adaptive quantization |
322 #define CODEC_FLAG_INTERLACED_DCT 0x00040000 ///< use interlaced dct | 322 #define CODEC_FLAG_INTERLACED_DCT 0x00040000 ///< use interlaced dct |
365 * codec has a non zero delay and needs to be feeded with NULL at the end to get the delayed data. | 365 * codec has a non zero delay and needs to be feeded with NULL at the end to get the delayed data. |
366 * if this is not set, the codec is guranteed to never be feeded with NULL data | 366 * if this is not set, the codec is guranteed to never be feeded with NULL data |
367 */ | 367 */ |
368 #define CODEC_CAP_DELAY 0x0020 | 368 #define CODEC_CAP_DELAY 0x0020 |
369 | 369 |
370 //the following defines might change, so dont expect compatibility if u use them | 370 //the following defines may change, don't expect compatibility if you use them |
371 #define MB_TYPE_INTRA4x4 0x0001 | 371 #define MB_TYPE_INTRA4x4 0x0001 |
372 #define MB_TYPE_INTRA16x16 0x0002 //FIXME h264 specific | 372 #define MB_TYPE_INTRA16x16 0x0002 //FIXME h264 specific |
373 #define MB_TYPE_INTRA_PCM 0x0004 //FIXME h264 specific | 373 #define MB_TYPE_INTRA_PCM 0x0004 //FIXME h264 specific |
374 #define MB_TYPE_16x16 0x0008 | 374 #define MB_TYPE_16x16 0x0008 |
375 #define MB_TYPE_16x8 0x0010 | 375 #define MB_TYPE_16x8 0x0010 |
428 */\ | 428 */\ |
429 uint8_t *data[4];\ | 429 uint8_t *data[4];\ |
430 int linesize[4];\ | 430 int linesize[4];\ |
431 /**\ | 431 /**\ |
432 * pointer to the first allocated byte of the picture. can be used in get_buffer/release_buffer\ | 432 * pointer to the first allocated byte of the picture. can be used in get_buffer/release_buffer\ |
433 * this isnt used by lavc unless the default get/release_buffer() is used\ | 433 * this isn't used by lavc unless the default get/release_buffer() is used\ |
434 * - encoding: \ | 434 * - encoding: \ |
435 * - decoding: \ | 435 * - decoding: \ |
436 */\ | 436 */\ |
437 uint8_t *base[4];\ | 437 uint8_t *base[4];\ |
438 /**\ | 438 /**\ |
630 #define FF_QSCALE_TYPE_MPEG1 0 | 630 #define FF_QSCALE_TYPE_MPEG1 0 |
631 #define FF_QSCALE_TYPE_MPEG2 1 | 631 #define FF_QSCALE_TYPE_MPEG2 1 |
632 | 632 |
633 #define FF_BUFFER_TYPE_INTERNAL 1 | 633 #define FF_BUFFER_TYPE_INTERNAL 1 |
634 #define FF_BUFFER_TYPE_USER 2 ///< Direct rendering buffers (image is (de)allocated by user) | 634 #define FF_BUFFER_TYPE_USER 2 ///< Direct rendering buffers (image is (de)allocated by user) |
635 #define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewher else, dont dealloc image (data/base), all other tables are not shared | 635 #define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewhere else, don't dealloc image (data/base), all other tables are not shared |
636 #define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, dont dealloc anything | 636 #define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, don't dealloc anything |
637 | 637 |
638 | 638 |
639 #define FF_I_TYPE 1 // Intra | 639 #define FF_I_TYPE 1 // Intra |
640 #define FF_P_TYPE 2 // Predicted | 640 #define FF_P_TYPE 2 // Predicted |
641 #define FF_B_TYPE 3 // Bi-dir predicted | 641 #define FF_B_TYPE 3 // Bi-dir predicted |
864 void *priv_data; | 864 void *priv_data; |
865 | 865 |
866 /* unused, FIXME remove*/ | 866 /* unused, FIXME remove*/ |
867 int rtp_mode; | 867 int rtp_mode; |
868 | 868 |
869 int rtp_payload_size; /* The size of the RTP payload, the coder will */ | 869 int rtp_payload_size; /* The size of the RTP payload: the coder will */ |
870 /* do it's best to deliver a chunk with size */ | 870 /* do it's best to deliver a chunk with size */ |
871 /* below rtp_payload_size, the chunk will start */ | 871 /* below rtp_payload_size, the chunk will start */ |
872 /* with a start code on some codecs like H.263 */ | 872 /* with a start code on some codecs like H.263 */ |
873 /* This doesn't take account of any particular */ | 873 /* This doesn't take account of any particular */ |
874 /* headers inside the transmited RTP payload */ | 874 /* headers inside the transmited RTP payload */ |
875 | 875 |
876 | 876 |
877 /* The RTP callcack: This function is called */ | 877 /* The RTP callback: This function is called */ |
878 /* every time the encoder as a packet to send */ | 878 /* every time the encoder has a packet to send */ |
879 /* Depends on the encoder if the data starts */ | 879 /* Depends on the encoder if the data starts */ |
880 /* with a Start Code (it should) H.263 does. */ | 880 /* with a Start Code (it should) H.263 does. */ |
881 /* mb_nb contains the number of macroblocks */ | 881 /* mb_nb contains the number of macroblocks */ |
882 /* encoded in the RTP payload */ | 882 /* encoded in the RTP payload */ |
883 void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb); | 883 void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb); |
884 | 884 |
885 /* statistics, used for 2-pass encoding */ | 885 /* statistics, used for 2-pass encoding */ |
886 int mv_bits; | 886 int mv_bits; |
887 int header_bits; | 887 int header_bits; |
1456 */ | 1456 */ |
1457 int color_table_id; | 1457 int color_table_id; |
1458 | 1458 |
1459 /** | 1459 /** |
1460 * internal_buffer count. | 1460 * internal_buffer count. |
1461 * Dont touch, used by lavc default_get_buffer() | 1461 * Don't touch, used by lavc default_get_buffer() |
1462 */ | 1462 */ |
1463 int internal_buffer_count; | 1463 int internal_buffer_count; |
1464 | 1464 |
1465 /** | 1465 /** |
1466 * internal_buffers. | 1466 * internal_buffers. |
1467 * Dont touch, used by lavc default_get_buffer() | 1467 * Don't touch, used by lavc default_get_buffer() |
1468 */ | 1468 */ |
1469 void *internal_buffer; | 1469 void *internal_buffer; |
1470 | 1470 |
1471 #define FF_LAMBDA_SHIFT 7 | 1471 #define FF_LAMBDA_SHIFT 7 |
1472 #define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT) | 1472 #define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT) |
2263 */ | 2263 */ |
2264 int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); | 2264 int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); |
2265 | 2265 |
2266 /** | 2266 /** |
2267 * rescale a 64bit integer with rounding to nearest. | 2267 * rescale a 64bit integer with rounding to nearest. |
2268 * a simple a*b/c isnt possible as it can overflow | 2268 * a simple a*b/c isn't possible as it can overflow |
2269 */ | 2269 */ |
2270 int64_t av_rescale(int64_t a, int64_t b, int64_t c); | 2270 int64_t av_rescale(int64_t a, int64_t b, int64_t c); |
2271 | 2271 |
2272 /** | 2272 /** |
2273 * rescale a 64bit integer with specified rounding. | 2273 * rescale a 64bit integer with specified rounding. |
2274 * a simple a*b/c isnt possible as it can overflow | 2274 * a simple a*b/c isn't possible as it can overflow |
2275 */ | 2275 */ |
2276 int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding); | 2276 int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding); |
2277 | 2277 |
2278 /** | 2278 /** |
2279 * rescale a 64bit integer by 2 rational numbers. | 2279 * rescale a 64bit integer by 2 rational numbers. |