On Sat, Jul 01, 2017 at 17:03:46 +0300, foo86 wrote:
> +static av_cold void init_tables(void)
> +{
> + int i, j;
> +
> + for (i = 1; i < 17; i++)
> + mantissa_tab1[i][0] = 1.0 / (1 << i - 1);
> +
> + for (i = 2; i < 16; i++) {
> + mantissa_tab1[i][1] = 1.0 / ((1 << i) - 1);
> + mantissa_tab1[i][2] = 0.5 / ((1 << i) - 1);
> + mantissa_tab1[i][3] = 0.25 / ((1 << i) - 1);
> + }
> +
> + mantissa_tab1[i][1] = 0.5 / (1 << 15);
> + mantissa_tab1[i][2] = 0.75 / (1 << 15);
> + mantissa_tab1[i][3] = 0.875 / (1 << 15);
> +
> + for (i = 1; i < 17; i++) {
> + mantissa_tab2[i][1] = mantissa_tab1[i][0] * 0.5;
> + mantissa_tab2[i][2] = mantissa_tab1[i][0] * 0.75;
> + mantissa_tab2[i][3] = mantissa_tab1[i][0] * 0.875;
> + for (j = 1; j < 4; j++)
> + mantissa_tab3[i][j] = 1.0 / (1 << i) + 1.0 / (1 << j) - 1.0 / (1
> << i + j);
> + }
> +
> + mantissa_tab3[1][3] = 0.6875;
> +
> + for (i = 0; i < 25; i++) {
> + exponent_tab[i * 2 ] = 1.0 / (1 << i);
> + exponent_tab[i * 2 + 1] = M_SQRT1_2 / (1 << i);
> + }
The literal numerical constants used in the quoted section should
probably get 'f' suffixes, to force single precision operations. (Not
that it matters much in the init code.)
Moritz
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel