Lines Matching refs:dc

110   stpi_dither_channel_t *dc = &(CHANNEL(d, idx));
114 memset(dc, 0, sizeof(stpi_dither_channel_t));
115 stp_dither_matrix_clone(&(d->dither_matrix), &(dc->dithermat), 0, 0);
175 stpi_dither_channel_t *dc = &(CHANNEL(d, i));
176 stp_dither_matrix_clone(&(d->dither_matrix), &(dc->dithermat),
178 stp_dither_matrix_clone(&(d->dither_matrix), &(dc->pick),
201 stpi_dither_finalize_ranges(stp_vars_t *v, stpi_dither_channel_t *dc)
205 unsigned lbit = dc->bit_max;
206 dc->signif_bits = 0;
209 dc->signif_bits++;
213 for (i = 0; i < dc->nlevels; i++)
215 if (dc->ranges[i].lower->bits == dc->ranges[i].upper->bits)
216 dc->ranges[i].is_same_ink = 1;
218 dc->ranges[i].is_same_ink = 0;
219 if (dc->ranges[i].range_span > 0 && dc->ranges[i].value_span > 0)
220 dc->ranges[i].is_equal = 0;
222 dc->ranges[i].is_equal = 1;
226 i, dc->ranges[i].lower->value, dc->ranges[i].upper->value,
227 dc->ranges[i].lower->range, dc->ranges[i].upper->range);
230 dc->ranges[i].lower->bits, dc->ranges[i].upper->bits);
233 dc->ranges[i].range_span, dc->ranges[i].value_span,
234 dc->ranges[i].is_same_ink, dc->ranges[i].is_equal);
235 if (i > 0 && dc->ranges[i].lower->range >= d->adaptive_limit)
237 d->adaptive_limit = dc->ranges[i].lower->range + 1;
244 for (i = 0; i <= dc->nlevels; i++)
247 i, dc->ink_list[i].range,
248 dc->ink_list[i].value, dc->ink_list[i].bits);
249 if (dc->nlevels == 1 && dc->ranges[0].upper->bits == 1)
250 dc->very_fast = 1;
252 dc->very_fast = 0;
255 " bit_max %d signif_bits %d\n", dc->bit_max, dc->signif_bits);
263 stpi_dither_channel_t *dc = &(CHANNEL(d, color));
268 STP_SAFE_FREE(dc->ranges);
269 STP_SAFE_FREE(dc->ink_list);
271 dc->nlevels = nlevels > 1 ? nlevels + 1 : nlevels;
272 dc->ranges = (stpi_dither_segment_t *)
273 stp_zalloc(dc->nlevels * sizeof(stpi_dither_segment_t));
274 dc->ink_list = (stpi_ink_defn_t *)
275 stp_zalloc((dc->nlevels + 1) * sizeof(stpi_ink_defn_t));
276 dc->bit_max = 0;
277 dc->density = density * 65535;
278 dc->darkness = darkness;
287 dc->ranges[0].lower = &dc->ink_list[0];
288 dc->ranges[0].upper = &dc->ink_list[1];
289 dc->ink_list[0].range = 0;
290 dc->ink_list[0].value = 0;
291 dc->ink_list[0].bits = 0;
293 dc->ink_list[1].range = 65535;
295 dc->ink_list[1].range = ranges[0].value * 65535.0 * density;
296 if (dc->ink_list[1].range > 65535)
297 dc->ink_list[1].range = 65535;
298 dc->ink_list[1].value = ranges[0].value * 65535.0;
299 if (dc->ink_list[1].value > 65535)
300 dc->ink_list[1].value = 65535;
301 dc->ink_list[1].bits = ranges[0].bit_pattern;
302 if (ranges[0].bit_pattern > dc->bit_max)
303 dc->bit_max = ranges[0].bit_pattern;
304 dc->ranges[0].range_span = dc->ranges[0].upper->range;
305 dc->ranges[0].value_span = dc->ranges[0].upper->value;
306 if (dc->nlevels > 1)
311 dc->ranges[i].lower = &dc->ink_list[i];
312 dc->ranges[i].upper = &dc->ink_list[l];
314 dc->ink_list[l].range =
316 if (dc->ink_list[l].range > 65535)
317 dc->ink_list[l].range = 65535;
318 dc->ink_list[l].value = ranges[i].value * 65535.0;
319 if (dc->ink_list[l].value > 65535)
320 dc->ink_list[l].value = 65535;
321 dc->ink_list[l].bits = ranges[i].bit_pattern;
322 if (ranges[i].bit_pattern > dc->bit_max)
323 dc->bit_max = ranges[i].bit_pattern;
324 dc->ranges[i].range_span =
325 dc->ink_list[l].range - dc->ink_list[i].range;
326 dc->ranges[i].value_span =
327 dc->ink_list[l].value - dc->ink_list[i].value;
329 dc->ranges[i].lower = &dc->ink_list[i];
330 dc->ranges[i].upper = &dc->ink_list[i+1];
331 dc->ink_list[i+1] = dc->ink_list[i];
332 dc->ink_list[i+1].range = 65535;
333 dc->ranges[i].range_span =
334 dc->ink_list[i+1].range - dc->ink_list[i].range;
335 dc->ranges[i].value_span =
336 dc->ink_list[i+1].value - dc->ink_list[i].value;
338 stpi_dither_finalize_ranges(v, dc);
370 stpi_dither_channel_t *dc;
381 dc = &(CHANNEL(d, idx));