#define FFMPEG_VERSION_INT 0x000408
#define FFMPEG_VERSION "0.4.8"
-#define LIBAVCODEC_BUILD 4714
+#define LIBAVCODEC_BUILD 4717
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
#define LIBAVCODEC_VERSION FFMPEG_VERSION
CODEC_ID_MPEG1VIDEO,
CODEC_ID_MPEG2VIDEO, /* prefered ID for MPEG Video 1 or 2 decoding */
CODEC_ID_MPEG2VIDEO_XVMC,
+ CODEC_ID_H261,
CODEC_ID_H263,
CODEC_ID_RV10,
CODEC_ID_RV20,
#define CODEC_CAP_TRUNCATED 0x0008
/* codec can export data for HW decoding (XvMC) */
#define CODEC_CAP_HWACCEL 0x0010
+/** codec has a non zero delay and needs to be feeded with NULL at the end to get the delayed data */
+#define CODEC_CAP_DELAY 0x0020
//the following defines might change, so dont expect compatibility if u use them
#define MB_TYPE_INTRA4x4 0x0001
void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic);
/**
- * is 1 if the decoded stream contains b frames, 0 otherwise.
- * - encoding: unused
+ * if 1 the stream has a 1 frame delay during decoding.
+ * - encoding: set by lavc
* - decoding: set by lavc
*/
int has_b_frames;
#define FF_CMP_ZERO 7
#define FF_CMP_VSAD 8
#define FF_CMP_VSSE 9
+#define FF_CMP_NSSE 10
#define FF_CMP_CHROMA 256
/**
int mb_threshold;
/**
- *
+ * precision of the intra dc coefficient - 8.
* - encoding: set by user
* - decoding: unused
*/
int intra_dc_precision;
+
+ /**
+ * noise vs. sse weight for the nsse comparsion function.
+ * - encoding: set by user
+ * - decoding: unused
+ */
+ int nsse_weight;
+
+ /**
+ * number of macroblock rows at the top which are skiped.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ int skip_top;
+
+ /**
+ * number of macroblock rows at the bottom which are skiped.
+ * - encoding: unused
+ * - decoding: set by user
+ */
+ int skip_bottom;
} AVCodecContext;
extern AVCodec svq1_encoder;
extern AVCodec h263_decoder;
+extern AVCodec h261_decoder;
extern AVCodec mpeg4_decoder;
extern AVCodec msmpeg4v1_decoder;
extern AVCodec msmpeg4v2_decoder;
/* resample.c */
struct ReSampleContext;
+struct AVResampleContext;
typedef struct ReSampleContext ReSampleContext;
int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);
void audio_resample_close(ReSampleContext *s);
+struct AVResampleContext *av_resample_init(int out_rate, int in_rate);
+int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);
+
/* YUV420 format is assumed ! */
struct ImgReSampleContext;
/* private data */
int64_t last_pts;
int64_t last_dts;
+ int fetch_timestamp;
#define AV_PARSER_PTS_NB 4
int cur_frame_start_index;
extern AVCodecParser mpegvideo_parser;
extern AVCodecParser mpeg4video_parser;
+extern AVCodecParser h261_parser;
extern AVCodecParser h263_parser;
extern AVCodecParser h264_parser;
extern AVCodecParser mpegaudio_parser;
#define AV_LOG_INFO 1
#define AV_LOG_DEBUG 2
+#ifdef __GNUC__
extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
+#else
+extern void av_log(void*, int level, const char *fmt, ...);
+#endif
+
extern void av_vlog(void*, int level, const char *fmt, va_list);
extern int av_log_get_level(void);
extern void av_log_set_level(int);