summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-02-01 01:24:55 +0100
committerCarl Hetherington <cth@carlh.net>2021-02-01 01:24:55 +0100
commitacfbd1c01020ea95d9e7eb3d63ddb14b9407732a (patch)
treebcc44ff266a085a04fda01d908176de92d7bdda3 /test
parent605389f7c3af2cdf1ec457ee78709cf8a5bb90d9 (diff)
Add noise to very small J2K frames (#1902).
Diffstat (limited to 'test')
-rw-r--r--test/low_bitrate_test.cc47
-rw-r--r--test/wscript1
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