Calculate and report PSNR for Y, U, V planes separately.

Bug: webrtc:8448
Change-Id: Ia5b2b2f3ebac9ea7d1efbb3079b0bc3438a54a09
Reviewed-on: https://webrtc-review.googlesource.com/61324
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22420}
This commit is contained in:
Sergey Silkin
2018-03-14 11:28:15 +01:00
committed by Commit Bot
parent 16cba5c18d
commit 8d3758e610
4 changed files with 65 additions and 30 deletions

View File

@ -230,6 +230,9 @@ VideoStatistics Stats::SliceAndCalcVideoStatistic(
Statistics frame_encoding_time_us;
Statistics frame_decoding_time_us;
Statistics psnr_y;
Statistics psnr_u;
Statistics psnr_v;
Statistics psnr;
Statistics ssim;
Statistics qp;
@ -290,6 +293,9 @@ VideoStatistics Stats::SliceAndCalcVideoStatistic(
video_stat.width = frame_stat.decoded_width;
video_stat.height = frame_stat.decoded_height;
psnr_y.AddSample(frame_stat.psnr_y);
psnr_u.AddSample(frame_stat.psnr_u);
psnr_v.AddSample(frame_stat.psnr_v);
psnr.AddSample(frame_stat.psnr);
ssim.AddSample(frame_stat.ssim);
@ -359,6 +365,9 @@ VideoStatistics Stats::SliceAndCalcVideoStatistic(
video_stat.avg_delta_frame_size_bytes = delta_frame_size_bytes.Mean();
video_stat.avg_qp = qp.Mean();
video_stat.avg_psnr_y = psnr_y.Mean();
video_stat.avg_psnr_u = psnr_u.Mean();
video_stat.avg_psnr_v = psnr_v.Mean();
video_stat.avg_psnr = psnr.Mean();
video_stat.min_psnr = psnr.Min();
video_stat.avg_ssim = ssim.Mean();