From e639d09199dd7818a24786fb6e8ddd048ede4372 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 21 Jun 2017 09:01:20 -0400 Subject: [PATCH] mdec: stop preferring the simple IDCT. This was added in e3e3c82555e2382125195c1ba9f34b5a43299abc, probably as a workaround for the fact that the quant table was not permutated and the IDCT coefficients are, meaning that you'd only get correct reconstruction if the IDCT permutation was an identity matrix, which happens to be the case when you use the simple IDCT. The quant table permutation bug was fixed in 42dd1434bf6a7230e4175c08fcfabc3ba51a0463, meaning this workaround is no longer necessary. In practical terms, before 42dd1434bf6a7230e4175c08fcfabc3ba51a0463, the PSNR between decodes of the fate-mdec using simple (C) or simplemmx IDCTs was 35. After 42dd1434bf6a7230e4175c08fcfabc3ba51a0463, it's 90. --- libavcodec/mdec.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c index fabc19fd9a..59658b331d 100644 --- a/libavcodec/mdec.c +++ b/libavcodec/mdec.c @@ -215,9 +215,6 @@ static av_cold int decode_init(AVCodecContext *avctx) MDECContext * const a = avctx->priv_data; int i; - if (avctx->idct_algo == FF_IDCT_AUTO) - avctx->idct_algo = FF_IDCT_SIMPLE; - a->mb_width = (avctx->coded_width + 15) / 16; a->mb_height = (avctx->coded_height + 15) / 16;