Commit 33f70334 authored by Michael Niedermayer's avatar Michael Niedermayer

swr: automatically choose s16/flt/dbl to preserve input precision unless user overrides.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f2e799a3
......@@ -208,11 +208,16 @@ int swr_init(struct SwrContext *s){
return AVERROR(EINVAL);
}
//FIXME should we allow/support using FLT on material that doesnt need it ?
if(av_get_planar_sample_fmt(s->in_sample_fmt) <= AV_SAMPLE_FMT_S16P || s->int_sample_fmt==AV_SAMPLE_FMT_S16P){
s->int_sample_fmt= AV_SAMPLE_FMT_S16P;
}else
s->int_sample_fmt= AV_SAMPLE_FMT_FLTP;
if(s->int_sample_fmt == AV_SAMPLE_FMT_NONE){
if(av_get_planar_sample_fmt(s->in_sample_fmt) <= AV_SAMPLE_FMT_S16P){
s->int_sample_fmt= AV_SAMPLE_FMT_S16P;
}else if(av_get_planar_sample_fmt(s->in_sample_fmt) <= AV_SAMPLE_FMT_FLTP){
s->int_sample_fmt= AV_SAMPLE_FMT_FLTP;
}else{
av_log(s, AV_LOG_DEBUG, "Using double precission mode\n");
s->int_sample_fmt= AV_SAMPLE_FMT_DBLP;
}
}
if( s->int_sample_fmt != AV_SAMPLE_FMT_S16P
&&s->int_sample_fmt != AV_SAMPLE_FMT_S32P
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment