diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-05-25 22:16:19 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-05-26 21:51:18 +0200 |
| commit | df9b4676aba8b941f124b174393988cad21677e1 (patch) | |
| tree | 21658068cf5b2a74e23339e013398b20b327f886 | |
| parent | e444fbd0d7c8a32e9f50adc19d0d49ae7c489a11 (diff) | |
Remove functors for choosing pixel format output from make_image().
| -rw-r--r-- | src/lib/butler.cc | 3 | ||||
| -rw-r--r-- | src/lib/butler.h | 4 | ||||
| -rw-r--r-- | src/lib/dcp_video.cc | 8 | ||||
| -rw-r--r-- | src/lib/ffmpeg_file_encoder.cc | 6 | ||||
| -rw-r--r-- | src/lib/ffmpeg_film_encoder.cc | 2 | ||||
| -rw-r--r-- | src/lib/mpeg2_encoder.cc | 6 | ||||
| -rw-r--r-- | src/lib/player_video.cc | 25 | ||||
| -rw-r--r-- | src/lib/player_video.h | 9 | ||||
| -rw-r--r-- | src/tools/dcpomatic_player.cc | 4 | ||||
| -rw-r--r-- | src/wx/film_viewer.cc | 2 | ||||
| -rw-r--r-- | src/wx/gl_video_view.cc | 2 | ||||
| -rw-r--r-- | src/wx/simple_video_view.cc | 6 | ||||
| -rw-r--r-- | test/butler_test.cc | 4 | ||||
| -rw-r--r-- | test/dcp_playback_test.cc | 8 | ||||
| -rw-r--r-- | test/player_test.cc | 22 | ||||
| -rw-r--r-- | test/threed_test.cc | 2 | ||||
| -rw-r--r-- | test/video_level_test.cc | 2 | ||||
| -rw-r--r-- | test/video_trim_test.cc | 2 |
18 files changed, 43 insertions, 74 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc index 14f342045..5edd84115 100644 --- a/src/lib/butler.cc +++ b/src/lib/butler.cc @@ -31,7 +31,6 @@ using std::cout; -using std::function; using std::make_pair; using std::pair; using std::shared_ptr; @@ -65,7 +64,7 @@ Butler::Butler( Player& player, AudioMapping audio_mapping, int audio_channels, - function<AVPixelFormat (AVPixelFormat)> pixel_format, + AVPixelFormat pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, diff --git a/src/lib/butler.h b/src/lib/butler.h index 011f0d28e..d85ec90f4 100644 --- a/src/lib/butler.h +++ b/src/lib/butler.h @@ -55,7 +55,7 @@ public: Player& player, AudioMapping map, int audio_channels, - std::function<AVPixelFormat(AVPixelFormat)> pixel_format, + AVPixelFormat pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, @@ -135,7 +135,7 @@ private: bool _disable_audio; - std::function<AVPixelFormat (AVPixelFormat)> _pixel_format; + AVPixelFormat _pixel_format; VideoRange _video_range; Image::Alignment _alignment; bool _fast; diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc index 66c09daca..988a92ac5 100644 --- a/src/lib/dcp_video.cc +++ b/src/lib/dcp_video.cc @@ -102,7 +102,7 @@ DCPVideo::convert_to_xyz(shared_ptr<const PlayerVideo> frame) shared_ptr<dcp::OpenJPEGImage> xyz; if (frame->colour_conversion()) { - auto image = frame->image([](AVPixelFormat) { return AV_PIX_FMT_RGB48LE; }, VideoRange::FULL, false); + auto image = frame->image(AV_PIX_FMT_RGB48LE, VideoRange::FULL, false); xyz = dcp::rgb_to_xyz( image->data()[0], image->size(), @@ -110,7 +110,7 @@ DCPVideo::convert_to_xyz(shared_ptr<const PlayerVideo> frame) frame->colour_conversion().get() ); } else { - auto image = frame->image([](AVPixelFormat) { return AV_PIX_FMT_XYZ12LE; }, VideoRange::FULL, false); + auto image = frame->image(AV_PIX_FMT_XYZ12LE, VideoRange::FULL, false); xyz = make_shared<dcp::OpenJPEGImage>(image->data()[0], image->size(), image->stride()[0]); } @@ -120,7 +120,7 @@ DCPVideo::convert_to_xyz(shared_ptr<const PlayerVideo> frame) dcp::Size DCPVideo::get_size() const { - auto image = _frame->image([](AVPixelFormat) { return AV_PIX_FMT_RGB48LE; }, VideoRange::FULL, false); + auto image = _frame->image(AV_PIX_FMT_RGB48LE, VideoRange::FULL, false); return image->size(); } @@ -130,7 +130,7 @@ DCPVideo::convert_to_xyz(uint16_t* dst) const { DCPOMATIC_ASSERT(_frame->colour_conversion()); - auto image = _frame->image([](AVPixelFormat) { return AV_PIX_FMT_RGB48LE; }, VideoRange::FULL, false); + auto image = _frame->image(AV_PIX_FMT_RGB48LE, VideoRange::FULL, false); dcp::rgb_to_xyz( image->data()[0], dst, diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc index 7f74ae4f6..8f5a75061 100644 --- a/src/lib/ffmpeg_file_encoder.cc +++ b/src/lib/ffmpeg_file_encoder.cc @@ -417,11 +417,7 @@ void FFmpegFileEncoder::video (shared_ptr<PlayerVideo> video, DCPTime time) { /* All our output formats are video range at the moment */ - auto image = video->image ( - bind (&PlayerVideo::force, _pixel_format), - VideoRange::VIDEO, - false - ); + auto image = video->image(_pixel_format, VideoRange::VIDEO, false); auto frame = av_frame_alloc (); DCPOMATIC_ASSERT (frame); diff --git a/src/lib/ffmpeg_film_encoder.cc b/src/lib/ffmpeg_film_encoder.cc index a2d26fd66..f07d6be66 100644 --- a/src/lib/ffmpeg_film_encoder.cc +++ b/src/lib/ffmpeg_film_encoder.cc @@ -71,7 +71,7 @@ FFmpegFilmEncoder::FFmpegFilmEncoder( _player, mixdown_to_stereo ? stereo_map() : many_channel_map(), _output_audio_channels, - boost::bind(&PlayerVideo::force, FFmpegFileEncoder::pixel_format(format)), + FFmpegFileEncoder::pixel_format(format), VideoRange::VIDEO, Image::Alignment::PADDED, false, diff --git a/src/lib/mpeg2_encoder.cc b/src/lib/mpeg2_encoder.cc index 9b9cdfd09..73f3d57e7 100644 --- a/src/lib/mpeg2_encoder.cc +++ b/src/lib/mpeg2_encoder.cc @@ -43,11 +43,7 @@ MPEG2Encoder::encode(shared_ptr<PlayerVideo> pv, dcpomatic::DCPTime time) { VideoEncoder::encode(pv, time); - auto image = pv->image( - [](AVPixelFormat) { return AV_PIX_FMT_YUV420P; }, - VideoRange::VIDEO, - false - ); + auto image = pv->image(AV_PIX_FMT_YUV420P, VideoRange::VIDEO, false); dcp::FFmpegImage ffmpeg_image(time.get() * _film->video_frame_rate() / dcpomatic::DCPTime::HZ); diff --git a/src/lib/player_video.cc b/src/lib/player_video.cc index b2da6c33b..05538b845 100644 --- a/src/lib/player_video.cc +++ b/src/lib/player_video.cc @@ -116,7 +116,7 @@ PlayerVideo::set_text (PositionImage image) shared_ptr<Image> -PlayerVideo::image (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool fast) const +PlayerVideo::image(AVPixelFormat pixel_format, VideoRange video_range, bool fast) const { /* XXX: this assumes that image() and prepare() are only ever called with the same parameters (except crop, inter size, out size, fade) */ @@ -136,13 +136,11 @@ PlayerVideo::raw_image () const /** Create an image for this frame. A lock must be held on _mutex. - * @param pixel_format Function which is called to decide what pixel format the output image should be; - * it is passed the pixel format of the input image from the ImageProxy, and should return the desired - * output pixel format. Two functions force and keep_xyz_or_rgb are provided for use here. + * @param pixel_format Output image pixel format. * @param fast true to be fast at the expense of quality. */ void -PlayerVideo::make_image (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool fast) const +PlayerVideo::make_image(AVPixelFormat pixel_format, VideoRange video_range, bool fast) const { _image_crop = _crop; _image_inter_size = _inter_size; @@ -185,7 +183,7 @@ PlayerVideo::make_image (function<AVPixelFormat (AVPixelFormat)> pixel_format, V } _image = prox.image->crop_scale_window ( - total_crop, _inter_size, _out_size, yuv_to_rgb, _video_range, pixel_format (prox.image->pixel_format()), video_range, Image::Alignment::COMPACT, fast + total_crop, _inter_size, _out_size, yuv_to_rgb, _video_range, pixel_format, video_range, Image::Alignment::COMPACT, fast ); if (_text) { @@ -297,21 +295,8 @@ PlayerVideo::same (shared_ptr<const PlayerVideo> other) const } -AVPixelFormat -PlayerVideo::force (AVPixelFormat force_to) -{ - return force_to; -} - -AVPixelFormat -PlayerVideo::keep_xyz_or_rgb (AVPixelFormat p) -{ - return p == AV_PIX_FMT_XYZ12LE ? AV_PIX_FMT_XYZ12LE : AV_PIX_FMT_RGB48LE; -} - - void -PlayerVideo::prepare (function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, bool proxy_only) +PlayerVideo::prepare(AVPixelFormat pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, bool proxy_only) { _in->prepare (alignment, _inter_size); boost::mutex::scoped_lock lm (_mutex); diff --git a/src/lib/player_video.h b/src/lib/player_video.h index e2968749c..32e462c5f 100644 --- a/src/lib/player_video.h +++ b/src/lib/player_video.h @@ -75,13 +75,10 @@ public: return _text; } - void prepare (std::function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, bool proxy_only); - std::shared_ptr<Image> image (std::function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool fast) const; + void prepare(AVPixelFormat pixel_format, VideoRange video_range, Image::Alignment alignment, bool fast, bool proxy_only); + std::shared_ptr<Image> image(AVPixelFormat pixel_format, VideoRange video_range, bool fast) const; std::shared_ptr<const Image> raw_image () const; - static AVPixelFormat force (AVPixelFormat); - static AVPixelFormat keep_xyz_or_rgb (AVPixelFormat); - void add_metadata(xmlpp::Element* element) const; void write_to_socket (std::shared_ptr<Socket> socket) const; @@ -127,7 +124,7 @@ public: } private: - void make_image (std::function<AVPixelFormat (AVPixelFormat)> pixel_format, VideoRange video_range, bool fast) const; + void make_image(AVPixelFormat pixel_format, VideoRange video_range, bool fast) const; std::shared_ptr<const ImageProxy> _in; Crop _crop; diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index c5242c310..c9eb613d2 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -808,10 +808,10 @@ private: player->Video.connect ([path, &done, this](shared_ptr<PlayerVideo> video, DCPTime) { auto ext = boost::algorithm::to_lower_copy(path.extension().string()); if (ext == ".png") { - auto image = video->image(boost::bind(PlayerVideo::force, AV_PIX_FMT_RGBA), VideoRange::FULL, false); + auto image = video->image(AV_PIX_FMT_RGBA, VideoRange::FULL, false); image_as_png(image).write(path); } else if (ext == ".jpg" || ext == ".jpeg") { - auto image = video->image(boost::bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, false); + auto image = video->image(AV_PIX_FMT_RGB24, VideoRange::FULL, false); image_as_jpeg(image, 80).write(path); } else { error_dialog(this, wxString::Format(_("Unrecognised file extension %s (use .jpg, .jpeg or .png)"), std_to_wx(ext))); diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index ba0651b14..b97ef7bfb 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -247,7 +247,7 @@ FilmViewer::create_butler() *_player, Config::instance()->audio_mapping(_audio_channels), _audio_channels, - boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), + AV_PIX_FMT_RGB24, VideoRange::FULL, (opengl && _optimisation != Optimisation::NONE) ? Image::Alignment::COMPACT : Image::Alignment::PADDED, true, diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index 9e53248f6..f9096be82 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -645,7 +645,7 @@ GLVideoView::set_image(shared_ptr<const PlayerVideo> pv) video = pv->raw_image(); break; case Optimisation::NONE: - video = pv->image(boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true); + video = pv->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true); break; } diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc index c003be7b6..9038920ce 100644 --- a/src/wx/simple_video_view.cc +++ b/src/wx/simple_video_view.cc @@ -245,14 +245,14 @@ SimpleVideoView::update () * The content's specified colour conversion indicates the colourspace * which the content is in (according to the user). * - * PlayerVideo::image (bound to PlayerVideo::force) will take the source - * image and convert it (from whatever the user has said it is) to RGB. + * PlayerVideo::image will take the source image and convert it + * (from whatever the user has said it is) to RGB. */ _state_timer.set ("get image"); auto const pv = player_video(); - _image = pv.first->image(boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true); + _image = pv.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true); if (pv.first->colour_conversion() && pv.first->colour_conversion()->about_equal(dcp::ColourConversion::rec2020_to_xyz(), 1e-6)) { _image = Image::ensure_alignment(_rec2020_filter_graph.get(_image->size(), _image->pixel_format())->process(_image).front(), Image::Alignment::COMPACT); } diff --git a/test/butler_test.cc b/test/butler_test.cc index b95aed4df..706d0e424 100644 --- a/test/butler_test.cc +++ b/test/butler_test.cc @@ -58,7 +58,7 @@ BOOST_AUTO_TEST_CASE (butler_test1) player, map, 6, - boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), + AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::COMPACT, false, @@ -105,7 +105,7 @@ BOOST_AUTO_TEST_CASE (butler_test2) player, map, 6, - boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), + AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::COMPACT, false, diff --git a/test/dcp_playback_test.cc b/test/dcp_playback_test.cc index c63c3c092..7b2280883 100644 --- a/test/dcp_playback_test.cc +++ b/test/dcp_playback_test.cc @@ -28,10 +28,6 @@ using std::make_shared; -using std::make_shared; -#if BOOST_VERSION >= 106100 -using namespace boost::placeholders; -#endif using namespace dcpomatic; @@ -48,7 +44,7 @@ BOOST_AUTO_TEST_CASE (dcp_playback_test) player, AudioMapping(6, 6), 6, - boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), + AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, @@ -64,6 +60,6 @@ BOOST_AUTO_TEST_CASE (dcp_playback_test) } /* assuming DCP is 24fps/48kHz */ butler->get_audio (Butler::Behaviour::BLOCKING, audio_buffer.data(), 2000); - p.first->image(boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true); + p.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true); } } diff --git a/test/player_test.cc b/test/player_test.cc index 60b365eb1..384a73ebc 100644 --- a/test/player_test.cc +++ b/test/player_test.cc @@ -217,7 +217,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test) player.set_play_referenced(); auto butler = std::make_shared<Butler>( - film, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::DISABLED + film, player, AudioMapping(), 2, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::DISABLED ); for (int i = 0; i < 10; ++i) { @@ -225,7 +225,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test) butler->seek (t, true); auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0); BOOST_CHECK_EQUAL(video.second.get(), t.get()); - write_image(video.first->image(bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true), String::compose("build/test/player_seek_test_%1.png", i)); + write_image(video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, 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. @@ -250,7 +250,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test2) player.set_play_referenced(); auto butler = std::make_shared<Butler> - (film, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::DISABLED + (film, player, AudioMapping(), 2, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::DISABLED ); butler->seek(DCPTime::from_seconds(5), true); @@ -261,7 +261,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test2) auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0); BOOST_CHECK_EQUAL(video.second.get(), t.get()); write_image( - video.first->image(bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true), String::compose("build/test/player_seek_test2_%1.png", i) + video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, 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); } @@ -342,7 +342,7 @@ BOOST_AUTO_TEST_CASE (player_trim_crash) Player player(film, Image::Alignment::COMPACT, false); player.set_fast(); auto butler = std::make_shared<Butler>( - film, player, AudioMapping(), 6, bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::COMPACT, true, false, Butler::Audio::ENABLED + film, player, AudioMapping(), 6, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::COMPACT, true, false, Butler::Audio::ENABLED ); /* Wait for the butler to fill */ @@ -473,7 +473,7 @@ BOOST_AUTO_TEST_CASE (encrypted_dcp_with_no_kdm_gives_no_butler_error) auto film2 = new_test_film("encrypted_dcp_with_no_kdm_gives_no_butler_error2", { content2 }); Player player(film, Image::Alignment::COMPACT, false); - Butler butler(film2, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); + Butler butler(film2, player, AudioMapping(), 2, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); float buffer[2000 * 6]; for (int i = 0; i < length; ++i) { @@ -619,7 +619,7 @@ BOOST_AUTO_TEST_CASE(two_d_in_three_d_duplicates) } last_time = time; - auto image = video->image([](AVPixelFormat) { return AV_PIX_FMT_RGB24; }, VideoRange::FULL, false); + auto image = video->image(AV_PIX_FMT_RGB24, VideoRange::FULL, false); auto const size = image->size(); for (int y = 0; y < size.height; ++y) { uint8_t* line = image->data()[0] + y * image->stride()[0]; @@ -669,7 +669,7 @@ BOOST_AUTO_TEST_CASE(three_d_in_two_d_chooses_left) BOOST_CHECK(!last_time || time == *last_time + DCPTime::from_frames(1, 24)); last_time = time; - auto image = video->image([](AVPixelFormat) { return AV_PIX_FMT_RGB24; }, VideoRange::FULL, false); + auto image = video->image(AV_PIX_FMT_RGB24, VideoRange::FULL, false); auto const size = image->size(); for (int y = 0; y < size.height; ++y) { uint8_t* line = image->data()[0] + y * image->stride()[0]; @@ -722,7 +722,7 @@ BOOST_AUTO_TEST_CASE(unmapped_audio_does_not_raise_buffer_error) content->audio->set_mapping(AudioMapping(6 * 2, MAX_DCP_AUDIO_CHANNELS)); Player player(film, Image::Alignment::COMPACT, false); - Butler butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); + Butler butler(film, player, AudioMapping(), 2, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); /* Wait for the butler thread to run for a while; in the case under test it will throw an exception because * the video buffers are filled but no audio comes. @@ -741,12 +741,12 @@ BOOST_AUTO_TEST_CASE(frames_are_copied_correctly_for_low_frame_rates) film->set_video_frame_rate(30); Player player(film, Image::Alignment::COMPACT, false); - Butler butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); + Butler butler(film, player, AudioMapping(), 2, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); /* Check that only red frames come out - previously there would be some black ones mixed in */ for (auto i = 0; i < 24; ++i) { auto frame = butler.get_video(Butler::Behaviour::BLOCKING); - auto image = frame.first->image([](AVPixelFormat) { return AV_PIX_FMT_RGB24; }, VideoRange::FULL, false); + auto image = frame.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, false); for (int y = 0; y < image->size().height; ++y) { uint8_t const* p = image->data()[0] + image->stride()[0] * y; for (int x = 0; x < image->size().width; ++x) { diff --git a/test/threed_test.cc b/test/threed_test.cc index 0df7d9d20..5508eb735 100644 --- a/test/threed_test.cc +++ b/test/threed_test.cc @@ -271,7 +271,7 @@ BOOST_AUTO_TEST_CASE (threed_test_butler_overfill) Player player(film, Image::Alignment::COMPACT, false); int const audio_channels = 2; auto butler = std::make_shared<Butler>( - film, player, AudioMapping(), audio_channels, boost::bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED + film, player, AudioMapping(), audio_channels, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED ); int const audio_frames = 1920; diff --git a/test/video_level_test.cc b/test/video_level_test.cc index 91deb9b9b..01f93bfcb 100644 --- a/test/video_level_test.cc +++ b/test/video_level_test.cc @@ -127,7 +127,7 @@ BOOST_AUTO_TEST_CASE (ffmpeg_image_video_range_expanded) BOOST_REQUIRE (!player->pass()); } - auto image = player_video->image ([](AVPixelFormat f) { return f; }, VideoRange::FULL, false); + auto image = player_video->image(AV_PIX_FMT_RGB24, VideoRange::FULL, false); for (int y = 0; y < size.height; ++y) { uint8_t* p = image->data()[0] + y * image->stride()[0]; diff --git a/test/video_trim_test.cc b/test/video_trim_test.cc index 067e81eaf..b3d3bbb84 100644 --- a/test/video_trim_test.cc +++ b/test/video_trim_test.cc @@ -51,7 +51,7 @@ BOOST_AUTO_TEST_CASE(video_trim_test) BOOST_REQUIRE(!player->pass()); } - image_as_png(first_video->image([](AVPixelFormat) { return AV_PIX_FMT_RGB24; }, VideoRange::FULL, true)).write("build/test/video_trim_test.png"); + image_as_png(first_video->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true)).write("build/test/video_trim_test.png"); check_image("test/data/video_trim_test.png", "build/test/video_trim_test.png"); } |
