diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-04-15 15:00:35 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-04-15 15:00:35 +0100 |
| commit | a00ebbc68438e84076c65e99d0e70403afb4407d (patch) | |
| tree | 6ee2f535eeb6b592c740e117d1f8f8657d6bcce8 /test | |
| parent | 665bc942f86bd7a8aeb2b38f3e9c2cb6662e6edc (diff) | |
| parent | 606b3f759238aa6c0d12de064b301bf36b428220 (diff) | |
Merge master.
Diffstat (limited to 'test')
| -rw-r--r-- | test/metadata.ref | 1 | ||||
| -rw-r--r-- | test/test.cc | 39 |
2 files changed, 33 insertions, 7 deletions
diff --git a/test/metadata.ref b/test/metadata.ref index 10702f8a0..16e3837c8 100644 --- a/test/metadata.ref +++ b/test/metadata.ref @@ -36,7 +36,6 @@ dcp_frame_rate 0 width 0 height 0 length 0 -dcp_intrinsic_duration 0 content_digest external_audio_stream external 0 0 source_frame_rate 0 diff --git a/test/test.cc b/test/test.cc index 5e85e0dd5..0e9cafcdf 100644 --- a/test/test.cc +++ b/test/test.cc @@ -38,7 +38,7 @@ #include "subtitle.h" #include "scaler.h" #include "ffmpeg_decoder.h" -#include "external_audio_decoder.h" +#include "sndfile_decoder.h" #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE dvdomatic_test #include <boost/test/unit_test.hpp> @@ -101,6 +101,7 @@ BOOST_AUTO_TEST_CASE (make_black_test) pix_fmts.push_back (AV_PIX_FMT_YUV444P9BE); pix_fmts.push_back (AV_PIX_FMT_YUV444P10LE); pix_fmts.push_back (AV_PIX_FMT_YUV444P10BE); + pix_fmts.push_back (AV_PIX_FMT_UYVY422); int N = 0; for (list<AVPixelFormat>::const_iterator i = pix_fmts.begin(); i != pix_fmts.end(); ++i) { @@ -190,7 +191,7 @@ BOOST_AUTO_TEST_CASE (stream_test) BOOST_CHECK_EQUAL (a.name(), "hello there world"); BOOST_CHECK_EQUAL (a.to_string(), "ffmpeg 4 44100 1 hello there world"); - ExternalAudioStream e ("external 44100 1", boost::optional<int> (1)); + SndfileStream e ("external 44100 1", boost::optional<int> (1)); BOOST_CHECK_EQUAL (e.sample_rate(), 44100); BOOST_CHECK_EQUAL (e.channel_layout(), 1); BOOST_CHECK_EQUAL (e.to_string(), "external 44100 1"); @@ -227,6 +228,32 @@ BOOST_AUTO_TEST_CASE (format_test) BOOST_CHECK_EQUAL (f->ratio_as_integer(shared_ptr<const Film> ()), 239); } +/* Test VariableFormat-based scaling of content */ +BOOST_AUTO_TEST_CASE (scaling_test) +{ + shared_ptr<Film> film (new Film (test_film_dir ("scaling_test").string(), false)); + + /* 4:3 ratio */ + film->set_size (libdcp::Size (320, 240)); + + /* This format should preserve aspect ratio of the source */ + Format const * format = Format::from_id ("var-185"); + + /* We should have enough padding that the result is 4:3, + which would be 1440 pixels. + */ + BOOST_CHECK_EQUAL (format->dcp_padding (film), (1998 - 1440) / 2); + + /* This crops it to 1.291666667 */ + film->set_left_crop (5); + film->set_right_crop (5); + + /* We should now have enough padding that the result is 1.29166667, + which would be 1395 pixels. + */ + BOOST_CHECK_EQUAL (format->dcp_padding (film), rint ((1998 - 1395) / 2.0)); +} + BOOST_AUTO_TEST_CASE (util_test) { string t = "Hello this is a string \"with quotes\" and indeed without them"; @@ -310,7 +337,7 @@ BOOST_AUTO_TEST_CASE (client_server_test) shared_ptr<Subtitle> subtitle (new Subtitle (Position (50, 60), sub_image)); - FileLog log ("build/test/client_server_test.log"); + shared_ptr<FileLog> log (new FileLog ("build/test/client_server_test.log")); shared_ptr<DCPVideoFrame> frame ( new DCPVideoFrame ( @@ -326,14 +353,14 @@ BOOST_AUTO_TEST_CASE (client_server_test) "", 0, 200000000, - &log + log ) ); shared_ptr<EncodedData> locally_encoded = frame->encode_locally (); BOOST_ASSERT (locally_encoded); - Server* server = new Server (&log); + Server* server = new Server (log); new thread (boost::bind (&Server::run, server, 2)); @@ -381,7 +408,7 @@ BOOST_AUTO_TEST_CASE (have_dcp_test) BOOST_CHECK (f.have_dcp()); p /= f.dcp_name(); - p /= "video.mxf"; + p /= f.dcp_video_mxf_filename(); boost::filesystem::remove (p); BOOST_CHECK (!f.have_dcp ()); } |
