Lines Matching defs:acoder
159 static av_always_inline int decode_pixel(ArithCoder *acoder, PixContext *pctx,
164 if (acoder->overread > MAX_OVERREAD)
166 val = acoder->get_model_sym(acoder, &pctx->cache_model);
186 pix = acoder->get_model_sym(acoder, &pctx->full_model);
201 static int decode_pixel_in_context(ArithCoder *acoder, PixContext *pctx,
286 pix = acoder->get_model_sym(acoder,
291 return decode_pixel(acoder, pctx, ref_pix, nlen, 1);
294 static int decode_region(ArithCoder *acoder, uint8_t *dst, uint8_t *rgb_dst,
308 p = decode_pixel(acoder, pctx, NULL, 0, 0);
310 p = decode_pixel_in_context(acoder, pctx, dst + i, stride,
376 static int decode_region_masked(MSS12Context const *c, ArithCoder *acoder,
402 p = decode_pixel(acoder, pctx, NULL, 0, 0);
404 p = decode_pixel_in_context(acoder, pctx, dst + i, stride,
447 static int decode_pivot(SliceContext *sc, ArithCoder *acoder, int base)
451 inv = acoder->get_model_sym(acoder, &sc->edge_mode);
452 val = acoder->get_model_sym(acoder, &sc->pivot) + 1;
458 val = acoder->get_number(acoder, (base + 1) / 2 - 2) + 3;
467 static int decode_region_intra(SliceContext *sc, ArithCoder *acoder,
473 mode = acoder->get_model_sym(acoder, &sc->intra_region);
482 pix = decode_pixel(acoder, &sc->intra_pix_ctx, NULL, 0, 0);
495 return decode_region(acoder, c->pal_pic, c->rgb_pic,
503 static int decode_region_inter(SliceContext *sc, ArithCoder *acoder,
509 mode = acoder->get_model_sym(acoder, &sc->inter_region);
512 mode = decode_pixel(acoder, &sc->inter_pix_ctx, NULL, 0, 0);
526 return decode_region_intra(sc, acoder, x, y, width, height);
528 if (decode_region(acoder, c->mask, NULL,
532 return decode_region_masked(c, acoder, c->pal_pic,
542 int ff_mss12_decode_rect(SliceContext *sc, ArithCoder *acoder,
546 if (acoder->overread > MAX_OVERREAD)
549 mode = acoder->get_model_sym(acoder, &sc->split_mode);
553 if ((pivot = decode_pivot(sc, acoder, height)) < 1)
555 if (ff_mss12_decode_rect(sc, acoder, x, y, width, pivot))
557 if (ff_mss12_decode_rect(sc, acoder, x, y + pivot, width, height - pivot))
561 if ((pivot = decode_pivot(sc, acoder, width)) < 1)
563 if (ff_mss12_decode_rect(sc, acoder, x, y, pivot, height))
565 if (ff_mss12_decode_rect(sc, acoder, x + pivot, y, width - pivot, height))
570 return decode_region_intra(sc, acoder, x, y, width, height);
572 return decode_region_inter(sc, acoder, x, y, width, height);