summaryrefslogtreecommitdiff
path: root/src/lib/subtitle_decoder.cc
AgeCommit message (Collapse)Author
2018-07-19Rename Subtitle -> TextCarl Hetherington
sed -i "s/SubtitleContent/TextContent/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/SubtitleDecoder/TextDecoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/subtitle_content/text_content/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript src/wx/wscript sed -i "s/subtitle_decoder/text_decoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript mv src/lib/subtitle_decoder.cc src/lib/text_decoder.cc mv src/lib/subtitle_decoder.h src/lib/text_decoder.h mv src/lib/subtitle_content.cc src/lib/text_content.cc mv src/lib/subtitle_content.h src/lib/text_content.h mv src/lib/dcp_subtitle_decoder.cc src/lib/dcp_text_decoder.cc mv src/lib/dcp_subtitle_decoder.h src/lib/dcp_text_decoder.h mv src/lib/dcp_subtitle_content.cc src/lib/dcp_text_content.cc mv src/lib/dcp_subtitle_content.h src/lib/dcp_text_content.h mv src/lib/text_subtitle_content.cc src/lib/text_text_content.cc mv src/lib/text_subtitle_content.h src/lib/text_text_content.h mv src/lib/text_subtitle_decoder.cc src/lib/text_text_decoder.cc mv src/lib/text_subtitle_decoder.h src/lib/text_text_decoder.h mv src/wx/timeline_subtitle_content_view.cc src/wx/timeline_text_content_view.cc mv src/wx/timeline_subtitle_content_view.h src/wx/timeline_text_content_view.h
2018-04-10Missing setup of SubtitleDecoder position causing #1271 and probably other ↵Carl Hetherington
things.
2018-01-13Forcing for fade in/out.Carl Hetherington
2018-01-13Note whether effect is forced or not.Carl Hetherington
2018-01-13Use an enum for the effect in SubtitleContent.Carl Hetherington
2018-01-13Note whether subtitle effect colour is forced or not.Carl Hetherington
2018-01-13Note whether subtitle colour is forced or not.Carl Hetherington
2018-01-10Hacky fix for crash introduced by subtitle appearance changes.Carl Hetherington
2018-01-09Fix forced-appearance for subs from DCPs (#1162).Carl Hetherington
2017-12-13Setup SubtitleDecoder::_position correctly (in some cases).Carl Hetherington
2017-10-08Fix some warnings (part of #1135).Carl Hetherington
2017-07-28Support more detailed horizontal positioning coming from libsub.Carl Hetherington
2017-05-15Fix missing subtitle in some cases.Carl Hetherington
With this timeline: -------> t SUB1 SUB2 X We might seek to X, then pass(). Before this change, SUB1 would have been emitted by the call to the subtitle decoder, then we'd have emitted some black for X. This would lose SUB2. Now we keep pass()ing and don't emit X until it's the earliest thing (in the same way that the main decision of what to pass() works).
2017-04-27Initial work on removing storage of subtitle times.Carl Hetherington
2017-04-19Post-merge tidy-up.Carl Hetherington
2017-04-19Basic grunt-work, untested and unfinished, but it compiles.Carl Hetherington
2016-12-19Fix missing subtitles in the list view, and possibly other problems.Carl Hetherington
2016-12-14Fix missing subtitle when a frame is re-fetched.Carl Hetherington
Before this we would get a subtitle at t, which would set the subtitle decoder position to t. Then a second request for this sub would result in no seek but the decoder would not re-produce the sub.
2016-12-08Further fixes and tidying to 'better-seek'.Carl Hetherington
This fixes the failure to keep track of the `position' of each stream of a multi-stream file. It also tidies things up a bit.
2016-11-21Still more decode logging.Carl Hetherington
2016-11-20Some more decode logging.Carl Hetherington
2016-11-19Move position variables into the video/audio/subtitle decoder classes.Carl Hetherington
2016-11-19Cope with offsets between video/audio/subtitle data in a muxed file.Carl Hetherington
2016-11-17A possibly-better approach to seeking.Carl Hetherington
Before this commit, decoders try to guess whether they should request a seek based on what they have in their buffers. This seems reasonable for video and audio, which will always (I think) have some data lying around to give an indication of where their parent decoders are in the timeline. It doesn't work so well for subtitles, as the storage of subs is cleared out based on time (+/- 5s of "now") so there is a good chance that the storage will be empty. This gives the subtitle decoder no chance of knowing where its parent is, so it's very likely to seek. This commit asks the parent decoder to seek if it wants to, and it decides based on a knowledge of roughly where it is in the timeline. Hence the sub-decoders just see if they have got the data that is being requested, and if not they suggest to the parent that it might like to seek. They then start calling pass(). Hence the parent should only seek if some calls to pass() are not going to elicit the required data in a reasonable time.
2016-10-08Fix overlapping burnt-in subtitles in some cases (#959).Carl Hetherington
Firstly, when finding subtitles that exist during a period, only return those which overlap more than half the period. This means that, in a fight over a frame, the longest-running subtitle in that frame will win. Secondly, make SubtitleDecoder::get pick the wanted subtitles from the cache simply by comparing their periods to those that were requested. I think this is nicer than what was there before (basically reevaulating 'what subtitle(s) for this period') and also makes the first part of this commit effective.
2016-08-20Handle subtitles which contain Pango markup.Carl Hetherington
2016-08-16Basic support for fading subtitles in and out (#923).Carl Hetherington
2016-07-31Allow configuration of MXF/XML filenames (part of #710).Carl Hetherington
2016-07-08Support shadow in subtitles (#911).Carl Hetherington
2016-07-03Adjust line spacing even with subs with specified proportional position.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-07-01First go at making the line spacing do something.Carl Hetherington
2016-06-24Support for underlined subtitles.Carl Hetherington
2016-06-10Go back to referencing subrip from the top of the frame.Carl Hetherington
2016-06-10Tweak subrip position.Carl Hetherington
2016-06-10Fix positioning of SubRip.Carl Hetherington
2016-06-10Specify a default font size if none comes from libsub.Carl Hetherington
Use the specified time period rather than looking in the Subtitle.
2016-06-10Fix thinko.Carl Hetherington
2016-06-09Fix some code duplication and crashes when decoding FFmpeg-embedded ASS ↵Carl Hetherington
subtitles along the way.
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-18Fix seek, for video at least.Carl Hetherington
2016-05-18Rename some methods.Carl Hetherington
2016-05-18Basics of splitting up Decoder tree like Content.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-16Update comment.Carl Hetherington
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-14Lots of #include <iostream>s for Arch.Carl Hetherington
2015-08-31Reduce seek-inducing slack in SubtitleDecoder; see comment.Carl Hetherington