Mercurial > libavcodec.hg
diff dsputil.c @ 909:8ae1e4c24e91 libavcodec
new PSNR code (now works with chroma, b frames, ...)
rename *_TYPE to FF_*_TYPE for the external API
allow user specified pict_type
author | michaelni |
---|---|
date | Wed, 04 Dec 2002 21:13:02 +0000 |
parents | 2cef5c4c0ca6 |
children | caa77cd960c0 |
line wrap: on
line diff
--- a/dsputil.c Wed Dec 04 12:42:25 2002 +0000 +++ b/dsputil.c Wed Dec 04 21:13:02 2002 +0000 @@ -1528,37 +1528,3 @@ // dsputil_set_bit_exact_mmx(); #endif } - -void get_psnr(UINT8 *orig_image[3], UINT8 *coded_image[3], - int orig_linesize[3], int coded_linesize, - AVCodecContext *avctx) -{ - int quad, diff, x, y; - UINT8 *orig, *coded; - UINT32 *sq = squareTbl + 256; - - quad = 0; - diff = 0; - - /* Luminance */ - orig = orig_image[0]; - coded = coded_image[0]; - - for (y=0;y<avctx->height;y++) { - for (x=0;x<avctx->width;x++) { - diff = *(orig + x) - *(coded + x); - quad += sq[diff]; - } - orig += orig_linesize[0]; - coded += coded_linesize; - } - - avctx->psnr_y = (float) quad / (float) (avctx->width * avctx->height); - - if (avctx->psnr_y) { - avctx->psnr_y = (float) (255 * 255) / avctx->psnr_y; - avctx->psnr_y = 10 * (float) log10 (avctx->psnr_y); - } else - avctx->psnr_y = 99.99; -} -