X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fidctdsp.c;h=e91ba2e6c80db5252fa387112aaa617cec45103c;hb=629e5e28f70a3511d7267f328773b191c5f086ac;hp=31a4854ccbef6ec534dac3d79fac35796d9fbc70;hpb=aa56c37c8ac53ddc4ee828406b2185bf20a1e5c7;p=ffmpeg diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c index 31a4854ccbe..e91ba2e6c80 100644 --- a/libavcodec/idctdsp.c +++ b/libavcodec/idctdsp.c @@ -47,29 +47,29 @@ av_cold void ff_init_scantable(uint8_t *permutation, ScanTable *st, } av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation, - int idct_permutation_type) + enum idct_permutation_type perm_type) { int i; if (ARCH_X86) if (ff_init_scantable_permutation_x86(idct_permutation, - idct_permutation_type)) + perm_type)) return; - switch (idct_permutation_type) { - case FF_NO_IDCT_PERM: + switch (perm_type) { + case FF_IDCT_PERM_NONE: for (i = 0; i < 64; i++) idct_permutation[i] = i; break; - case FF_LIBMPEG2_IDCT_PERM: + case FF_IDCT_PERM_LIBMPEG2: for (i = 0; i < 64; i++) idct_permutation[i] = (i & 0x38) | ((i & 6) >> 1) | ((i & 1) << 2); break; - case FF_TRANSPOSE_IDCT_PERM: + case FF_IDCT_PERM_TRANSPOSE: for (i = 0; i < 64; i++) idct_permutation[i] = ((i & 7) << 3) | (i >> 3); break; - case FF_PARTTRANS_IDCT_PERM: + case FF_IDCT_PERM_PARTTRANS: for (i = 0; i < 64; i++) idct_permutation[i] = (i & 0x24) | ((i & 3) << 3) | ((i >> 3) & 3); break; @@ -250,47 +250,47 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx) const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8; if (avctx->lowres==1) { - c->idct_put = ff_jref_idct4_put; - c->idct_add = ff_jref_idct4_add; - c->idct = ff_j_rev_dct4; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->idct_put = ff_jref_idct4_put; + c->idct_add = ff_jref_idct4_add; + c->idct = ff_j_rev_dct4; + c->perm_type = FF_IDCT_PERM_NONE; } else if (avctx->lowres==2) { - c->idct_put = ff_jref_idct2_put; - c->idct_add = ff_jref_idct2_add; - c->idct = ff_j_rev_dct2; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->idct_put = ff_jref_idct2_put; + c->idct_add = ff_jref_idct2_add; + c->idct = ff_j_rev_dct2; + c->perm_type = FF_IDCT_PERM_NONE; } else if (avctx->lowres==3) { - c->idct_put = ff_jref_idct1_put; - c->idct_add = ff_jref_idct1_add; - c->idct = ff_j_rev_dct1; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->idct_put = ff_jref_idct1_put; + c->idct_add = ff_jref_idct1_add; + c->idct = ff_j_rev_dct1; + c->perm_type = FF_IDCT_PERM_NONE; } else { if (avctx->bits_per_raw_sample == 10) { c->idct_put = ff_simple_idct_put_10; c->idct_add = ff_simple_idct_add_10; c->idct = ff_simple_idct_10; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->perm_type = FF_IDCT_PERM_NONE; } else if (avctx->bits_per_raw_sample == 12) { c->idct_put = ff_simple_idct_put_12; c->idct_add = ff_simple_idct_add_12; c->idct = ff_simple_idct_12; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->perm_type = FF_IDCT_PERM_NONE; } else { if (avctx->idct_algo == FF_IDCT_INT) { - c->idct_put = jref_idct_put; - c->idct_add = jref_idct_add; - c->idct = ff_j_rev_dct; - c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM; + c->idct_put = jref_idct_put; + c->idct_add = jref_idct_add; + c->idct = ff_j_rev_dct; + c->perm_type = FF_IDCT_PERM_LIBMPEG2; } else if (avctx->idct_algo == FF_IDCT_FAAN) { - c->idct_put = ff_faanidct_put; - c->idct_add = ff_faanidct_add; - c->idct = ff_faanidct; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->idct_put = ff_faanidct_put; + c->idct_add = ff_faanidct_add; + c->idct = ff_faanidct; + c->perm_type = FF_IDCT_PERM_NONE; } else { // accurate/default - c->idct_put = ff_simple_idct_put_8; - c->idct_add = ff_simple_idct_add_8; - c->idct = ff_simple_idct_8; - c->idct_permutation_type = FF_NO_IDCT_PERM; + c->idct_put = ff_simple_idct_put_8; + c->idct_add = ff_simple_idct_add_8; + c->idct = ff_simple_idct_8; + c->perm_type = FF_IDCT_PERM_NONE; } } } @@ -309,5 +309,5 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx) ff_idctdsp_init_x86(c, avctx, high_bit_depth); ff_init_scantable_permutation(c->idct_permutation, - c->idct_permutation_type); + c->perm_type); }