Beispiel #1
0
av_cold void ff_xvididct_init(IDCTDSPContext *c, AVCodecContext *avctx)
{
    const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8;

    if (high_bit_depth ||
        !(avctx->idct_algo == FF_IDCT_AUTO ||
          avctx->idct_algo == FF_IDCT_XVIDMMX))
        return;

    if (ARCH_X86)
        ff_xvididct_init_x86(c);
}
Beispiel #2
0
av_cold void ff_xvididct_init(IDCTDSPContext *c, AVCodecContext *avctx)
{
    const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8;

    if (high_bit_depth || avctx->lowres ||
        !(avctx->idct_algo == FF_IDCT_AUTO ||
          avctx->idct_algo == FF_IDCT_XVID))
        return;

    if (avctx->idct_algo == FF_IDCT_XVID) {
        c->idct_put  = idct_xvid_put;
        c->idct_add  = idct_xvid_add;
        c->idct      = ff_idct_xvid;
        c->perm_type = FF_IDCT_PERM_NONE;
    }

    if (ARCH_X86)
        ff_xvididct_init_x86(c);

    ff_init_scantable_permutation(c->idct_permutation, c->perm_type);
}