|
|
|
@ -250,20 +250,20 @@ 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->perm_type = FF_IDCT_PERM_NONE; |
|
|
|
|
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->perm_type = FF_IDCT_PERM_NONE; |
|
|
|
|
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->perm_type = FF_IDCT_PERM_NONE; |
|
|
|
|
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; |
|
|
|
@ -277,20 +277,20 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx) |
|
|
|
|
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->perm_type = FF_IDCT_PERM_LIBMPEG2; |
|
|
|
|
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->perm_type = FF_IDCT_PERM_NONE; |
|
|
|
|
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->perm_type = FF_IDCT_PERM_NONE; |
|
|
|
|
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; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|