diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-12-18 23:34:26 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-04-29 00:27:17 +0200 |
| commit | 59c4edb69ba926d3790198cd2b62dc601944a632 (patch) | |
| tree | 5f209c2aa5cbf60ec194bc1ab25ea63c75c4e854 /test/test.cc | |
| parent | 7ec6c86c913fba820870565ee757fdf43ae47433 (diff) | |
Add image_as_jpeg()
Diffstat (limited to 'test/test.cc')
| -rw-r--r-- | test/test.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/test.cc b/test/test.cc index 6b2e584a2..7136b038d 100644 --- a/test/test.cc +++ b/test/test.cc @@ -369,6 +369,8 @@ rms_error (boost::filesystem::path ref, boost::filesystem::path check) FFmpegImageProxy check_proxy (check); auto check_image = check_proxy.image(Image::Alignment::COMPACT).image; + BOOST_REQUIRE_EQUAL (ref_image->planes(), check_image->planes()); + BOOST_REQUIRE_EQUAL (ref_image->pixel_format(), check_image->pixel_format()); auto const format = ref_image->pixel_format(); @@ -417,6 +419,19 @@ rms_error (boost::filesystem::path ref, boost::filesystem::path check) } break; } + case AV_PIX_FMT_YUVJ420P: + { + for (int c = 0; c < ref_image->planes(); ++c) { + for (int y = 0; y < height / ref_image->vertical_factor(c); ++y) { + auto p = ref_image->data()[c] + y * ref_image->stride()[c]; + auto q = check_image->data()[c] + y * check_image->stride()[c]; + for (int x = 0; x < ref_image->line_size()[c]; ++x) { + sum_square += pow((*p++ - *q++), 2); + } + } + } + break; + } default: BOOST_REQUIRE_MESSAGE (false, "unrecognised pixel format " << format); } |
