summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-27 01:44:20 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-27 01:44:20 +0100
commit1d2a51bdc8315fa7283be329669860e435a1513f (patch)
tree7f1ccaf99bd89f61377f36405f12178586d65f8f
parent886c256f532e0f43bcd7f6f9924147c151293cab (diff)
Use enum class for VideoRange.
-rw-r--r--src/lib/dcp_examiner.h2
-rw-r--r--src/lib/dcp_video.cc2
-rw-r--r--src/lib/ffmpeg_encoder.cc2
-rw-r--r--src/lib/ffmpeg_examiner.cc4
-rw-r--r--src/lib/ffmpeg_file_encoder.cc2
-rw-r--r--src/lib/ffmpeg_image_proxy.cc2
-rw-r--r--src/lib/image.cc4
-rw-r--r--src/lib/image_examiner.h2
-rw-r--r--src/lib/player.cc2
-rw-r--r--src/lib/types.cc10
-rw-r--r--src/lib/types.h6
-rw-r--r--src/lib/util.cc2
-rw-r--r--src/lib/video_content.cc10
-rw-r--r--src/lib/video_mxf_examiner.h2
-rw-r--r--src/wx/film_viewer.cc2
-rw-r--r--src/wx/gl_video_view.cc2
-rw-r--r--src/wx/simple_video_view.cc2
-rw-r--r--src/wx/video_panel.cc6
-rw-r--r--test/butler_test.cc2
-rw-r--r--test/client_server_test.cc8
-rw-r--r--test/dcp_playback_test.cc4
-rw-r--r--test/image_proxy_test.cc8
-rw-r--r--test/image_test.cc38
-rw-r--r--test/player_test.cc10
-rw-r--r--test/test.cc4
-rw-r--r--test/video_level_test.cc10
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<const PlayerVideo> frame, dcp::NoteHandler
{
shared_ptr<dcp::OpenJPEGImage> xyz;
- shared_ptr<Image> image = frame->image (bind (&PlayerVideo::keep_xyz_or_rgb, _1), VIDEO_RANGE_FULL, true, false);
+ shared_ptr<Image> 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<PlayerVideo> video, DCPTime time)
/* All our output formats are video range at the moment */
shared_ptr<Image> 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<dcp::Size>) const
AVPixelFormat const pix_fmt = static_cast<AVPixelFormat>(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<int>(yuv_to_rgb)]), video_range == VIDEO_RANGE_VIDEO ? 0 : 1,
- sws_getCoefficients (lut[static_cast<int>(yuv_to_rgb)]), out_video_range == VIDEO_RANGE_VIDEO ? 0 : 1,
+ sws_getCoefficients (lut[static_cast<int>(yuv_to_rgb)]), video_range == VideoRange::VIDEO ? 0 : 1,
+ sws_getCoefficients (lut[static_cast<int>(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<Content>(),
boost::optional<Frame>(),
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<TextDecoder> 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<double> 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<string> (_fade_in));
node->add_child("FadeOut")->add_child_text (raw_convert<string> (_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<double> 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<PlayerVideo> 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<Player>(new Player(film)), map, 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, false);
+ Butler butler (film, shared_ptr<Player>(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<Content>(),
optional<Frame>(),
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<Content>(),
optional<Frame>(),
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<Content>(),
optional<Frame>(),
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<Content>(),
optional<Frame>(),
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<FFmpegImageProxy> proxy1(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL));
- shared_ptr<FFmpegImageProxy> proxy2(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy1(new FFmpegImageProxy(data_file0, VideoRange::FULL));
+ shared_ptr<FFmpegImageProxy> proxy2(new FFmpegImageProxy(data_file0, VideoRange::FULL));
BOOST_CHECK (proxy1->same(proxy2));
}
{
- shared_ptr<FFmpegImageProxy> proxy1(new FFmpegImageProxy(data_file0, VIDEO_RANGE_FULL));
- shared_ptr<FFmpegImageProxy> proxy2(new FFmpegImageProxy(data_file1, VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy1(new FFmpegImageProxy(data_file0, VideoRange::FULL));
+ shared_ptr<FFmpegImageProxy> 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<FFmpegImageProxy> proxy (new FFmpegImageProxy (TestPaths::private_data() / "prophet_frame.tiff", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy (new FFmpegImageProxy (TestPaths::private_data() / "prophet_frame.tiff", VideoRange::FULL));
shared_ptr<Image> raw = proxy->image().image;
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/flat_red.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/flat_red.png", VideoRange::FULL));
shared_ptr<Image> raw = proxy->image().image;
shared_ptr<Image> 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<Image> 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> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL));
shared_ptr<Image> xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, true, false);
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL));
shared_ptr<Image> xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, true, false);
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL));
shared_ptr<Image> xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, true, false);
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy(TestPaths::private_data() / "player_seek_test_0.png", VideoRange::FULL));
shared_ptr<Image> xyz = proxy->image().image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, true, false);
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/rgb_grey_testcard.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/rgb_grey_testcard.png", VideoRange::FULL));
shared_ptr<Image> 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<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/3d_test/000001.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/3d_test/000001.png", VideoRange::FULL));
shared_ptr<Image> image_rgb = proxy->image().image;
shared_ptr<Image> 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<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/flat_red.png", VIDEO_RANGE_FULL));
+ shared_ptr<FFmpegImageProxy> proxy(new FFmpegImageProxy("test/data/flat_red.png", VideoRange::FULL));
shared_ptr<Image> 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> image (new Image (AV_PIX_FMT_RGB24, dcp::Size(128, 128), true));
image->make_black ();
shared_ptr<Image> 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> butler (new Butler (film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true));
+ shared_ptr<Butler> 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<shared_ptr<PlayerVideo>, 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> butler (new Butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true));
+ shared_ptr<Butler> 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<shared_ptr<PlayerVideo>, 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> player (new Player(film));
player->set_fast ();
- shared_ptr<Butler> butler (new Butler(film, player, AudioMapping(), 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true));
+ shared_ptr<Butler> 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<Image> ref_image = ref_proxy.image().image;
- FFmpegImageProxy check_proxy (check, VIDEO_RANGE_FULL);
+ FFmpegImageProxy check_proxy (check, VideoRange::FULL);
shared_ptr<Image> 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<int, int> 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<int, int> 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<int, int> range = pixel_range (film, content);
BOOST_CHECK_EQUAL (range.first, 11);