--- branches/dev-api-3/xvidcore/src/image/image.c 2003/01/11 14:59:24 769 +++ branches/dev-api-3/xvidcore/src/image/image.c 2003/01/25 22:51:20 808 @@ -938,6 +938,36 @@ return psnr_y; } + +float sse_to_PSNR(long sse, int pixels) +{ + if (sse==0) + return 99.99; + + return 48.131 - 10*log10((float)sse/(float)(pixels)); // log10(255*255)=4.8131 + +} + +long plane_sse(uint8_t * orig, + uint8_t * recon, + uint16_t stride, + uint16_t width, + uint16_t height) +{ + int diff, x, y; + long sse=0; + + for (y = 0; y < height; y++) { + for (x = 0; x < width; x++) { + diff = *(orig + x) - *(recon + x); + sse += diff * diff; + } + orig += stride; + recon += stride; + } + return sse; +} + /* #include