29 #define FIXP (1 << 16)
58 static unsigned char tab_r[256 * 256];
59 static unsigned char tab_g[256 * 256];
60 static unsigned char tab_b[256 * 256];
69 int frac_x = x & 0xFFFF;
70 int frac_y = y & 0xFFFF;
71 int s00 =
src[( int_x & 255) + 256 * ( int_y & 255)];
72 int s01 =
src[((int_x + 1) & 255) + 256 * ( int_y & 255)];
73 int s10 =
src[( int_x & 255) + 256 * ((int_y + 1) & 255)];
74 int s11 =
src[((int_x + 1) & 255) + 256 * ((int_y + 1) & 255)];
75 int s0 = (((1 << 16) - frac_x) * s00 + frac_x * s01) >> 8;
76 int s1 = (((1 << 16) - frac_x) * s10 + frac_x * s11) >> 8;
78 return (((1 << 16) - frac_y) *
s0 + frac_y *
s1) >> 24;
83 const int c =
h_cos[num % 360];
84 const int s =
h_sin[num % 360];
86 const int xi = -(
w / 2) *
c;
87 const int yi = (
w / 2) *
s;
89 const int xj = -(
h / 2) *
s;
90 const int yj = -(
h / 2) *
c;
97 for (j = 0; j <
h; j++) {
101 y = yprime + yi +
FIXP *
h / 2;
104 for (
i = 0;
i <
w;
i++) {
127 input_file = fopen(filename,
"rb");
133 if (fread(
line, 1, 15, input_file) != 15)
135 for (
i = 0;
i <
H;
i++) {
136 if (fread(
line, 1, 3 *
W, input_file) != 3 *
W)
138 for (j = 0; j <
W; j++) {
147 for (
i = 0;
i < 360;
i++) {
148 radian = 2 *
i *
MY_PI / 360;
157 int main(
int argc,
char **argv)
164 printf(
"usage: %s image.pnm file|dir\n"
165 "generate a test video stream\n", argv[0]);
169 if (!freopen(argv[2],
"wb", stdout))
186 snprintf(buf,
sizeof(buf),
"%s%02d.pgm", argv[2],
i);
#define xi(width, name, var, range_min, range_max, subs,...)
static void put_pixel(uint16_t *dst, ptrdiff_t linesize, const int16_t *in, int bits_per_raw_sample)
Add bias value, clamp and output pixels of a slice.
static int ipol(uint8_t *src, int x, int y)
static unsigned char tab_r[256 *256]
int main(int argc, char **argv)
static int64_t int_sin(int64_t a)
static unsigned char tab_b[256 *256]
static unsigned char tab_g[256 *256]
static void gen_image(int num, int w, int h)
static int init_demo(const char *filename)
static int64_t int_pow(int64_t a, int p)
static unsigned char * rgb_tab
static void pgmyuv_save(const char *filename, int w, int h, const unsigned char *rgb_tab)