#include float f[96][128][4]; #define Y(x,y) f[y][x][0] #define U(x,y) f[y][x][1] #define V(x,y) f[y][x][2] void FOUT (float f) { int c = f; if (c < 0) c = 0; if (c > 255) c = 255; putchar (c); } main () { int x, y, i; FILE *w = stdin; for (y = 0; y < 48; ++y) { for (x = 0; x < 64; ++x) { Y (x, y) = getc (w); V (x, y) = getc (w); } for (x = 0; x < 64; ++x) { U (x, y) = getc (w); getc (w); } } printf ("P6\n64 48\n255\n"); for (y = 0; y < 48; ++y) for (x = 0; x < 64; ++x) { float r, g, b; r = (1.164 * (Y (x, y) - 16)) + (1.596 * (U (x, y) - 128)); g = (1.164 * (Y (x, y) - 16)) - (0.813 * (U (x, y) - 128)) - (0.391 * (V (x, y) - 128)); b = (1.164 * (Y (x, y) - 16)) + (2.018 * (V (x, y) - 128)); r = V (x, y); g = Y (x, y); b = U (x, y); FOUT (r); FOUT (g); FOUT (b); } return 0; }