fix -print_psnr / ssim options
original/compressed pictures were not converted to an adequate YUVA colorspace before computing the distortion. Change-Id: I37775e9b7dbd6eca16c38e235e1df325858d36a1
This commit is contained in:
parent
cc55790e37
commit
ebef7fb307
@ -1045,8 +1045,22 @@ int main(int argc, const char *argv[]) {
|
||||
if (!quiet && !short_output && print_distortion >= 0) { // print distortion
|
||||
static const char* distortion_names[] = { "PSNR", "SSIM", "LSIM" };
|
||||
float values[5];
|
||||
WebPPictureDistortion(&picture, &original_picture,
|
||||
print_distortion, values);
|
||||
// Comparison is performed in YUVA colorspace.
|
||||
if (original_picture.use_argb &&
|
||||
!WebPPictureARGBToYUVA(&original_picture, WEBP_YUV420A)) {
|
||||
fprintf(stderr, "Error while converting original picture to YUVA.\n");
|
||||
goto Error;
|
||||
}
|
||||
if (picture.use_argb &&
|
||||
!WebPPictureARGBToYUVA(&picture, WEBP_YUV420A)) {
|
||||
fprintf(stderr, "Error while converting compressed picture to YUVA.\n");
|
||||
goto Error;
|
||||
}
|
||||
if (!WebPPictureDistortion(&picture, &original_picture,
|
||||
print_distortion, values)) {
|
||||
fprintf(stderr, "Error while computing the distortion.\n");
|
||||
goto Error;
|
||||
}
|
||||
fprintf(stderr, "%s: Y:%.2f U:%.2f V:%.2f A:%.2f Total:%.2f\n",
|
||||
distortion_names[print_distortion],
|
||||
values[0], values[1], values[2], values[3], values[4]);
|
||||
|
Loading…
Reference in New Issue
Block a user