summaryrefslogtreecommitdiff
path: root/src/lib/dcp_decoder.h
AgeCommit message (Collapse)Author
2023-12-05Account for split branch in libdcp.splitCarl Hetherington
2023-10-15Fix DCP content font ID allocation to cope with DCPs that have multiple fontsCarl Hetherington
with the same name in the same reel (#2600). Previously we had this id_for_font_in_reel() which would give an ID of N_font-ID. This means we got duplicate font IDs. Here we replace that method with FontAllocator, which gives an ID of N_font-ID for the first font and M_font-ID, where M is a number higher than the highest reel index. The idea is to support the required new IDs without breaking exisiting projects. There is some documentation of how it works in doc/design/fonts
2022-06-07Rearrange subtitle font management.Carl Hetherington
With this change each subtitle coming out of the player has a reference to a dcpomatic::Font that belongs to the TextContent. This hopefully solves a few problems which all basically stemmed from the fact that previously the decoders/player were deciding what the font ID in the output DCP would be - they can't do that properly.
2022-04-20Remove DCP class and replace its functionality with a plain method in libdcp.Carl Hetherington
2021-04-29C++11 tidying.Carl Hetherington
2021-01-20Bump libdcp for better verification, and make API adjustments.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-12-22Pass fonts from content around as FontData.Carl Hetherington
i.e. as a block of memory rather than a file. Also, get the fonts from the decoder rather than the content. Together, these changes allow us to use fonts from SMPTE DCPs added as content. Before, fonts would be messed up in those cases (#1885).
2020-06-19Make Atmos content work more like other content. Now its MXFsv2.15.82Carl Hetherington
are re-written, meaning that they can be encrypted. This (along with the libdcp update) also fixes assorted Atmos bugs.
2020-01-10Give DCPDecoder its own ::position which just returns its internalCarl Hetherington
_next time. This is important because Decoder::position does the wrong thing with DCPs in the following case. 1. DCPDecoder emits a subtitle event (start/stop) at time t. 2. There follows a long time T with no subtitle events. During this time the DCPDecoder's position is reported as t (since TextDecoder notes its position as the time of the last thing it emitted --- which is all it reasonably can do, I think). 3. During this T the DCPDecoder may be incorrectly pass()ed because its position is reported as earlier than it really is; this results in video/audio being emitted by the DCPDecoder but other contemporary sources may not be pass()ed. The upshot of this can be that no audio is emitted, as a contemporary audio source is not pass()ed and hence the merger is waiting for audio that will take a long time to come. When the butler is running this can result in audio underruns as the video buffers overflow with no sign of any audio. It is also simpler this way; DCPDecoder was already maintaining the required information.
2019-10-13Fix failure to load OV after adding a VF to a project.Carl Hetherington
This has the same cause as 19f51503621a57794bd79bac053c9e6549a69f46 i.e. the DCPDecoder re-use optimisation. This commit tries to re-fix 19f515 in a more general way which also takes into account the OV/VF bug. It also adds a unit test.
2019-08-30Make player more tolerant of some DCP errors.Carl Hetherington
2019-07-25Optimise decoder_factory for DCPDecoder by offering the old decoderCarl Hetherington
(if available) to recover the list of reels from, rather than having to scan the filesystem again.
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2018-11-21Put Film pointer into Decoder.Carl Hetherington
2018-11-21Take Film pointer out of Content.Carl Hetherington
2018-09-02Play PNG subtitles from DCPs; possibly not in the right scale.Carl Hetherington
2018-07-23Tidy up after mass rename.Carl Hetherington
2018-07-23More automated renaming.Carl Hetherington
ActiveCaptions -> ActiveText BitmapCaption -> BitmapText ContentCaption -> ContentText ContentTextCaption -> ContentStringText TextCaptionFileContent -> StringTextFileContent TextCaptionFileDecoder -> StringTextFileDecoder TextCaptionFile -> StringTextFile TextCaption -> StringText PlayerCaption -> PlayerText CaptionContent -> TextContent CaptionDecoder -> TextDecoder CaptionPanel -> TextPanel CaptionView -> TextView CaptionAppearanceDialog -> SubtitleAppearanceDialog CaptionType -> TextType
2018-07-21Basics of multiple captions per content so that DCPContent canCarl Hetherington
hold subs and closed captions.
2018-02-07Fix ignore/referencing logic.Carl Hetherington
2017-10-18Pre-roll subtitles when accurate seeking in DCPs to avoid disappearing subs ↵Carl Hetherington
on frame-advance (and in other cases).
2017-09-03Restore correct setup of fast resampler when the player is set to fast.Carl Hetherington
2017-08-14Basics of forced reduction of JPEG2000 decode resolution.Carl Hetherington
2017-04-19Reinstate subtitle list view.Carl Hetherington
2017-04-19Basic grunt-work, untested and unfinished, but it compiles.Carl Hetherington
2016-09-28Yet more libdcp-related build fixes.Carl Hetherington
2016-08-24Allow import of OV/VF DCPs (#906).Carl Hetherington
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-01Use new libdcp reader interface.Carl Hetherington
2016-06-01Compute offset as we go rather than once every pass().Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-18Basics of splitting up Decoder tree like Content.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.
2015-11-03Fix confusion over when DCPDecoder::_next means wrt reels.Carl Hetherington
2015-10-26Reinstate subtitle speed-up patch 526fd6de4c80a7ac9614a1cb0209efff7b171cd5 ↵Carl Hetherington
but only for preview.
2015-10-23Revert "Avoid decoding other packets when looking for subs."Carl Hetherington
This reverts commit 9e025d3f85f9d6d855b3d5e6c90bca0eac3a3d49. It causes corruption in prophet_clip.xml for reasons that are not yet known.
2015-10-16Avoid decoding other packets when looking for subs.Carl Hetherington
The "accumulation" of, for example, video data when we are looking for audio data is an *optimisation* to reduce the number of seeks. It should not be necessary for correctness (the output should be right even if we never kept anything except what we were looking for). Doing this accumulation is not always an optimisation; sometimes not doing it is better. Avoiding it when going back for subtitles is one of these cases.
2015-09-16Back-end for very basic and hacky VF support for a DCP imported as content.Carl Hetherington
2015-09-09Use SRC_LINEAR for speed when analysing audio (#685).Carl Hetherington
2015-08-26Include tidying src/lib/a-j*.hCarl Hetherington
2015-07-06Implement missing support for DCP subs inside DCP content (#631).Carl Hetherington
2015-06-21No-op: remove all trailing whitespace.Carl Hetherington
2015-06-12Remove PassReason stuff.Carl Hetherington
This feels wrong: it means that it is possible for FFmpegDecoder to discard packets. I can't see how this is ok in all cases: maybe we were lucky that it worked at all.
2015-05-13Don't bother decoding video frames when we're seeking around trying to find ↵Carl Hetherington
subtitles.
2015-05-12Assorted image subtitle fixes.Carl Hetherington
2015-01-26Comment.Carl Hetherington
2014-11-07Remove log from ImageProxy hierarchy.Carl Hetherington
2014-07-09Basics of DCP import.Carl Hetherington