X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fffmpeg_encoder_test.cc;h=10186abcc92aa247dd423ed7619ab0f7cd47e909;hb=647771abdbbf52737278e59898063c799b64f22d;hp=d9a026160beca08588756056f66732444591b271;hpb=d5ba7d135293103dba55196a3d9a9342795d6188;p=dcpomatic.git diff --git a/test/ffmpeg_encoder_test.cc b/test/ffmpeg_encoder_test.cc index d9a026160..10186abcc 100644 --- a/test/ffmpeg_encoder_test.cc +++ b/test/ffmpeg_encoder_test.cc @@ -85,19 +85,19 @@ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_test1) /** Dolby Aurora trailer VOB -> Prores */ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_test2) { - ffmpeg_content_test (2, private_data / "dolby_aurora.vob", EXPORT_FORMAT_PRORES); + ffmpeg_content_test (2, TestPaths::private_data / "dolby_aurora.vob", EXPORT_FORMAT_PRORES); } /** Sintel trailer -> Prores */ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_test3) { - ffmpeg_content_test (3, private_data / "Sintel_Trailer1.480p.DivX_Plus_HD.mkv", EXPORT_FORMAT_PRORES); + ffmpeg_content_test (3, TestPaths::private_data / "Sintel_Trailer1.480p.DivX_Plus_HD.mkv", EXPORT_FORMAT_PRORES); } /** Big Buck Bunny trailer -> Prores */ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_test4) { - ffmpeg_content_test (4, private_data / "big_buck_bunny_trailer_480p.mov", EXPORT_FORMAT_PRORES); + ffmpeg_content_test (4, TestPaths::private_data / "big_buck_bunny_trailer_480p.mov", EXPORT_FORMAT_PRORES); } /** Still image -> Prores */ @@ -105,7 +105,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_prores_test5) { shared_ptr film = new_test_film ("ffmpeg_encoder_prores_test5"); film->set_name ("ffmpeg_encoder_prores_test5"); - shared_ptr c (new ImageContent(private_data / "bbc405.png")); + shared_ptr c (new ImageContent(TestPaths::private_data / "bbc405.png")); film->set_container (Ratio::from_id ("185")); film->set_audio_channels (6); @@ -319,7 +319,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test5) BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test6) { shared_ptr film = new_test_film2 ("ffmpeg_encoder_h264_test6_ov"); - film->examine_and_add_content (shared_ptr(new ImageContent(private_data / "bbc405.png"))); + film->examine_and_add_content (shared_ptr(new ImageContent(TestPaths::private_data / "bbc405.png"))); BOOST_REQUIRE (!wait_for_jobs()); film->make_dcp (); BOOST_REQUIRE (!wait_for_jobs()); @@ -344,3 +344,35 @@ BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test6) ); encoder.go (); } + +/** Test export of a 3D DCP in a 2D project */ +BOOST_AUTO_TEST_CASE (ffmpeg_encoder_h264_test7) +{ + shared_ptr film = new_test_film2 ("ffmpeg_encoder_h264_test7_data"); + shared_ptr L (shared_ptr(new ImageContent(TestPaths::private_data / "bbc405.png"))); + film->examine_and_add_content (L); + shared_ptr R (shared_ptr(new ImageContent(TestPaths::private_data / "bbc405.png"))); + film->examine_and_add_content (R); + BOOST_REQUIRE (!wait_for_jobs()); + L->video->set_frame_type (VIDEO_FRAME_TYPE_3D_LEFT); + L->set_position (film, DCPTime()); + R->video->set_frame_type (VIDEO_FRAME_TYPE_3D_RIGHT); + R->set_position (film, DCPTime()); + film->set_three_d (true); + film->make_dcp (); + BOOST_REQUIRE (!wait_for_jobs()); + + shared_ptr film2 = new_test_film2 ("ffmpeg_encoder_h264_test7_export"); + shared_ptr dcp (new DCPContent(film->dir(film->dcp_name()))); + film2->examine_and_add_content (dcp); + BOOST_REQUIRE (!wait_for_jobs()); + + shared_ptr job (new TranscodeJob (film2)); + FFmpegEncoder encoder (film2, job, "build/test/ffmpeg_encoder_h264_test7.mp4", EXPORT_FORMAT_H264_AAC, true, false, 23 +#ifdef DCPOMATIC_VARIANT_SWAROOP + , optional(), optional() +#endif + ); + encoder.go (); +} +