Lines Matching defs:out_n
2708 static int create_png_image_raw(png *a, uint8 *raw, uint32 raw_len, int out_n, uint32 x, uint32 y)
2711 uint32 i,j,stride = x*out_n;
2714 assert(out_n == s->img_n || out_n == s->img_n+1);
2716 a->out = MALLOC(x * y * out_n);
2744 if (img_n != out_n) cur[img_n] = 255;
2746 cur += out_n;
2747 prior += out_n;
2749 if (img_n == out_n) {
2772 assert(img_n+1 == out_n);
2775 for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \
2780 CASE(F_sub) cur[k] = raw[k] + cur[k-out_n];
2784 CASE(F_avg) cur[k] = raw[k] + ((prior[k] + cur[k-out_n])>>1);
2786 CASE(F_paeth) cur[k] = (uint8) (raw[k] + paeth(cur[k-out_n],prior[k],prior[k-out_n]));
2788 CASE(F_avg_first) cur[k] = raw[k] + (cur[k-out_n] >> 1);
2790 CASE(F_paeth_first) cur[k] = (uint8) (raw[k] + paeth(cur[k-out_n],0,0));
2799 static int create_png_image(png *a, uint8 *raw, uint32 raw_len, int out_n, int interlaced)
2805 return create_png_image_raw(a, raw, raw_len, out_n, a->s.img_x, a->s.img_y);
2810 final = MALLOC(a->s.img_x * a->s.img_y * out_n);
2821 if (!create_png_image_raw(a, raw, raw_len, out_n, x, y)) {
2827 memcpy(final + (j*yspc[p]+yorig[p])*a->s.img_x*out_n + (i*xspc[p]+xorig[p])*out_n,
2828 a->out + (j*x+i)*out_n, out_n);
2830 raw += (x*out_n+1)*y;
2831 raw_len -= (x*out_n+1)*y;
2840 static int compute_transparency(png *z, uint8 tc[3], int out_n)
2848 assert(out_n == 2 || out_n == 4);
2850 if (out_n == 2) {