static void init_demo(const char *filename)

{

    int i, j;

    int h;

    int radian;

    char line[3 * W];



    FILE *fichier;



    fichier = fopen(filename, "rb");

    if (!fichier) {

        perror(filename);

        exit(1);

    }



    fread(line, 1, 15, fichier);

    for (i = 0; i < H; i++) {

        fread(line, 1, 3 * W, fichier);

        for (j = 0; j < W; j++) {

            tab_r[W * i + j] = line[3 * j    ];

            tab_g[W * i + j] = line[3 * j + 1];

            tab_b[W * i + j] = line[3 * j + 2];

        }

    }

    fclose(fichier);



    /* tables sin/cos */

    for (i = 0; i < 360; i++) {

        radian = 2 * i * MY_PI / 360;

        h      = 2 * FIXP + int_sin (radian);

        h_cos[i] = h * int_sin(radian + MY_PI / 2) / 2 / FIXP;

        h_sin[i] = h * int_sin(radian)             / 2 / FIXP;

    }

}

static void init_demo(const char *filename)

{

    int i, j;

    int h;

    int radian;

    char line[3 * W];



    FILE *fichier;



    fichier = fopen(filename, "rb");

    if (!fichier) {

        perror(filename);

        exit(1);

    }



    fread(line, 1, 15, fichier);

    for (i = 0; i < H; i++) {

        fread(line, 1, 3 * W, fichier);

        for (j = 0; j < W; j++) {

            tab_r[W * i + j] = line[3 * j    ];

            tab_g[W * i + j] = line[3 * j + 1];

            tab_b[W * i + j] = line[3 * j + 2];

        }

    }

    fclose(fichier);



    

    for (i = 0; i < 360; i++) {

        radian = 2 * i * MY_PI / 360;

        h      = 2 * FIXP + int_sin (radian);

        h_cos[i] = h * int_sin(radian + MY_PI / 2) / 2 / FIXP;

        h_sin[i] = h * int_sin(radian)             / 2 / FIXP;

    }

}

static void FUNC_0(const char *VAR_0)

{

    int VAR_1, VAR_2;

    int VAR_3;

    int VAR_4;

    char VAR_5[3 * W];



    FILE *fichier;



    fichier = fopen(VAR_0, "rb");

    if (!fichier) {

        perror(VAR_0);

        exit(1);

    }



    fread(VAR_5, 1, 15, fichier);

    for (VAR_1 = 0; VAR_1 < H; VAR_1++) {

        fread(VAR_5, 1, 3 * W, fichier);

        for (VAR_2 = 0; VAR_2 < W; VAR_2++) {

            tab_r[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2    ];

            tab_g[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2 + 1];

            tab_b[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2 + 2];

        }

    }

    fclose(fichier);



    

    for (VAR_1 = 0; VAR_1 < 360; VAR_1++) {

        VAR_4 = 2 * VAR_1 * MY_PI / 360;

        VAR_3      = 2 * FIXP + int_sin (VAR_4);

        h_cos[VAR_1] = VAR_3 * int_sin(VAR_4 + MY_PI / 2) / 2 / FIXP;

        h_sin[VAR_1] = VAR_3 * int_sin(VAR_4)             / 2 / FIXP;

    }

}

static void FUNC_0(const char *VAR_0)
{ int VAR_1, VAR_2; int VAR_3; int VAR_4; char VAR_5[3 * W]; FILE *fichier; fichier = fopen(VAR_0, "rb"); if (!fichier) { perror(VAR_0); exit(1); } fread(VAR_5, 1, 15, fichier); for (VAR_1 = 0; VAR_1 < H; VAR_1++) { fread(VAR_5, 1, 3 * W, fichier); for (VAR_2 = 0; VAR_2 < W; VAR_2++) { tab_r[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2    ]; tab_g[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2 + 1]; tab_b[W * VAR_1 + VAR_2] = VAR_5[3 * VAR_2 + 2]; } } fclose(fichier); for (VAR_1 = 0; VAR_1 < 360; VAR_1++) { VAR_4 = 2 * VAR_1 * MY_PI / 360; VAR_3      = 2 * FIXP + int_sin (VAR_4); h_cos[VAR_1] = VAR_3 * int_sin(VAR_4 + MY_PI / 2) / 2 / FIXP; h_sin[VAR_1] = VAR_3 * int_sin(VAR_4)             / 2 / FIXP; } }