On Thu, 16 Mar 2017 12:43:10 +0700
Muhammad Faiz <mfc...@gmail.com> wrote:

> use fltp when doing s32 -> s32 resampling
> because s32p has no simd optimization
> 
> benchmark:
> old 17.913s
> new  7.584s (use fma3)
> 
> Signed-off-by: Muhammad Faiz <mfc...@gmail.com>
> ---
>  libswresample/swresample.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libswresample/swresample.c b/libswresample/swresample.c
> index f2e6600..74c96dc 100644
> --- a/libswresample/swresample.c
> +++ b/libswresample/swresample.c
> @@ -223,6 +223,8 @@ av_cold int swr_init(struct SwrContext *s){
>          }else if(   av_get_planar_sample_fmt(s-> in_sample_fmt) == 
> AV_SAMPLE_FMT_S32P
>                   && av_get_planar_sample_fmt(s->out_sample_fmt) == 
> AV_SAMPLE_FMT_S32P
>                   && !s->rematrix
> +                 && s->out_sample_rate == s->in_sample_rate
> +                 && !(s->flags & SWR_FLAG_RESAMPLE)
>                   && s->engine != SWR_ENGINE_SOXR){
>              s->int_sample_fmt= AV_SAMPLE_FMT_S32P;
>          }else if(av_get_bytes_per_sample(s->in_sample_fmt) <= 4){

Wouldn't going over float lose bits? I guess most times, s32 is
actually 24 bit padded (since we have no 24 bit format). But it could
be true 32 bit as well (with all bits used). Or does it use double, or
am I missing something else?
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to