summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_examiner.cc
AgeCommit message (Collapse)Author
2024-03-29Fix crash introduced in previous commit.Carl Hetherington
2024-03-29Fix lack of video rotation in some cases (#2971).Carl Hetherington
Setting the optional to 0 here means we never even looked at the packet side data. This seems to be more of a problem with the v2.17.x branch for some reason.
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.
2023-12-12Add FFmpegExaminer::has_alpha().Carl Hetherington
2022-12-25Show audio bit depth in content properties (#559).Carl Hetherington
2022-04-22Use libdcp's warnings.hCarl Hetherington
2022-02-17Add an assert.Carl Hetherington
2022-02-17Try to handle EAGAIN from avcodec_send_packet() properly.Carl Hetherington
The docs say on EAGAIN we should call avcodec_receive_frame() and then re-send the same packet again. This should do that. This is a fix for errors trigged by the accompanying test.
2022-02-13Relax error handling when examining FFmpeg files (#2187).Carl Hetherington
2022-01-11Use a separate AVFrame for each stream when decoding.Carl Hetherington
This seems to be what ffplay does and it feels like it makes sense as frames may be built from multiple packets AFAICS.
2021-10-03Add PixelQuanta to VideoContent.Carl Hetherington
2021-08-03Fix build with newer FFmpeg.Carl Hetherington
2021-05-21Fix invalid memory access introduced in 6f832724ef942f133f6f8d0a06d7377beea8f7a6v2.15.150Carl Hetherington
2021-05-19Don't assert on a non-existant codec (#1999).Carl Hetherington
2021-05-01Switch decoding to ffmpeg send/receive API.Carl Hetherington
2021-05-01Remove some FFmpeg-related warnings by directly accessing AVFrame.Carl Hetherington
2021-04-08Assorted C++11/formatting cleanups.Carl Hetherington
2021-03-02Tidy up and do flushing more correctly.v2.15.133Carl Hetherington
This seems necessary with the multi-threaded decoding; it looks like we were doing it quite wrong before but getting away with it.
2021-03-02Remove FFmpeg::_packet.Carl Hetherington
2021-03-02C++11 tidying.Carl Hetherington
2021-03-01Fix another crash introduced in cc40b6ea6d882c07c05602d6f3dd1c185481585bCarl Hetherington
2021-03-01Fix warning.Carl Hetherington
2021-03-01Fix crash introduced in previous.Carl Hetherington
2021-03-01With multi-threaded decoding we need to be careful to flushCarl Hetherington
after the main examination loop otherwise we can miss things.
2021-01-27Use enum class for VideoRange.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-11-23Remove swaroop variant.Carl Hetherington
2020-11-11Remove assertion checking that rotations are a multiple of 90.Carl Hetherington
This is checked later, anyway (without asserting) and we have seen files in the wild with other rotations (e.g. -135.62) which do not appear to need rotation to be applied. Fixes #1871. Backported-from-commit: f235ed07f969e1b8b9d3d05082dcdd68ceae771e Backported-from-branch: master
2020-08-03Fix number of frames in the pulldown check.Carl Hetherington
2020-08-03Fix incorrect string find logic.Carl Hetherington
2020-08-02Detect soft 2:3 pulldown (telecine) files and decode them at 23.976.Carl Hetherington
DVD rips from NTSC DVDs are sometimes (always?) encoded using soft 2:3 pulldown. The video frames are actually 23.976 but FFmpeg detects them as 29.97. With the current approach of the video decoder ignoring most PTSs and assuming a constant frame rate it is vital that the file contains the number of frames per second that the detected frame rate predicts. This fixes large sync errors with NTSC DVD rips (#1790).
2020-07-26Ignore FFmpeg warnings in a nicer way.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-05-13swaroop: basics of encrypted MP4 playback.Carl Hetherington
2019-05-10Put Time types in dcpomatic namespace.Carl Hetherington
2018-06-08Whitespace.v2.13.28Carl Hetherington
2018-06-08Auto-rotate videos.Carl Hetherington
2018-06-06Round sample rate calculations in audio FFmpeg examiner.Carl Hetherington
2018-02-10Use av_guess_frame_rate rather than av_stream_get_r_frame_rate;Carl Hetherington
helps with #1030. I hope this isn't a bad idea; this commit should be reverted if there any hints of misread video frame rates.
2018-01-12Don't throw an exception if we can't find bits_per_pixel, as it's not the ↵Carl Hetherington
end of the world.
2017-06-23Attempts to simplify black-filling logic in Player.Carl Hetherington
2017-04-27Initial work on removing storage of subtitle times.Carl Hetherington
2016-11-23Fix hanging subtitles after recent changes to subtitle examination.Carl Hetherington
2016-11-20Fix subtitles (seen in DVB) which have a specified `to' time butCarl Hetherington
then are terminated earlier than that by a num_rects=0 subtitle.
2016-11-20Fix loss of image subtitles with more than 1 rectangle.Carl Hetherington
2016-08-12Remove all use of stringstream in an attempt to fixCarl Hetherington
the suspected thread-unsafe crash bugs on OS X.
2016-07-22Rename SafeStringStream -> locked_stringstream. Bump deps for removal of ↵Carl Hetherington
stringstream.
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