Lines Matching defs:prec
280 Jpeg2000Prec *prec = band->prec + precno;
283 prec->decoded_layers = 0;
289 prec->coord[0][0] = ((reslevel->coord[0][0] >> reslevel->log2_prec_width) + precno % reslevel->num_precincts_x) *
293 prec->coord[1][0] = ((reslevel->coord[1][0] >> reslevel->log2_prec_height) + precno / reslevel->num_precincts_x) *
297 prec->coord[0][1] = prec->coord[0][0] +
299 prec->coord[0][0] = FFMAX(prec->coord[0][0], band->coord[0][0]);
300 prec->coord[0][1] = FFMIN(prec->coord[0][1], band->coord[0][1]);
303 prec->coord[1][1] = prec->coord[1][0] +
305 prec->coord[1][0] = FFMAX(prec->coord[1][0], band->coord[1][0]);
306 prec->coord[1][1] = FFMIN(prec->coord[1][1], band->coord[1][1]);
308 prec->nb_codeblocks_width =
309 ff_jpeg2000_ceildivpow2(prec->coord[0][1],
311 - (prec->coord[0][0] >> band->log2_cblk_width);
312 prec->nb_codeblocks_height =
313 ff_jpeg2000_ceildivpow2(prec->coord[1][1],
315 - (prec->coord[1][0] >> band->log2_cblk_height);
319 prec->cblkincl =
320 ff_jpeg2000_tag_tree_init(prec->nb_codeblocks_width,
321 prec->nb_codeblocks_height);
322 if (!prec->cblkincl)
325 prec->zerobits =
326 ff_jpeg2000_tag_tree_init(prec->nb_codeblocks_width,
327 prec->nb_codeblocks_height);
328 if (!prec->zerobits)
331 if (prec->nb_codeblocks_width * (uint64_t)prec->nb_codeblocks_height > INT_MAX) {
332 prec->cblk = NULL;
335 nb_codeblocks = prec->nb_codeblocks_width * prec->nb_codeblocks_height;
336 prec->cblk = av_calloc(nb_codeblocks, sizeof(*prec->cblk));
337 if (!prec->cblk)
340 Jpeg2000Cblk *cblk = prec->cblk + cblkno;
345 Cx0 = ((prec->coord[0][0]) >> band->log2_cblk_width) << band->log2_cblk_width;
346 Cx0 = Cx0 + ((cblkno % prec->nb_codeblocks_width) << band->log2_cblk_width);
347 cblk->coord[0][0] = FFMAX(Cx0, prec->coord[0][0]);
350 Cy0 = ((prec->coord[1][0]) >> band->log2_cblk_height) << band->log2_cblk_height;
351 Cy0 = Cy0 + ((cblkno / prec->nb_codeblocks_width) << band->log2_cblk_height);
352 cblk->coord[1][0] = FFMAX(Cy0, prec->coord[1][0]);
356 prec->coord[0][1]);
360 prec->coord[1][1]);
447 band->prec = NULL;
451 band->prec = av_calloc(nb_precincts, sizeof(*band->prec));
452 if (!band->prec)
561 if (reslevel->num_precincts_x * (uint64_t)reslevel->num_precincts_y * reslevel->nbands > avctx->max_pixels / sizeof(*reslevel->band->prec))
584 Jpeg2000Prec *prec = band->prec + precno;
585 ff_tag_tree_zero(prec->zerobits, prec->nb_codeblocks_width, prec->nb_codeblocks_height, 0);
586 ff_tag_tree_zero(prec->cblkincl, prec->nb_codeblocks_width, prec->nb_codeblocks_height, 0);
587 for (cblkno = 0; cblkno < prec->nb_codeblocks_width * prec->nb_codeblocks_height; cblkno++) {
588 Jpeg2000Cblk *cblk = prec->cblk + cblkno;
617 if (band->prec) {
618 Jpeg2000Prec *prec = band->prec + precno;
619 int nb_code_blocks = prec->nb_codeblocks_height * prec->nb_codeblocks_width;
621 av_freep(&prec->zerobits);
622 av_freep(&prec->cblkincl);
623 if (prec->cblk) {
626 Jpeg2000Cblk *cblk = &prec->cblk[cblkno];
633 av_freep(&prec->cblk);
638 av_freep(&band->prec);