diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-09-19 09:13:43 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-09-19 09:13:43 +0000 |
commit | a949d72e0e4d0c42991b96374291092ac10c29f2 (patch) | |
tree | 067931817a2182e701f2642ca15a81a72fafc2b4 | |
parent | 947ac25a4432192ff5dff5288f2e28334333e59a (diff) | |
download | ffmpeg-a949d72e0e4d0c42991b96374291092ac10c29f2.tar.gz |
avcodec_alloc_context()
Originally committed as revision 954 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/avcodec.h | 11 | ||||
-rw-r--r-- | libavcodec/utils.c | 21 |
2 files changed, 28 insertions, 4 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index acedebaf34..46cfb4fab9 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -5,8 +5,8 @@ #define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION "0.4.6" -#define LIBAVCODEC_BUILD 4623 -#define LIBAVCODEC_BUILD_STR "4623" +#define LIBAVCODEC_BUILD 4624 +#define LIBAVCODEC_BUILD_STR "4624" enum CodecID { CODEC_ID_NONE, @@ -100,8 +100,10 @@ static const int Motion_Est_QTab[] = { ME_ZERO, ME_PHODS, ME_LOG, #define FF_MAX_B_FRAMES 4 -/* encoding support */ -/* note not everything is supported yet */ +/* encoding support + these flags can be passed in AVCodecContext.flags before initing + Note: note not everything is supported yet +*/ #define CODEC_FLAG_HQ 0x0001 /* high quality (non real time) encoding */ #define CODEC_FLAG_QSCALE 0x0002 /* use fixed qscale */ @@ -514,6 +516,7 @@ AVCodec *avcodec_find_decoder(enum CodecID id); AVCodec *avcodec_find_decoder_by_name(const char *name); void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); +AVCodecContext *avcodec_alloc_context(); int avcodec_open(AVCodecContext *avctx, AVCodec *codec); int avcodec_decode_audio(AVCodecContext *avctx, INT16 *samples, int *frame_size_ptr, diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 943614da65..1c696e7935 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -49,6 +49,27 @@ void register_avcodec(AVCodec *format) format->next = NULL; } +void avcodec_get_context_defaults(AVCodecContext *s){ + s->qmin= 2; + s->qmax= 31; + s->rc_eq= "tex^qComp"; + s->qcompress= 0.5; +} + +/** + * allocates a AVCodecContext and set it to defaults. + * this can be deallocated by simply calling free() + */ +AVCodecContext *avcodec_alloc_context(){ + AVCodecContext *avctx= av_mallocz(sizeof(AVCodecContext)); + + if(avctx==NULL) return NULL; + + avcodec_get_context_defaults(avctx); + + return avctx; +} + int avcodec_open(AVCodecContext *avctx, AVCodec *codec) { int ret; |