Mercurial > libavcodec.hg
comparison avcodec.h @ 925:7fccaa0d699d libavcodec
AVVideoFrame -> AVFrame
author | michaelni |
---|---|
date | Mon, 09 Dec 2002 12:03:43 +0000 |
parents | 3814e9115672 |
children | 176fd8c8e8a8 |
comparison
equal
deleted
inserted
replaced
924:3814e9115672 | 925:7fccaa0d699d |
---|---|
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 4644 | 8 #define LIBAVCODEC_BUILD 4645 |
9 #define LIBAVCODEC_BUILD_STR "4644" | 9 #define LIBAVCODEC_BUILD_STR "4645" |
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, |
157 #define CODEC_CAP_PARSE_ONLY 0x0004 | 157 #define CODEC_CAP_PARSE_ONLY 0x0004 |
158 #define CODEC_CAP_TRUNCATED 0x0008 | 158 #define CODEC_CAP_TRUNCATED 0x0008 |
159 | 159 |
160 #define FRAME_RATE_BASE 10000 | 160 #define FRAME_RATE_BASE 10000 |
161 | 161 |
162 #define FF_COMMON_PICTURE \ | 162 #define FF_COMMON_FRAME \ |
163 uint8_t *data[4];\ | 163 uint8_t *data[4];\ |
164 int linesize[4];\ | 164 int linesize[4];\ |
165 /**\ | 165 /**\ |
166 * pointer to the first allocated byte of the picture. can be used in get_buffer/release_buffer\ | 166 * pointer to the first allocated byte of the picture. can be used in get_buffer/release_buffer\ |
167 * this isnt used by lavc unless the default get/release_buffer() is used\ | 167 * this isnt used by lavc unless the default get/release_buffer() is used\ |
277 #define FF_I_TYPE 1 // Intra | 277 #define FF_I_TYPE 1 // Intra |
278 #define FF_P_TYPE 2 // Predicted | 278 #define FF_P_TYPE 2 // Predicted |
279 #define FF_B_TYPE 3 // Bi-dir predicted | 279 #define FF_B_TYPE 3 // Bi-dir predicted |
280 #define FF_S_TYPE 4 // S(GMC)-VOP MPEG4 | 280 #define FF_S_TYPE 4 // S(GMC)-VOP MPEG4 |
281 | 281 |
282 typedef struct AVVideoFrame { | 282 typedef struct AVFrame { |
283 FF_COMMON_PICTURE | 283 FF_COMMON_FRAME |
284 } AVVideoFrame; | 284 } AVFrame; |
285 | 285 |
286 typedef struct AVCodecContext { | 286 typedef struct AVCodecContext { |
287 /** | 287 /** |
288 * the average bitrate | 288 * the average bitrate |
289 * encoding: set by user. unused for constant quantizer encoding | 289 * encoding: set by user. unused for constant quantizer encoding |
393 int frame_size; /* in samples, initialized when calling 'init' */ | 393 int frame_size; /* in samples, initialized when calling 'init' */ |
394 int frame_number; /* audio or video frame number */ | 394 int frame_number; /* audio or video frame number */ |
395 int real_pict_num; /* returns the real picture number of | 395 int real_pict_num; /* returns the real picture number of |
396 previous encoded frame */ | 396 previous encoded frame */ |
397 | 397 |
398 /** | |
399 * 1 -> keyframe, 0-> not (this if for audio only, for video, AVVideoFrame.key_frame should be used) | |
400 * encoding: set by lavc (for the outputed bitstream, not the input frame) | |
401 * decoding: set by lavc (for the decoded bitstream, not the displayed frame) | |
402 */ | |
403 int key_frame; | |
404 | |
405 /** | 398 /** |
406 * number of frames the decoded output will be delayed relative to | 399 * number of frames the decoded output will be delayed relative to |
407 * the encoded input | 400 * the encoded input |
408 * encoding: set by lavc. | 401 * encoding: set by lavc. |
409 * decoding: unused | 402 * decoding: unused |
572 * called at the beginning of each frame to get a buffer for it. | 565 * called at the beginning of each frame to get a buffer for it. |
573 * if pic.reference is set then the frame will be read later by lavc | 566 * if pic.reference is set then the frame will be read later by lavc |
574 * encoding: unused | 567 * encoding: unused |
575 * decoding: set by lavc, user can override | 568 * decoding: set by lavc, user can override |
576 */ | 569 */ |
577 int (*get_buffer)(struct AVCodecContext *c, AVVideoFrame *pic); | 570 int (*get_buffer)(struct AVCodecContext *c, AVFrame *pic); |
578 | 571 |
579 /** | 572 /** |
580 * called to release buffers which where allocated with get_buffer. | 573 * called to release buffers which where allocated with get_buffer. |
581 * a released buffer can be reused in get_buffer() | 574 * a released buffer can be reused in get_buffer() |
582 * pic.data[*] must be set to NULL | 575 * pic.data[*] must be set to NULL |
583 * encoding: unused | 576 * encoding: unused |
584 * decoding: set by lavc, user can override | 577 * decoding: set by lavc, user can override |
585 */ | 578 */ |
586 void (*release_buffer)(struct AVCodecContext *c, AVVideoFrame *pic); | 579 void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic); |
587 | 580 |
588 /** | 581 /** |
589 * is 1 if the decoded stream contains b frames, 0 otherwise | 582 * is 1 if the decoded stream contains b frames, 0 otherwise |
590 * encoding: unused | 583 * encoding: unused |
591 * decoding: set by lavc | 584 * decoding: set by lavc |
818 /** | 811 /** |
819 * the picture in the bitstream | 812 * the picture in the bitstream |
820 * encoding: set by lavc | 813 * encoding: set by lavc |
821 * decoding: set by lavc | 814 * decoding: set by lavc |
822 */ | 815 */ |
823 AVVideoFrame *coded_picture; | 816 AVFrame *coded_frame; |
824 | 817 |
825 /** | 818 /** |
826 * debug | 819 * debug |
827 * encoding: set by user. | 820 * encoding: set by user. |
828 * decoding: set by user. | 821 * decoding: set by user. |
999 AVCodec *avcodec_find_decoder_by_name(const char *name); | 992 AVCodec *avcodec_find_decoder_by_name(const char *name); |
1000 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); | 993 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); |
1001 | 994 |
1002 void avcodec_get_context_defaults(AVCodecContext *s); | 995 void avcodec_get_context_defaults(AVCodecContext *s); |
1003 AVCodecContext *avcodec_alloc_context(void); | 996 AVCodecContext *avcodec_alloc_context(void); |
1004 AVVideoFrame *avcodec_alloc_picture(void); | 997 AVFrame *avcodec_alloc_frame(void); |
1005 | 998 |
1006 int avcodec_default_get_buffer(AVCodecContext *s, AVVideoFrame *pic); | 999 int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); |
1007 void avcodec_default_release_buffer(AVCodecContext *s, AVVideoFrame *pic); | 1000 void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); |
1008 | 1001 |
1009 int avcodec_open(AVCodecContext *avctx, AVCodec *codec); | 1002 int avcodec_open(AVCodecContext *avctx, AVCodec *codec); |
1010 int avcodec_decode_audio(AVCodecContext *avctx, INT16 *samples, | 1003 int avcodec_decode_audio(AVCodecContext *avctx, INT16 *samples, |
1011 int *frame_size_ptr, | 1004 int *frame_size_ptr, |
1012 UINT8 *buf, int buf_size); | 1005 UINT8 *buf, int buf_size); |
1013 int avcodec_decode_video(AVCodecContext *avctx, AVVideoFrame *picture, | 1006 int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, |
1014 int *got_picture_ptr, | 1007 int *got_picture_ptr, |
1015 UINT8 *buf, int buf_size); | 1008 UINT8 *buf, int buf_size); |
1016 int avcodec_parse_frame(AVCodecContext *avctx, UINT8 **pdata, | 1009 int avcodec_parse_frame(AVCodecContext *avctx, UINT8 **pdata, |
1017 int *data_size_ptr, | 1010 int *data_size_ptr, |
1018 UINT8 *buf, int buf_size); | 1011 UINT8 *buf, int buf_size); |
1019 int avcodec_encode_audio(AVCodecContext *avctx, UINT8 *buf, int buf_size, | 1012 int avcodec_encode_audio(AVCodecContext *avctx, UINT8 *buf, int buf_size, |
1020 const short *samples); | 1013 const short *samples); |
1021 int avcodec_encode_video(AVCodecContext *avctx, UINT8 *buf, int buf_size, | 1014 int avcodec_encode_video(AVCodecContext *avctx, UINT8 *buf, int buf_size, |
1022 const AVVideoFrame *pict); | 1015 const AVFrame *pict); |
1023 | 1016 |
1024 int avcodec_close(AVCodecContext *avctx); | 1017 int avcodec_close(AVCodecContext *avctx); |
1025 | 1018 |
1026 void avcodec_register_all(void); | 1019 void avcodec_register_all(void); |
1027 | 1020 |