X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libswresample%2Fswresample.c;h=e02ec81db60500beebf1b59cb50196aadb3868e0;hb=2605967f7eb50156a60a7a2dac5eb7fca1d9de3a;hp=8e238998e96842168e26c50db0d910975e6db0dc;hpb=0479cf8530d0192c537b1ea77c882494a17bf593;p=ffmpeg diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 8e238998e96..e02ec81db60 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -213,10 +213,10 @@ av_cold int swr_init(struct SwrContext *s){ s->rematrix_custom; if(s->int_sample_fmt == AV_SAMPLE_FMT_NONE){ - if( av_get_planar_sample_fmt(s-> in_sample_fmt) <= AV_SAMPLE_FMT_S16P - && av_get_planar_sample_fmt(s->out_sample_fmt) <= AV_SAMPLE_FMT_S16P){ + if( av_get_bytes_per_sample(s-> in_sample_fmt) <= 2 + && av_get_bytes_per_sample(s->out_sample_fmt) <= 2){ s->int_sample_fmt= AV_SAMPLE_FMT_S16P; - }else if( av_get_planar_sample_fmt(s-> in_sample_fmt) <= AV_SAMPLE_FMT_S16P + }else if( av_get_bytes_per_sample(s-> in_sample_fmt) <= 2 && !s->rematrix && s->out_sample_rate==s->in_sample_rate && !(s->flags & SWR_FLAG_RESAMPLE)){ @@ -226,7 +226,7 @@ av_cold int swr_init(struct SwrContext *s){ && !s->rematrix && s->engine != SWR_ENGINE_SOXR){ s->int_sample_fmt= AV_SAMPLE_FMT_S32P; - }else if(av_get_planar_sample_fmt(s->in_sample_fmt) <= AV_SAMPLE_FMT_FLTP){ + }else if(av_get_bytes_per_sample(s->in_sample_fmt) <= 4){ s->int_sample_fmt= AV_SAMPLE_FMT_FLTP; }else{ s->int_sample_fmt= AV_SAMPLE_FMT_DBLP;