From 1d2a51bdc8315fa7283be329669860e435a1513f Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 27 Jan 2021 01:44:20 +0100 Subject: [PATCH] Use enum class for VideoRange. --- src/lib/dcp_examiner.h | 2 +- src/lib/dcp_video.cc | 2 +- src/lib/ffmpeg_encoder.cc | 2 +- src/lib/ffmpeg_examiner.cc | 4 ++-- src/lib/ffmpeg_file_encoder.cc | 2 +- src/lib/ffmpeg_image_proxy.cc | 2 +- src/lib/image.cc | 4 ++-- src/lib/image_examiner.h | 2 +- src/lib/player.cc | 2 +- src/lib/types.cc | 10 ++++----- src/lib/types.h | 6 +++--- src/lib/util.cc | 2 +- src/lib/video_content.cc | 10 ++++----- src/lib/video_mxf_examiner.h | 2 +- src/wx/film_viewer.cc | 2 +- src/wx/gl_video_view.cc | 2 +- src/wx/simple_video_view.cc | 2 +- src/wx/video_panel.cc | 6 +++--- test/butler_test.cc | 2 +- test/client_server_test.cc | 8 +++---- test/dcp_playback_test.cc | 4 ++-- test/image_proxy_test.cc | 8 +++---- test/image_test.cc | 38 +++++++++++++++++----------------- test/player_test.cc | 10 ++++----- test/test.cc | 4 ++-- test/video_level_test.cc | 10 ++++----- 26 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/lib/dcp_examiner.h b/src/lib/dcp_examiner.h index f577e2b35..b61dd94a5 100644 --- a/src/lib/dcp_examiner.h +++ b/src/lib/dcp_examiner.h @@ -59,7 +59,7 @@ public: } VideoRange range () const { - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } std::string name () const { diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc index ddad3d8e0..67baa1215 100644 --- a/src/lib/dcp_video.cc +++ b/src/lib/dcp_video.cc @@ -99,7 +99,7 @@ DCPVideo::convert_to_xyz (shared_ptr frame, dcp::NoteHandler { shared_ptr xyz; - shared_ptr image = frame->image (bind (&PlayerVideo::keep_xyz_or_rgb, _1), VIDEO_RANGE_FULL, true, false); + shared_ptr image = frame->image (bind (&PlayerVideo::keep_xyz_or_rgb, _1), VideoRange::FULL, true, false); if (frame->colour_conversion()) { xyz = dcp::rgb_to_xyz ( image->data()[0], diff --git a/src/lib/ffmpeg_encoder.cc b/src/lib/ffmpeg_encoder.cc index 9504b51b8..059742025 100644 --- a/src/lib/ffmpeg_encoder.cc +++ b/src/lib/ffmpeg_encoder.cc @@ -107,7 +107,7 @@ FFmpegEncoder::FFmpegEncoder ( } _butler.reset ( - new Butler(_film, _player, map, _output_audio_channels, bind(&PlayerVideo::force, _1, FFmpegFileEncoder::pixel_format(format)), VIDEO_RANGE_VIDEO, true, false) + new Butler(_film, _player, map, _output_audio_channels, bind(&PlayerVideo::force, _1, FFmpegFileEncoder::pixel_format(format)), VideoRange::VIDEO, true, false) ); } diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc index 23c2f1a72..384c21e9c 100644 --- a/src/lib/ffmpeg_examiner.cc +++ b/src/lib/ffmpeg_examiner.cc @@ -431,9 +431,9 @@ FFmpegExaminer::range () const switch (color_range()) { case AVCOL_RANGE_MPEG: case AVCOL_RANGE_UNSPECIFIED: - return VIDEO_RANGE_VIDEO; + return VideoRange::VIDEO; case AVCOL_RANGE_JPEG: default: - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } } diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc index 0eea003a9..0aa976c3f 100644 --- a/src/lib/ffmpeg_file_encoder.cc +++ b/src/lib/ffmpeg_file_encoder.cc @@ -401,7 +401,7 @@ FFmpegFileEncoder::video (shared_ptr video, DCPTime time) /* All our output formats are video range at the moment */ shared_ptr image = video->image ( bind (&PlayerVideo::force, _1, _pixel_format), - VIDEO_RANGE_VIDEO, + VideoRange::VIDEO, true, false ); diff --git a/src/lib/ffmpeg_image_proxy.cc b/src/lib/ffmpeg_image_proxy.cc index 5b2280cfd..d082a8ef7 100644 --- a/src/lib/ffmpeg_image_proxy.cc +++ b/src/lib/ffmpeg_image_proxy.cc @@ -195,7 +195,7 @@ FFmpegImageProxy::image (optional) const AVPixelFormat const pix_fmt = static_cast(frame->format); _image.reset (new Image(frame)); - if (_video_range == VIDEO_RANGE_VIDEO && av_pix_fmt_desc_get(pix_fmt)->flags & AV_PIX_FMT_FLAG_RGB) { + if (_video_range == VideoRange::VIDEO && av_pix_fmt_desc_get(pix_fmt)->flags & AV_PIX_FMT_FLAG_RGB) { /* Asking for the video range to be converted by libswscale (in Image) will not work for * RGB sources since that method only processes video range in YUV and greyscale. So we have * to do it ourselves here. diff --git a/src/lib/image.cc b/src/lib/image.cc index 3a23d1abb..efe5b3390 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -239,8 +239,8 @@ Image::crop_scale_window ( */ sws_setColorspaceDetails ( scale_context, - sws_getCoefficients (lut[static_cast(yuv_to_rgb)]), video_range == VIDEO_RANGE_VIDEO ? 0 : 1, - sws_getCoefficients (lut[static_cast(yuv_to_rgb)]), out_video_range == VIDEO_RANGE_VIDEO ? 0 : 1, + sws_getCoefficients (lut[static_cast(yuv_to_rgb)]), video_range == VideoRange::VIDEO ? 0 : 1, + sws_getCoefficients (lut[static_cast(yuv_to_rgb)]), out_video_range == VideoRange::VIDEO ? 0 : 1, 0, 1 << 16, 1 << 16 ); diff --git a/src/lib/image_examiner.h b/src/lib/image_examiner.h index 839e390ed..cad8683a1 100644 --- a/src/lib/image_examiner.h +++ b/src/lib/image_examiner.h @@ -37,7 +37,7 @@ public: } bool yuv () const; VideoRange range () const { - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } private: diff --git a/src/lib/player.cc b/src/lib/player.cc index 5b449ccc1..cbfea55b6 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -382,7 +382,7 @@ Player::black_player_video_frame (Eyes eyes) const eyes, PART_WHOLE, PresetColourConversion::all().front().conversion, - VIDEO_RANGE_FULL, + VideoRange::FULL, std::weak_ptr(), boost::optional(), false diff --git a/src/lib/types.cc b/src/lib/types.cc index 177b5e581..840ee3aa8 100644 --- a/src/lib/types.cc +++ b/src/lib/types.cc @@ -234,9 +234,9 @@ string video_range_to_string (VideoRange r) { switch (r) { - case VIDEO_RANGE_FULL: + case VideoRange::FULL: return "full"; - case VIDEO_RANGE_VIDEO: + case VideoRange::VIDEO: return "video"; default: DCPOMATIC_ASSERT (false); @@ -248,12 +248,12 @@ VideoRange string_to_video_range (string s) { if (s == "full") { - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } else if (s == "video") { - return VIDEO_RANGE_VIDEO; + return VideoRange::VIDEO; } DCPOMATIC_ASSERT (false); - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } diff --git a/src/lib/types.h b/src/lib/types.h index f8f23a300..4569cfd9a 100644 --- a/src/lib/types.h +++ b/src/lib/types.h @@ -139,10 +139,10 @@ enum ChangeType }; -enum VideoRange +enum class VideoRange { - VIDEO_RANGE_FULL, ///< full, or "JPEG" (0-255 for 8-bit) - VIDEO_RANGE_VIDEO ///< video, or "MPEG" (16-235 for 8-bit) + FULL, ///< full, or "JPEG" (0-255 for 8-bit) + VIDEO ///< video, or "MPEG" (16-235 for 8-bit) }; extern std::string video_range_to_string (VideoRange r); diff --git a/src/lib/util.cc b/src/lib/util.cc index 36143e232..67b6599ea 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -954,7 +954,7 @@ void emit_subtitle_image (ContentTimePeriod period, dcp::SubtitleImage sub, dcp::Size size, shared_ptr decoder) { /* XXX: this is rather inefficient; decoding the image just to get its size */ - FFmpegImageProxy proxy (sub.png_image(), VIDEO_RANGE_FULL); + FFmpegImageProxy proxy (sub.png_image(), VideoRange::FULL); auto image = proxy.image().image; /* set up rect with height and width */ dcpomatic::Rect rect(0, 0, image->size().width / double(size.width), image->size().height / double(size.height)); diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc index 14e482467..f5e513912 100644 --- a/src/lib/video_content.cc +++ b/src/lib/video_content.cc @@ -75,7 +75,7 @@ VideoContent::VideoContent (Content* parent) , _yuv (true) , _fade_in (0) , _fade_out (0) - , _range (VIDEO_RANGE_FULL) + , _range (VideoRange::FULL) { } @@ -178,9 +178,9 @@ VideoContent::VideoContent (Content* parent, cxml::ConstNodePtr node, int versio _fade_in = _fade_out = 0; } - _range = VIDEO_RANGE_FULL; + _range = VideoRange::FULL; if (node->optional_string_child("Range").get_value_or("full") == "video") { - _range = VIDEO_RANGE_VIDEO; + _range = VideoRange::VIDEO; } } @@ -270,7 +270,7 @@ VideoContent::as_xml (xmlpp::Node* node) const node->add_child("YUV")->add_child_text (_yuv ? "1" : "0"); node->add_child("FadeIn")->add_child_text (raw_convert (_fade_in)); node->add_child("FadeOut")->add_child_text (raw_convert (_fade_out)); - node->add_child("Range")->add_child_text(_range == VIDEO_RANGE_FULL ? "full" : "video"); + node->add_child("Range")->add_child_text(_range == VideoRange::FULL ? "full" : "video"); } void @@ -321,7 +321,7 @@ VideoContent::identifier () const _custom_size ? _custom_size->height : 0, _fade_in, _fade_out, - _range == VIDEO_RANGE_FULL ? 0 : 1 + _range == VideoRange::FULL ? 0 : 1 ); string s (buffer); diff --git a/src/lib/video_mxf_examiner.h b/src/lib/video_mxf_examiner.h index c66774876..37badafba 100644 --- a/src/lib/video_mxf_examiner.h +++ b/src/lib/video_mxf_examiner.h @@ -40,7 +40,7 @@ public: boost::optional sample_aspect_ratio () const; bool yuv () const; VideoRange range () const { - return VIDEO_RANGE_FULL; + return VideoRange::FULL; } private: diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 6e5b486d5..e8c3b8c71 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -217,7 +217,7 @@ FilmViewer::recreate_butler () Config::instance()->audio_mapping(_audio_channels), _audio_channels, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), - VIDEO_RANGE_FULL, + VideoRange::FULL, false, true ) diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index a13797415..f24a78f1c 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -343,7 +343,7 @@ GLVideoView::set_image_and_draw () { shared_ptr pv = player_video().first; if (pv) { - set_image (pv->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true)); + set_image (pv->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true)); draw (pv->inter_position(), pv->inter_size()); _viewer->image_changed (pv); } diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc index 9ebb8c82f..cd138e239 100644 --- a/src/wx/simple_video_view.cc +++ b/src/wx/simple_video_view.cc @@ -221,7 +221,7 @@ SimpleVideoView::update () _state_timer.set ("get image"); set_image ( - player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true) + player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true) ); _state_timer.set ("ImageChanged"); diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc index cfbc78c34..b9c09cc69 100644 --- a/src/wx/video_panel.cc +++ b/src/wx/video_panel.cc @@ -311,10 +311,10 @@ VideoPanel::range_changed () switch (_range->GetSelection()) { case 0: - vc.front()->video->set_range (VIDEO_RANGE_FULL); + vc.front()->video->set_range (VideoRange::FULL); break; case 1: - vc.front()->video->set_range (VIDEO_RANGE_VIDEO); + vc.front()->video->set_range (VideoRange::VIDEO); break; default: DCPOMATIC_ASSERT (false); @@ -444,7 +444,7 @@ VideoPanel::film_content_changed (int property) setup_sensitivity (); } else if (property == VideoContentProperty::RANGE) { if (vcs) { - checked_set (_range, vcs->video->range() == VIDEO_RANGE_FULL ? 0 : 1); + checked_set (_range, vcs->video->range() == VideoRange::FULL ? 0 : 1); } else { checked_set (_range, 0); } diff --git a/test/butler_test.cc b/test/butler_test.cc index 8a588dcc9..016767e1c 100644 --- a/test/butler_test.cc +++ b/test/butler_test.cc @@ -55,7 +55,7 @@ BOOST_AUTO_TEST_CASE (butler_test1) map.set (i, i, 1); } - Butler butler (film, shared_ptr(new Player(film)), map, 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, false); + Butler butler (film, shared_ptr(new Player(film)), map, 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, false); BOOST_CHECK (butler.get_video(true, 0).second == DCPTime()); BOOST_CHECK (butler.get_video(true, 0).second == DCPTime::from_frames(1, 24)); diff --git a/test/client_server_test.cc b/test/client_server_test.cc index 675d1eb24..eb066ce0f 100644 --- a/test/client_server_test.cc +++ b/test/client_server_test.cc @@ -98,7 +98,7 @@ BOOST_AUTO_TEST_CASE (client_server_test_rgb) EYES_BOTH, PART_WHOLE, ColourConversion(), - VIDEO_RANGE_FULL, + VideoRange::FULL, weak_ptr(), optional(), false @@ -184,7 +184,7 @@ BOOST_AUTO_TEST_CASE (client_server_test_yuv) EYES_BOTH, PART_WHOLE, ColourConversion(), - VIDEO_RANGE_FULL, + VideoRange::FULL, weak_ptr(), optional(), false @@ -257,7 +257,7 @@ BOOST_AUTO_TEST_CASE (client_server_test_j2k) EYES_BOTH, PART_WHOLE, ColourConversion(), - VIDEO_RANGE_FULL, + VideoRange::FULL, weak_ptr(), optional(), false @@ -286,7 +286,7 @@ BOOST_AUTO_TEST_CASE (client_server_test_j2k) EYES_BOTH, PART_WHOLE, PresetColourConversion::all().front().conversion, - VIDEO_RANGE_FULL, + VideoRange::FULL, weak_ptr(), optional(), false diff --git a/test/dcp_playback_test.cc b/test/dcp_playback_test.cc index fd4c939bd..1e587e93e 100644 --- a/test/dcp_playback_test.cc +++ b/test/dcp_playback_test.cc @@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE (dcp_playback_test) AudioMapping(6, 6), 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), - VIDEO_RANGE_FULL, + VideoRange::FULL, false, true) ); @@ -60,7 +60,7 @@ BOOST_AUTO_TEST_CASE (dcp_playback_test) } /* assuming DCP is 24fps/48kHz */ butler->get_audio (audio_buffer, 2000); - p.first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true); + p.first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true); } delete[] audio_buffer; } diff --git a/test/image_proxy_test.cc b/test/image_proxy_test.cc index 9dedb854a..750b77561 100644 --- a/test/image_proxy_test.cc +++ b/test/image_proxy_test.cc @@ -53,14 +53,14 @@ BOOST_AUTO_TEST_CASE (j2k_image_proxy_same_test) BOOST_AUTO_TEST_CASE (ffmpeg_image_proxy_same_test) { { - shared_ptr proxy1(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL)); - shared_ptr proxy2(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL)); + shared_ptr proxy1(new FFmpegImageProxy(data_file0, VideoRange::FULL)); + shared_ptr proxy2(new FFmpegImageProxy(data_file0, VideoRange::FULL)); BOOST_CHECK (proxy1->same(proxy2)); } { - shared_ptr proxy1(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL)); - shared_ptr proxy2(new FFmpegImageProxy(data_file1, VIDEO_RANGE_FULL)); + shared_ptr proxy1(new FFmpegImageProxy(data_file0, VideoRange::FULL)); + shared_ptr proxy2(new FFmpegImageProxy(data_file1, VideoRange::FULL)); BOOST_CHECK (!proxy1->same(proxy2)); } } diff --git a/test/image_test.cc b/test/image_test.cc index f69383724..88a56a7ee 100644 --- a/test/image_test.cc +++ b/test/image_test.cc @@ -138,7 +138,7 @@ BOOST_AUTO_TEST_CASE (compact_image_test) void alpha_blend_test_one (AVPixelFormat format, string suffix) { - shared_ptr proxy (new FFmpegImageProxy (TestPaths::private_data() / "prophet_frame.tiff", VIDEO_RANGE_FULL)); + shared_ptr proxy (new FFmpegImageProxy (TestPaths::private_data() / "prophet_frame.tiff", VideoRange::FULL)); shared_ptr raw = proxy->image().image; shared_ptr background = raw->convert_pixel_format (dcp::YUVToRGB::REC709, format, true, false); @@ -260,10 +260,10 @@ BOOST_AUTO_TEST_CASE (merge_test2) /** Test Image::crop_scale_window with YUV420P and some windowing */ BOOST_AUTO_TEST_CASE (crop_scale_window_test) { - shared_ptr proxy(new FFmpegImageProxy("test/data/flat_red.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy("test/data/flat_red.png", VideoRange::FULL)); shared_ptr raw = proxy->image().image; shared_ptr out = raw->crop_scale_window( - Crop(), dcp::Size(1998, 836), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_YUV420P, VIDEO_RANGE_FULL, true, false + Crop(), dcp::Size(1998, 836), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_YUV420P, VideoRange::FULL, true, false ); shared_ptr save = out->scale(dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, false, false); write_image(save, "build/test/crop_scale_window_test.png"); @@ -275,19 +275,19 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test2) { shared_ptr image (new Image(AV_PIX_FMT_XYZ12LE, dcp::Size(2048, 858), true)); image->crop_scale_window ( - Crop(279, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, VIDEO_RANGE_FULL, false, false + Crop(279, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, false, false ); image->crop_scale_window ( - Crop(2048, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, VIDEO_RANGE_FULL, false, false + Crop(2048, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, false, false ); } BOOST_AUTO_TEST_CASE (crop_scale_window_test3) { - shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL)); shared_ptr xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, true, false); shared_ptr cropped = xyz->crop_scale_window( - Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, VIDEO_RANGE_FULL, false, false + Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, false, false ); write_image(cropped, "build/test/crop_scale_window_test3.png"); check_image("test/data/crop_scale_window_test3.png", "build/test/crop_scale_window_test3.png"); @@ -295,10 +295,10 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test3) BOOST_AUTO_TEST_CASE (crop_scale_window_test4) { - shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL)); shared_ptr xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, true, false); shared_ptr cropped = xyz->crop_scale_window( - Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_XYZ12LE, VIDEO_RANGE_FULL, false, false + Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_XYZ12LE, VideoRange::FULL, false, false ); write_image(cropped, "build/test/crop_scale_window_test4.png"); check_image("test/data/crop_scale_window_test4.png", "build/test/crop_scale_window_test4.png", 35000); @@ -306,10 +306,10 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test4) BOOST_AUTO_TEST_CASE (crop_scale_window_test5) { - shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL)); shared_ptr xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, true, false); shared_ptr cropped = xyz->crop_scale_window( - Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, VIDEO_RANGE_FULL, false, false + Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, false, false ); write_image(cropped, "build/test/crop_scale_window_test5.png"); check_image("test/data/crop_scale_window_test5.png", "build/test/crop_scale_window_test5.png"); @@ -317,10 +317,10 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test5) BOOST_AUTO_TEST_CASE (crop_scale_window_test6) { - shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL)); shared_ptr xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, true, false); shared_ptr cropped = xyz->crop_scale_window( - Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_XYZ12LE, VIDEO_RANGE_FULL, false, false + Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_XYZ12LE, VideoRange::FULL, false, false ); write_image(cropped, "build/test/crop_scale_window_test6.png"); check_image("test/data/crop_scale_window_test6.png", "build/test/crop_scale_window_test6.png", 35000); @@ -332,7 +332,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7) { using namespace boost::filesystem; for (int left_crop = 0; left_crop < 8; ++left_crop) { - shared_ptr proxy(new FFmpegImageProxy("test/data/rgb_grey_testcard.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy("test/data/rgb_grey_testcard.png", VideoRange::FULL)); shared_ptr yuv = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_YUV420P, true, false); int rounded = left_crop - (left_crop % 2); shared_ptr cropped = yuv->crop_scale_window( @@ -340,9 +340,9 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7) dcp::Size(1998 - rounded, 1080), dcp::Size(1998 - rounded, 1080), dcp::YUVToRGB::REC709, - VIDEO_RANGE_VIDEO, + VideoRange::VIDEO, AV_PIX_FMT_RGB24, - VIDEO_RANGE_VIDEO, + VideoRange::VIDEO, true, false ); @@ -355,7 +355,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7) BOOST_AUTO_TEST_CASE (as_png_test) { - shared_ptr proxy(new FFmpegImageProxy("test/data/3d_test/000001.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy("test/data/3d_test/000001.png", VideoRange::FULL)); shared_ptr image_rgb = proxy->image().image; shared_ptr image_bgr = image_rgb->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_BGRA, true, false); image_rgb->as_png().write ("build/test/as_png_rgb.png"); @@ -381,7 +381,7 @@ fade_test_format_black (AVPixelFormat f, string name) static void fade_test_format_red (AVPixelFormat f, float amount, string name) { - shared_ptr proxy(new FFmpegImageProxy("test/data/flat_red.png", VIDEO_RANGE_FULL)); + shared_ptr proxy(new FFmpegImageProxy("test/data/flat_red.png", VideoRange::FULL)); shared_ptr red = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, f, true, false); red->fade (amount); string const filename = "fade_test_red_" + name + ".png"; @@ -490,7 +490,7 @@ BOOST_AUTO_TEST_CASE (over_crop_test) shared_ptr image (new Image (AV_PIX_FMT_RGB24, dcp::Size(128, 128), true)); image->make_black (); shared_ptr scaled = image->crop_scale_window ( - Crop(0, 0, 128, 128), dcp::Size(1323, 565), dcp::Size(1349, 565), dcp::YUVToRGB::REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, VIDEO_RANGE_FULL, true, true + Crop(0, 0, 128, 128), dcp::Size(1323, 565), dcp::Size(1349, 565), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, true, true ); string const filename = "over_crop_test.png"; write_image (scaled, "build/test/" + filename); diff --git a/test/player_test.cc b/test/player_test.cc index 46bd01609..96f75f098 100644 --- a/test/player_test.cc +++ b/test/player_test.cc @@ -218,7 +218,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test) player->set_always_burn_open_subtitles (); player->set_play_referenced (); - shared_ptr butler (new Butler (film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true)); + shared_ptr butler (new Butler (film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true)); butler->disable_audio(); for (int i = 0; i < 10; ++i) { @@ -226,7 +226,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test) butler->seek (t, true); pair, DCPTime> video = butler->get_video(true, 0); BOOST_CHECK_EQUAL(video.second.get(), t.get()); - write_image(video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true), String::compose("build/test/player_seek_test_%1.png", i)); + write_image(video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true), String::compose("build/test/player_seek_test_%1.png", i)); /* This 14.08 is empirically chosen (hopefully) to accept changes in rendering between the reference and a test machine (17.10 and 16.04 seem to anti-alias a little differently) but to reject gross errors e.g. missing fonts or missing text altogether. @@ -249,7 +249,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test2) player->set_always_burn_open_subtitles (); player->set_play_referenced (); - shared_ptr butler (new Butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true)); + shared_ptr butler (new Butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true)); butler->disable_audio(); butler->seek(DCPTime::from_seconds(5), true); @@ -260,7 +260,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test2) pair, DCPTime> video = butler->get_video(true, 0); BOOST_CHECK_EQUAL(video.second.get(), t.get()); write_image( - video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true), String::compose("build/test/player_seek_test2_%1.png", i) + video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true), String::compose("build/test/player_seek_test2_%1.png", i) ); check_image(TestPaths::private_data() / String::compose("player_seek_test2_%1.png", i), String::compose("build/test/player_seek_test2_%1.png", i), 14.08); } @@ -336,7 +336,7 @@ BOOST_AUTO_TEST_CASE (player_trim_crash) shared_ptr player (new Player(film)); player->set_fast (); - shared_ptr butler (new Butler(film, player, AudioMapping(), 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true)); + shared_ptr butler (new Butler(film, player, AudioMapping(), 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, false, true)); /* Wait for the butler to fill */ dcpomatic_sleep_seconds (5); diff --git a/test/test.cc b/test/test.cc index cbd12e1ee..6af6409ce 100644 --- a/test/test.cc +++ b/test/test.cc @@ -339,9 +339,9 @@ static double rms_error (boost::filesystem::path ref, boost::filesystem::path check) { - FFmpegImageProxy ref_proxy (ref, VIDEO_RANGE_FULL); + FFmpegImageProxy ref_proxy (ref, VideoRange::FULL); shared_ptr ref_image = ref_proxy.image().image; - FFmpegImageProxy check_proxy (check, VIDEO_RANGE_FULL); + FFmpegImageProxy check_proxy (check, VideoRange::FULL); shared_ptr check_image = check_proxy.image().image; BOOST_REQUIRE_EQUAL (ref_image->pixel_format(), check_image->pixel_format()); diff --git a/test/video_level_test.cc b/test/video_level_test.cc index 95b69d2aa..632551fa4 100644 --- a/test/video_level_test.cc +++ b/test/video_level_test.cc @@ -89,7 +89,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_image_full_range_not_changed) write_image (grey_image(size, grey_pixel), file); - FFmpegImageProxy proxy (file, VIDEO_RANGE_FULL); + FFmpegImageProxy proxy (file, VideoRange::FULL); ImageProxy::Result result = proxy.image (); BOOST_REQUIRE (!result.error); @@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_image_video_range_expanded) write_image (grey_image(size, grey_pixel), file); - FFmpegImageProxy proxy (file, VIDEO_RANGE_VIDEO); + FFmpegImageProxy proxy (file, VideoRange::VIDEO); ImageProxy::Result result = proxy.image (); BOOST_REQUIRE (!result.error); @@ -289,7 +289,7 @@ movie_VoF (string name) BOOST_REQUIRE (content); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs()); - content->video->set_range (VIDEO_RANGE_FULL); + content->video->set_range (VideoRange::FULL); pair range = pixel_range (film, content); BOOST_CHECK_EQUAL (range.first, 15); @@ -326,7 +326,7 @@ movie_FoV (string name) BOOST_REQUIRE (content); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs()); - content->video->set_range (VIDEO_RANGE_VIDEO); + content->video->set_range (VideoRange::VIDEO); pair range = pixel_range (film, content); BOOST_CHECK_EQUAL (range.first, 0); @@ -363,7 +363,7 @@ image_FoV (string name) BOOST_REQUIRE (content); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs()); - content->video->set_range (VIDEO_RANGE_VIDEO); + content->video->set_range (VideoRange::VIDEO); pair range = pixel_range (film, content); BOOST_CHECK_EQUAL (range.first, 11); -- 2.30.2