summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/avcodec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/libavcodec/avcodec.h')
-rw-r--r--src/libffmpeg/libavcodec/avcodec.h33
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,