summaryrefslogtreecommitdiff
path: root/src/lib/video_decoder.cc
AgeCommit message (Collapse)Author
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-18Rename video/audio/subtitle part methods.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-01-27Possibly better version of d217a16d41dd71c921fa2155e068df7cca11f457.Carl Hetherington
Don't stop returning stuff from get_video when there are frames left in _decoded_video.
2016-01-24Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomaticCarl Hetherington
2016-01-24Stop trying to get frames from a video source when an attemptCarl Hetherington
to get an earlier frame has already failed because the decoder said it has no more data. Before this the VideoDecoder would repeatedly seek to try to get a frame which does not exist. This happens when the header of a file is wrong, it would seem; in the file that triggered the bug the header (as read by DoM or ffprobe) has a length of 137275 frames but the last frame in the file (according to DoM or ffprobe -show_frames) is 136207 (44.5s earlier).
2016-01-24Missing but inconsequential break.Carl Hetherington
2016-01-24Reduce variable scope slightly.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-16Remove the dreaded _decoded_video size assertion.Carl Hetherington
I am reasonably convinced that the accumulation of _decoded_video is an optimisation rather than being required for correctness, so it's no problem to throw frames away as the code will just get them back again if and when it needs them.
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-10-15Use AV_ prefixes on some FFmpeg bits.Carl Hetherington
2015-10-09Logging improvements to allow prettier displays in the server GUI.Carl Hetherington
2015-09-14Lots of #include <iostream>s for Arch.Carl Hetherington
2015-08-18Remove debug code.Carl Hetherington
2015-08-18Include tidying.Carl Hetherington
2015-08-17Do filling correctly for separate-content L/R 3D; before it wasCarl Hetherington
trying to fill each individual piece of content as if it was providing both L and R frames.
2015-07-29Replace Time::frames with Time::frames_round and Time::frames_floor.Carl Hetherington
I believe both are necessary; doing floor instead of round caused #648.
2015-07-24Fix mistaken clamp to length_after_trim after adding trim_start.Carl Hetherington
2015-06-25Add DEBUG_DECODE and some basic debugging of the decoding process.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-06-12Small tidy-up.Carl Hetherington
2015-05-26{Video,Audio}Frame -> Frame.Carl Hetherington
2015-05-13Don't bother decoding video frames when we're seeking around trying to find ↵Carl Hetherington
subtitles.
2015-01-19Fix audio analysis; make sure we don't decode video and let it pile up unwanted.Carl Hetherington
2015-01-19VideoDecoder::_same can just be a local.Carl Hetherington
2015-01-06Add some writer-loop debugging from 1.x; ignore out-of-order frames when ↵Carl Hetherington
they come from decoders; fix hang if there are unsequenced images in the writer queue when we want to stop.
2015-01-05Increase stored-frames limit; fix skip_frame_test reference.Carl Hetherington
2015-01-05Assert in one case where memory usage can build up a lot.Carl Hetherington
2014-12-20Hand-apply d849d411cff28ef5453085791d0b4d7cd73bd070 from master; replace all ↵Carl Hetherington
assert()s with thrown exceptions.
2014-12-09Fix fill_2d not doing what it is specified to do.Carl Hetherington
2014-11-23Various fixes to seek since changing fill code.Carl Hetherington
2014-11-11Hand-apply 80562fe5dce5fd625da583ca6f7c2833f9db8754 from master (remove ↵Carl Hetherington
default scale and use a scale guessed from the content's size and sample aspect ratio).
2014-09-30Basic video fade support.Carl Hetherington
2014-07-09Basics of DCP import.Carl Hetherington
2014-07-01Remove FFmpegDecoder minimal_run and care on seeking, as the ↵Carl Hetherington
VideoDecoder/AudioDecoder has to cope with stuff per-stream anyway.
2014-05-20Merge master.Carl Hetherington
2014-05-14Add ImageProxy class.Carl Hetherington
2014-05-02Comments.Carl Hetherington
2014-05-01Fix 3D support.Carl Hetherington
2014-04-02Various fixes to FFmpeg decoder, including a couple of tests.Carl Hetherington
2014-04-01Merge master.Carl Hetherington
2014-04-01Various small fixes.Carl Hetherington
2014-04-01Basic support for separate 3D left/right sources.Carl Hetherington
2014-03-25It builds.Carl Hetherington
2014-03-21Mostly-merge master.Carl Hetherington