summaryrefslogtreecommitdiff
path: root/src/lib/player_video.cc
AgeCommit message (Collapse)Author
2025-05-26Remove functors for choosing pixel format output from make_image().Carl Hetherington
2025-01-05Bump libdcp for raw_convert changes.Carl Hetherington
raw_convert<string> is gone, so here we use fmt::{to_string,format} instead. Other raw_converts now use fast_float.
2024-03-20Remove all use of add_child() from xmlpp.Carl Hetherington
2024-02-22Merge tag 'v2.16.78' into v2.17.xv2.17.12Carl Hetherington
2024-02-21Make DCPExaminer::size() optional and deal with the consequences.v2.16.78Carl Hetherington
This means we can fix the case of a VF having no known size in a nice way, in turn fixing problems caused by the fix to #2775.
2024-01-28Change how video timing is done.Carl Hetherington
This commit changes the approach with video timing. Previously, we would (more-or-less) try to use every video frame from the content in the output, hoping that they come at a constant frame rate. This is not always the case, however. Here we preserve the PTS of video frames, and then when one arrives we output whatever DCP video frames we can (at the regular DCP frame rate). Hopefully this will solve a range of sync problems, but it could also introduce new ones.
2022-04-07Cleanup: remove unused parameter to PlayerVideo::force.Carl Hetherington
2022-04-03C++11 and whitespace cleanups.Carl Hetherington
2021-10-03Don't scale chroma subsampled images to sizes that don't align with the ↵v2.15.166Carl Hetherington
subsampling (#1872). There's a slightly odd effect when scaling e.g. YVU420 images to odd and then even widths - there's a small but visible luminance shift. I don't know why this happens, but keeping the scaling sizes locked to the subsampling seems to help.
2021-10-03Differentiate requested and actual crop.Carl Hetherington
This is so we limit cropping to what is possible considering chroma subsampling.
2021-09-27Various alignment tidying/fixups.Carl Hetherington
2021-09-27Replace aligned bool with enum Alignment.Carl Hetherington
2021-09-27Various alignment adjustments.Carl Hetherington
2021-09-27When the player is used in OpenGL mode, pass unscaled XYZ data through to ↵Carl Hetherington
the shader and do colourspace conversion there.
2021-09-19Check _inter_size in ::has_j2k() (fixes #2086).Carl Hetherington
The example in the bug shrinks a content DCP while keeping the container the same. We need to check that neither _out_size nor _inter_size have changed, to check for scaling/padding.
2021-09-19Remove an unused using.Carl Hetherington
2021-05-01C++11 tidying.Carl Hetherington
2021-01-31More enum class additions.Carl Hetherington
2021-01-21Adapt for libdcp use of enum class.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-12-01Change re{set,fresh}_metadata to take a film and a size from the player.Carl Hetherington
2020-11-16Make sure we use limited ("video") range data when exporting.Carl Hetherington
Our export formats all currently use limited range but we weren't making sure data fed to the encoders was limited range. Should fix #1832.
2020-11-02Pass around JPEG2000 data as a shared_ptr and hence avoid a copyCarl Hetherington
of 4MB of data for every JPEG2000 frame we decode.
2020-05-11Change video content scaling so that it either:Carl Hetherington
1. scales the content up to fit the DCP container, preserving aspect ratio, or 2. stretches the content to a custom aspect ratio, or 3. scales the content to some custom size.
2020-04-17Rename send_binary -> write_to_socket.Carl Hetherington
2020-04-14Ignore and report failures to decode frames during playback (#1593).Carl Hetherington
2020-04-14Use a struct rather than a std::pair as the return type from ImageProxy::image.Carl Hetherington
2019-05-24Basic ability to set video range (JPEG/MPEG) at least for YUV content. May ↵Carl Hetherington
not work for RGB. See #1509.
2019-04-25Fix preview update when fade is changed (#1531).Carl Hetherington
2019-01-05Fix strange behaviour with single-frame fades (#1440).Carl Hetherington
2018-11-27Similar fix for scaling (#1416).Carl Hetherington
2018-11-27Fix non-updating crop settings (#1421).Carl Hetherington
2018-11-21Take Film pointer out of Content.Carl Hetherington
2018-11-06Do image crop/scale/window in the butler prepare threads.Carl Hetherington
2018-11-06Switch PlayerVideo::always_rgb to a new ::force and use it in FFmpegFileEncoder.Carl Hetherington
2018-11-06Remove some unused parameters.Carl Hetherington
2018-11-06Add some code to help with profiling the player.Carl Hetherington
2018-10-12Change MagickImageProxy to FFmpegImageProxy and make it use FFmpegCarl Hetherington
to decode images. Hence remove {Image,Graphics}Magick.
2018-07-23Tidy up after mass rename.Carl Hetherington
2018-07-20Untested; allow viewing of subtitles or closed captions in the preview.Carl Hetherington
2018-04-13Account for J2K decoding at lower-than-maximum resolution when croppingv2.13.14Carl Hetherington
the resulting images; fixes #1274.
2018-02-28Fix crash if quick_refresh() fails.Carl Hetherington
2018-02-24Speed some operations by re-using the last PlayerVideo but withCarl Hetherington
updated metadata (where possible). Helps with #1194.
2018-02-02Fix incorrect pixel format on subtitles when they are sent to encoding servers.Carl Hetherington
2018-01-31Fix sequencing failure in some very specific circumstances.Carl Hetherington
2017-12-29Add basic memory-used stuff for butler and reduce minimum audioCarl Hetherington
readahead quite a bit. This in turn reduces the maximum butler memory usage as it will keep getting audio (and hence video) until the minimum audio readahead is hit.
2017-07-26Multi-threaded decode of DCP when previewing.Carl Hetherington
2017-06-07Fix crash when alpha-blending subtitles onto YUV420 images.Carl Hetherington
2017-04-19Various Doxygen fixes.Carl Hetherington
2017-04-19Attempt to tidy up internal APIs slightly.Carl Hetherington