diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-01 01:24:55 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-01 01:24:55 +0100 |
| commit | acfbd1c01020ea95d9e7eb3d63ddb14b9407732a (patch) | |
| tree | bcc44ff266a085a04fda01d908176de92d7bdda3 /test | |
| parent | 605389f7c3af2cdf1ec457ee78709cf8a5bb90d9 (diff) | |
Add noise to very small J2K frames (#1902).
Diffstat (limited to 'test')
| -rw-r--r-- | test/low_bitrate_test.cc | 47 | ||||
| -rw-r--r-- | test/wscript | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/test/low_bitrate_test.cc b/test/low_bitrate_test.cc new file mode 100644 index 000000000..f7edecb62 --- /dev/null +++ b/test/low_bitrate_test.cc @@ -0,0 +1,47 @@ +/* + Copyright (C) 2021 Carl Hetherington <cth@carlh.net> + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. + +*/ + + +#include "lib/dcp_video.h" +#include "lib/image.h" +#include "lib/player_video.h" +#include "lib/raw_image_proxy.h" +extern "C" { +#include <libavutil/pixfmt.h> +} +#include <boost/test/unit_test.hpp> +#include <iostream> + + +using std::make_shared; + + +BOOST_AUTO_TEST_CASE (low_bitrate_test) +{ + auto image = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size(1998, 1080), true); + image->make_black (); + auto proxy = make_shared<RawImageProxy>(image); + auto frame = make_shared<PlayerVideo>(proxy, Crop(), boost::optional<double>(), dcp::Size(1998, 1080), dcp::Size(1998, 1080), Eyes::BOTH, Part::WHOLE, boost::optional<ColourConversion>(), VideoRange::FULL, std::weak_ptr<Content>(), boost::optional<Frame>(), false); + auto dcp_video = make_shared<DCPVideo>(frame, 0, 24, 100000000, Resolution::TWO_K); + auto j2k = dcp_video->encode_locally(); + BOOST_REQUIRE (j2k.size() >= 65536); +} + + diff --git a/test/wscript b/test/wscript index f47eaea73..70aad81a3 100644 --- a/test/wscript +++ b/test/wscript @@ -94,6 +94,7 @@ def build(bld): j2k_bandwidth_test.cc job_test.cc kdm_naming_test.cc + low_bitrate_test.cc markers_test.cc no_use_video_test.cc optimise_stills_test.cc |
