On Sun, Dec 16, 2018 at 21:19:17 +0800, Steven Liu wrote:
> move the two if condition out of the loop, that can less n-1 times than 
> condition
> in loop.
[...]
>              k = -split_radix_permutation(i, n, s->inverse) & (n-1);
> -            if (s->revtab)
>                  s->revtab[k] = j;
> -            if (s->revtab32)
> -                s->revtab32[k] = j;
>          }

Does this really improve performance? You only save one if-check per
loop (as only one of s->revtab and s->revtab32 is defined). Benchmarks?

> +            if (s->revtab32) {
> +                for(i=0; i<n; i++) {
> +                    int k;
> +                    j = i;
> +                    if (s->fft_permutation == FF_FFT_PERM_SWAP_LSBS)
> +                        j = (j&~3) | ((j>>1)&1) | ((j<<1)&2);
> +                        k = -split_radix_permutation(i, n, s->inverse) & 
> (n-1);
> +                s->revtab32[k] = j;
> +            }
> +            }

On the other hand, all the code is duplicated. Is there a more elegant
way to do this?

Moritz
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to