aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/options.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-10-20 02:23:36 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-10-20 02:34:51 +0200
commitd0492578c805cfd41673aa2cdadf52efde40e307 (patch)
tree14fa2c0efa9f3a2c16d946cad36bc10edf0b39f6 /libavcodec/options.c
parent9ef714328c9527f67be193a120821048b1fe86b5 (diff)
parent8096fdf0b6886305ea1a8cb2c869ab2732cd8e11 (diff)
downloadffmpeg-d0492578c805cfd41673aa2cdadf52efde40e307.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: presets: rename presets directory lavc: make avcodec_get_context_defaults3 "officially" public lavf: replace av_new_stream->avformat_new_stream part II. lavf,lavd: replace av_new_stream->avformat_new_stream part I. lavf: add avformat_new_stream as a replacement for av_new_stream. Use correct scaling table for bwd-pred MVs in second B-field Ut Video decoder Makefile: change presets extension to .avpreset lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs lavfi: add testsrc source AVOptions: add documentation. presets: update libx264 ffpresets Conflicts: Changelog doc/APIchanges doc/ffmpeg.texi ffpresets/libx264-ipod320.ffpreset ffpresets/libx264-ipod640.ffpreset ffserver.c libavcodec/avcodec.h libavcodec/options.c libavcodec/version.h libavdevice/libdc1394.c libavfilter/avfilter.h libavfilter/vsrc_testsrc.c libavformat/flvdec.c libavformat/riff.c libavformat/version.h libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/options.c')
-rw-r--r--libavcodec/options.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/libavcodec/options.c b/libavcodec/options.c
index 4f7609d835..d494efe12b 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -532,37 +532,41 @@ static const AVClass av_codec_context_class = {
.child_class_next = codec_child_class_next,
};
+#if FF_API_ALLOC_CONTEXT
void avcodec_get_context_defaults2(AVCodecContext *s, enum AVMediaType codec_type){
+ AVCodec c= {0};
+ c.type= codec_type;
+ avcodec_get_context_defaults3(s, &c);
+}
+#endif
+
+int avcodec_get_context_defaults3(AVCodecContext *s, AVCodec *codec){
int flags=0;
memset(s, 0, sizeof(AVCodecContext));
- s->av_class= &av_codec_context_class;
+ s->av_class = &av_codec_context_class;
- s->codec_type = codec_type;
- if(codec_type == AVMEDIA_TYPE_AUDIO)
+ s->codec_type = codec ? codec->type : AVMEDIA_TYPE_UNKNOWN;
+ if(s->codec_type == AVMEDIA_TYPE_AUDIO)
flags= AV_OPT_FLAG_AUDIO_PARAM;
- else if(codec_type == AVMEDIA_TYPE_VIDEO)
+ else if(s->codec_type == AVMEDIA_TYPE_VIDEO)
flags= AV_OPT_FLAG_VIDEO_PARAM;
- else if(codec_type == AVMEDIA_TYPE_SUBTITLE)
+ else if(s->codec_type == AVMEDIA_TYPE_SUBTITLE)
flags= AV_OPT_FLAG_SUBTITLE_PARAM;
av_opt_set_defaults2(s, flags, flags);
- s->time_base= (AVRational){0,1};
- s->get_buffer= avcodec_default_get_buffer;
- s->release_buffer= avcodec_default_release_buffer;
- s->get_format= avcodec_default_get_format;
- s->execute= avcodec_default_execute;
- s->execute2= avcodec_default_execute2;
- s->sample_aspect_ratio= (AVRational){0,1};
- s->pix_fmt= PIX_FMT_NONE;
- s->sample_fmt= AV_SAMPLE_FMT_NONE;
-
- s->reget_buffer= avcodec_default_reget_buffer;
- s->reordered_opaque= AV_NOPTS_VALUE;
-}
-
-int avcodec_get_context_defaults3(AVCodecContext *s, AVCodec *codec){
- avcodec_get_context_defaults2(s, codec ? codec->type : AVMEDIA_TYPE_UNKNOWN);
+ s->time_base = (AVRational){0,1};
+ s->get_buffer = avcodec_default_get_buffer;
+ s->release_buffer = avcodec_default_release_buffer;
+ s->get_format = avcodec_default_get_format;
+ s->execute = avcodec_default_execute;
+ s->execute2 = avcodec_default_execute2;
+ s->sample_aspect_ratio = (AVRational){0,1};
+ s->pix_fmt = PIX_FMT_NONE;
+ s->sample_fmt = AV_SAMPLE_FMT_NONE;
+
+ s->reget_buffer = avcodec_default_reget_buffer;
+ s->reordered_opaque = AV_NOPTS_VALUE;
if(codec && codec->priv_data_size){
if(!s->priv_data){
s->priv_data= av_mallocz(codec->priv_data_size);
@@ -610,13 +614,11 @@ AVCodecContext *avcodec_alloc_context2(enum AVMediaType codec_type){
return avctx;
}
-#endif
void avcodec_get_context_defaults(AVCodecContext *s){
avcodec_get_context_defaults2(s, AVMEDIA_TYPE_UNKNOWN);
}
-#if FF_API_ALLOC_CONTEXT
AVCodecContext *avcodec_alloc_context(void){
return avcodec_alloc_context2(AVMEDIA_TYPE_UNKNOWN);
}