Lines Matching defs:bitmap

35     uint8_t bitmap[XFACE_PIXELS]; ///< image used internally for decoding
40 static int all_same(char *bitmap, int w, int h)
45 val = *bitmap;
47 row = bitmap;
52 bitmap += XFACE_WIDTH;
57 static int all_black(char *bitmap, int w, int h)
62 return (all_black(bitmap, w, h) && all_black(bitmap + w, w, h) &&
63 all_black(bitmap + XFACE_WIDTH * h, w, h) &&
64 all_black(bitmap + XFACE_WIDTH * h + w, w, h));
67 return *bitmap || *(bitmap + 1) ||
68 *(bitmap + XFACE_WIDTH) || *(bitmap + XFACE_WIDTH + 1);
72 static int all_white(char *bitmap, int w, int h)
74 return *bitmap == 0 && all_same(bitmap, w, h);
90 static void push_greys(ProbRangesQueue *pq, char *bitmap, int w, int h)
95 push_greys(pq, bitmap, w, h);
96 push_greys(pq, bitmap + w, w, h);
97 push_greys(pq, bitmap + XFACE_WIDTH * h, w, h);
98 push_greys(pq, bitmap + XFACE_WIDTH * h + w, w, h);
101 *bitmap +
102 2 * *(bitmap + 1) +
103 4 * *(bitmap + XFACE_WIDTH) +
104 8 * *(bitmap + XFACE_WIDTH + 1);
109 static void encode_block(char *bitmap, int w, int h, int level, ProbRangesQueue *pq)
111 if (all_white(bitmap, w, h)) {
113 } else if (all_black(bitmap, w, h)) {
115 push_greys(pq, bitmap, w, h);
121 encode_block(bitmap, w, h, level, pq);
122 encode_block(bitmap + w, w, h, level, pq);
123 encode_block(bitmap + h * XFACE_WIDTH, w, h, level, pq);
124 encode_block(bitmap + w + h * XFACE_WIDTH, w, h, level, pq);
160 /* convert image from MONOWHITE to 1=black 0=white bitmap */
165 xface->bitmap[i++] = (buf[j]>>(7-k))&1;
172 /* create a copy of bitmap */
173 memcpy(bitmap_copy, xface->bitmap, XFACE_PIXELS);
174 ff_xface_generate_face(xface->bitmap, bitmap_copy);
176 encode_block(xface->bitmap, 16, 16, 0, &pq);
177 encode_block(xface->bitmap + 16, 16, 16, 0, &pq);
178 encode_block(xface->bitmap + 32, 16, 16, 0, &pq);
179 encode_block(xface->bitmap + XFACE_WIDTH * 16, 16, 16, 0, &pq);
180 encode_block(xface->bitmap + XFACE_WIDTH * 16 + 16, 16, 16, 0, &pq);
181 encode_block(xface->bitmap + XFACE_WIDTH * 16 + 32, 16, 16, 0, &pq);
182 encode_block(xface->bitmap + XFACE_WIDTH * 32, 16, 16, 0, &pq);
183 encode_block(xface->bitmap + XFACE_WIDTH * 32 + 16, 16, 16, 0, &pq);
184 encode_block(xface->bitmap + XFACE_WIDTH * 32 + 32, 16, 16, 0, &pq);