The frame_analyzer which is used by compare_videos.py needs to handle
barcode errors. As before the reference and the test video can contain
repeated frames. When there are barcode decode errors in the test video,
then we should not let that contribute to the skipped frames score. When
there are barcode decode errors in the reference video, then we need to
take proper care to still calculate skipped barcodes when the
corresponding frames are not present in the test video and the test
video does not have a frame with a barcode decode error that could have
been the same frame as the one in the reference.
A new metric total number of skipped frames and for number of decode
errors is introduced. Barcodes that appears in the test video, but not
in the reference video are also listed.
BUG=webrtc:6967
Review-Url: https://codereview.webrtc.org/2666333003
Cr-Commit-Position: refs/heads/master@{#16638}
Tested on Linux with the following command lines:
$ gn gen //out/Debug --args='is_debug=true target_cpu="x64" build_with_chromium=false'
$ ninja -C out/Debug frame_analyzer rgba_to_i420_converter
BUG=chromium:461019
TEST=see above
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42999004
Cr-Commit-Position: refs/heads/master@{#8914}
This CL adds support for reading .y4m files to the infra in
video_quality_analysis.cc, adding new functions
ExtractFrameFromYuvFile() and ExtractFrameFromY4mFile(),
instad of the previous ExtractFrameFromI420(). The decision
as to which one to use is taken from the file extension,
if it is .y4m then is considered a YUV4MPEG file, otherwise
is taken as a raw .yuv file.
It also removes the pseudo duplicated function
GetNextI420Frame(), that is used from psnr_ssim_analyzer.c,
and adds support for y4m files there.
Tested/validated via local compile-run.
YUV4MPEG is a trivial container with a file header
and a per-frame header, see [1]
[1]
http://wiki.multimedia.cx/index.php?title=YUV4MPEG2
BUG=https://code.google.com/p/chromium/issues/detail?id=343504
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5702 4adac7df-926f-26a2-2b94-8c16560cd09d
Add support for --label flag to the frame_analyzer, that
decides what label shall be used for the perf output.
BUG=none
TEST=
Make sure to have zxing and ffmpeg in the PATH.
Create a captured video (from running vie_auto_test custom call)
webrtc/tools/compare_videos.py --ref_video=reference_video.yuv --test_video=captured_output.yuv --frame_analyzer=out/Release/frame_analyzer --label=TEST_VGA
And then inspecting the output that is prefixed with RESULT.
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2190005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4714 4adac7df-926f-26a2-2b94-8c16560cd09d