projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More attempts to fix DPX log/lin problems; see comments and #1123.
[dcpomatic.git]
/
src
/
lib
/
ffmpeg_decoder.h
diff --git
a/src/lib/ffmpeg_decoder.h
b/src/lib/ffmpeg_decoder.h
index 6be9f8b1cc79b63cf1042f598e2038f25fbe4b0c..3ea5f580928773c1a8f681aa782e1e4e61e08def 100644
(file)
--- a/
src/lib/ffmpeg_decoder.h
+++ b/
src/lib/ffmpeg_decoder.h
@@
-36,6
+36,7
@@
class Log;
class VideoFilterGraph;
class FFmpegAudioStream;
class AudioBuffers;
class VideoFilterGraph;
class FFmpegAudioStream;
class AudioBuffers;
+class Image;
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
@@
-44,13
+45,14
@@
struct ffmpeg_pts_offset_test;
class FFmpegDecoder : public FFmpeg, public Decoder
{
public:
class FFmpegDecoder : public FFmpeg, public Decoder
{
public:
- FFmpegDecoder (boost::shared_ptr<const FFmpegContent>, boost::shared_ptr<Log>, bool fast);
+ FFmpegDecoder (boost::shared_ptr<const FFmpegContent>, boost::shared_ptr<Log>);
+
+ bool pass ();
+ void seek (ContentTime time, bool);
private:
friend struct ::ffmpeg_pts_offset_test;
private:
friend struct ::ffmpeg_pts_offset_test;
- bool pass (PassReason, bool accurate);
- void seek (ContentTime time, bool);
void flush ();
AVSampleFormat audio_sample_format (boost::shared_ptr<FFmpegAudioStream> stream) const;
void flush ();
AVSampleFormat audio_sample_format (boost::shared_ptr<FFmpegAudioStream> stream) const;
@@
-60,19
+62,20
@@
private:
void decode_audio_packet ();
void decode_subtitle_packet ();
void decode_audio_packet ();
void decode_subtitle_packet ();
- void decode_bitmap_subtitle (AVSubtitleRect const * rect, ContentTime
Period period
);
- void decode_ass_subtitle (std::string ass, ContentTime
Period period
);
+ void decode_bitmap_subtitle (AVSubtitleRect const * rect, ContentTime
from
);
+ void decode_ass_subtitle (std::string ass, ContentTime
from
);
void maybe_add_subtitle ();
boost::shared_ptr<AudioBuffers> deinterleave_audio (boost::shared_ptr<FFmpegAudioStream> stream) const;
void maybe_add_subtitle ();
boost::shared_ptr<AudioBuffers> deinterleave_audio (boost::shared_ptr<FFmpegAudioStream> stream) const;
- std::list<ContentTimePeriod> image_subtitles_during (ContentTimePeriod, bool starting) const;
- std::list<ContentTimePeriod> text_subtitles_during (ContentTimePeriod, bool starting) const;
-
boost::shared_ptr<Log> _log;
std::list<boost::shared_ptr<VideoFilterGraph> > _filter_graphs;
boost::mutex _filter_graphs_mutex;
ContentTime _pts_offset;
boost::shared_ptr<Log> _log;
std::list<boost::shared_ptr<VideoFilterGraph> > _filter_graphs;
boost::mutex _filter_graphs_mutex;
ContentTime _pts_offset;
+ boost::optional<ContentTime> _current_subtitle_to;
+ bool _have_current_subtitle;
+
+ boost::shared_ptr<Image> _black_image;
};
};