diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/avcodec.h')
-rw-r--r-- | src/libffmpeg/libavcodec/avcodec.h | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/libffmpeg/libavcodec/avcodec.h b/src/libffmpeg/libavcodec/avcodec.h index ceb38dba4..7dbcc46af 100644 --- a/src/libffmpeg/libavcodec/avcodec.h +++ b/src/libffmpeg/libavcodec/avcodec.h @@ -5,8 +5,8 @@ #define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION "0.4.6" -#define LIBAVCODEC_BUILD 4617 -#define LIBAVCODEC_BUILD_STR "4617" +#define LIBAVCODEC_BUILD 4619 +#define LIBAVCODEC_BUILD_STR "4619" enum CodecID { CODEC_ID_NONE, @@ -37,6 +37,11 @@ enum CodecID { CODEC_ID_PCM_U8, CODEC_ID_PCM_MULAW, CODEC_ID_PCM_ALAW, + + /* various adpcm codecs */ + CODEC_ID_ADPCM_IMA_QT, + CODEC_ID_ADPCM_IMA_WAV, + CODEC_ID_ADPCM_MS, }; #define CODEC_ID_MSMPEG4 CODEC_ID_MSMPEG4V3 @@ -54,6 +59,8 @@ enum PixelFormat { PIX_FMT_BGR24, PIX_FMT_YUV422P, PIX_FMT_YUV444P, + PIX_FMT_RGBA32, + PIX_FMT_BGRA32, PIX_FMT_YUV410P }; @@ -108,6 +115,9 @@ static const int Motion_Est_QTab[] = { ME_ZERO, ME_PHODS, ME_LOG, /* decoder can use draw_horiz_band callback */ #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 #define CODEC_CAP_DR1 0x0002 /* direct rendering method 1 */ +/* if 'parse_only' field is true, then avcodec_parse_frame() can be + used */ +#define CODEC_CAP_PARSE_ONLY 0x0004 #define FRAME_RATE_BASE 10000 @@ -253,8 +263,8 @@ typedef struct AVCodecContext { #define QP_TYPE int //FIXME note xxx this might be changed to int8_t QP_TYPE *quant_store; /* field for communicating with external postprocessing */ - unsigned qstride; + unsigned qstride; uint8_t *dr_buffer[3]; int dr_stride; void *dr_opaque_frame; @@ -263,6 +273,12 @@ typedef struct AVCodecContext { int has_b_frames; // is 1 if the decoded stream contains b frames int dr_uvstride; int dr_ip_buffer_count; + int block_align; /* currently only for adpcm codec in wav/avi */ + + int parse_only; /* decoding only: if true, only parsing is done + (function avcodec_parse_frame()). The frame + data is returned. Only MPEG codecs support this now. */ + int mpeg_quant; /* 0-> h263 quant 1-> mpeg quant */ //FIXME this should be reordered after kabis API is finished ... /* @@ -285,8 +301,6 @@ typedef struct AVCodecContext { unsigned long int ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; - unsigned int - ui_res0,ui_res1,ui_res2; unsigned short int us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; @@ -376,6 +390,12 @@ PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); +/* adpcm codecs */ + +PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); +PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); +PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); + #undef PCM_CODEC /* dummy raw video codec */ @@ -447,6 +467,9 @@ int avcodec_decode_audio(AVCodecContext *avctx, INT16 *samples, int avcodec_decode_video(AVCodecContext *avctx, AVPicture *picture, int *got_picture_ptr, UINT8 *buf, int buf_size); +int avcodec_parse_frame(AVCodecContext *avctx, UINT8 **pdata, + int *data_size_ptr, + UINT8 *buf, int buf_size); int avcodec_encode_audio(AVCodecContext *avctx, UINT8 *buf, int buf_size, const short *samples); int avcodec_encode_video(AVCodecContext *avctx, UINT8 *buf, int buf_size, |