summaryrefslogtreecommitdiff
path: root/src/lib/player.cc
AgeCommit message (Collapse)Author
2016-07-08Support shadow in subtitles (#911).Carl Hetherington
2016-07-02Take y scale into account when deciding subtitle line spacing.Carl Hetherington
2016-07-01Make the preview respond to changes in subtitle line spacing.Carl Hetherington
2016-06-29Fix handling of incorrectly-recognised JPEG2000 files.Carl Hetherington
Previously we asked libdcp whether an imported J2K file was RGB or XYZ. The answer it gives is sometimes wrong, for reasons that are not clear (either the files are not marked correctly, or openjpeg is not parsing whatever metadata correctly). However it seems that, in general, we use the user's specified colour conversion to decide what to do with an image, rather than asking the image what should be done to it. Hence it makes more sense to assume that if a user specifies no colour conversion for a J2K file then the file is XYZ. With preview, the colour conversion from XYZ back to RGB is done by FFmpeg, so we have to set the pixel format correctly on the Image that comes back from J2KImageProxy. Now we get that pixel format from the configured colourspace conversion rather than from openjpeg's guess as to the file's colourspace. It's a bit ugly that the only thing we ask the file about is whether or not it is in YUV (which governs whether or not FFmpeg applies the user's configured YUV-to-RGB conversion). Everything else is decided by the configured conversion. I think there's still some uglyness in here that I can't put my finger on.
2016-06-22Don't bother decoding referenced DCP video if the player will ignore it.Carl Hetherington
2016-06-22Set AudioDecoder::fast a different way.Carl Hetherington
2016-06-21Revert "Use make_shared<>."Carl Hetherington
Support for this seems to vary wildly across DoM's build targets. Stuff that builds on 16.04 won't build on 14.04, for example. Seems to not be worth the hassle now. This reverts commit 5a5324ed3a381a86dfe0a6e3932c1d58fdcd596f.
2016-06-21Use make_shared<>.Carl Hetherington
2016-06-14Clean up of 3D->2D conversion.Carl Hetherington
It makes slightly more sense to discard 2D in the Transcoder rather than the Encoder. Unfortunately this requires quite invasive changes, mainly to remove Encoder::_position and instead derive this information from the PlayerVideo that is being handled. This is also nicer than before, I think. A notable change is that in player.cc; using time rather than content_video_to_dcp(). This means we are assuming that the decoder returns video at the time we ask it to, rather than checking what it has returned. I can't think of a problem with this (yet).
2016-06-14Add VideoFrame class.Carl Hetherington
This puts a frame index with an Eyes, which simplifies code in some areas. I can't think of a better name for it, unfortunately.
2016-06-13Remove caching of old ImageDecoder objects.Carl Hetherington
This breaks things when there is a 3D ImageContent. When you change the video frame type on this content the view does not update because the re-used ImageDecoder recycles the same video without noticing that the frame type has changed. I guess this is sort of `because' the video frame type is used in VideoDecoder::give, which sets up the cache. Unfortunately I can't remember the case which the caching of ImageDecoders was meant to speed up. Maybe this will now become apparent.
2016-05-26Factor out decoder creation to a factory method.Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-25Basics of Atmos content support; can be added to project and appears in ↵Carl Hetherington
timeline.
2016-05-25Add VideoMXFContent (part of #803).Carl Hetherington
2016-05-18Remove Sndfile code and use FFmpeg instead.Carl Hetherington
2016-05-18Fix some incorrect dynamic_pointer_casts.Carl Hetherington
2016-05-18Rename some methods.Carl Hetherington
2016-05-18Basics of splitting up Decoder tree like Content.Carl Hetherington
2016-05-18Move video frame rate ('prepared-for') into Content.Carl Hetherington
2016-05-18Fix Player::overlaps for the new world order.Carl Hetherington
2016-05-18Rename video/audio/subtitle part methods.Carl Hetherington
2016-05-18Split audio; builds.Carl Hetherington
2016-05-18Subtitle rearrangements.Carl Hetherington
2016-05-18Basics of subtitle split.Carl Hetherington
2016-05-18Reasonably straightforward stuff; main things are addingCarl Hetherington
a _parent to VideoContent (mainly, but not only, for signalling) and moving the video shared_ptr into Content, which makes much more sense to replace dynamic_cast tests for whether something has video or whatever. Nearly builds.
2016-05-12Optimise image scaling for the preview.Carl Hetherington
2016-02-26Allow changes to colours of FFmpeg subtitles (#795).Carl Hetherington
2016-02-15Fix scaling of subtitles to be more correct when stretching the fonts.Carl Hetherington
2016-02-15Remove debugging.Carl Hetherington
2016-02-15Support SSA subtitles embedded within FFmpeg files.Carl Hetherington
2016-02-12Rename SubRip -> TextSubtitle.Carl Hetherington
2015-11-08Add appearance dialog for SubRip subtitles.Carl Hetherington
2015-10-30Make sure we have a subtitle if we're trying to reference it.Carl Hetherington
2015-10-30Make it possible to do more stuff when there is missing DCP content in a ↵Carl Hetherington
project.
2015-10-26Reinstate subtitle speed-up patch 526fd6de4c80a7ac9614a1cb0209efff7b171cd5 ↵Carl Hetherington
but only for preview.
2015-10-22Various multi-reel fixes.Carl Hetherington
* _video_frames_enqueued -> _position * some int -> Frame replacements * Call Writer::ref_write when there is nothing to encode / write for one frame. * Assume Encoder::encode is called once per output video frame. * Possibly correct some off-by-1 overlap bugs. * Don't reset _last_written on FAKE write as I believe there is no need.
2015-10-15Fix invalid Interop subtitle times in some cases.Carl Hetherington
Use a much higher "timecode rate" (1000 rather than 24) when representing the time of subtitles internally so that accuracy is preserved and we don't end up rounding things up to give out of range results.
2015-10-12Rename split-by-video content slightly; fix referencing to multi-reel DCPs.Carl Hetherington
2015-10-09Logging improvements to allow prettier displays in the server GUI.Carl Hetherington
2015-10-06Comment.Carl Hetherington
2015-10-061. Set correct FrameRateChanges for subtitle content; they shouldCarl Hetherington
be made from the subtitle's "native" rate so that subtitle times are corrected when the DCP rate is not the same. 2. After this we only need the best overlap rate for SndfileContent so move the code. Also fix it as it never found overlaps before.
2015-10-04Fix subtitle timing under trim.Carl Hetherington
2015-09-28Changes to DCP rate must update player pieces.Carl Hetherington
Piece contains a copy of the DCP video rate so we need new pieces if this changes. Fixes #699.
2015-09-16Back-end for very basic and hacky VF support for a DCP imported as content.Carl Hetherington
2015-09-14Lots of #include <iostream>s for Arch.Carl Hetherington
2015-09-11Fix assertion failure when processors return fewer channels than the DCP has.Carl Hetherington
2015-09-09Use SRC_LINEAR for speed when analysing audio (#685).Carl Hetherington
2015-09-05Don't bother with audio in the film viewer.Carl Hetherington
2015-08-31Apply reverse of recent dcp_to_content_video fix to content_video_to_dcp.Carl Hetherington