diff options
Diffstat (limited to 'src/lib/imagemagick_decoder.h')
| -rw-r--r-- | src/lib/imagemagick_decoder.h | 64 |
1 files changed, 12 insertions, 52 deletions
diff --git a/src/lib/imagemagick_decoder.h b/src/lib/imagemagick_decoder.h index 80a08f81f..286f47337 100644 --- a/src/lib/imagemagick_decoder.h +++ b/src/lib/imagemagick_decoder.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,67 +18,27 @@ */ #include "video_decoder.h" +#include "imagemagick.h" namespace Magick { class Image; } -class ImageMagickDecoder : public VideoDecoder +class ImageMagickContent; + +class ImageMagickDecoder : public VideoDecoder, public ImageMagick { public: - ImageMagickDecoder (boost::shared_ptr<Film>, DecodeOptions); - - float frames_per_second () const; - - libdcp::Size native_size () const; - - SourceFrame length () const { - /* We don't know */ - return 0; - } - - int audio_channels () const { - return 0; - } - - int audio_sample_rate () const { - return 0; - } + ImageMagickDecoder (boost::shared_ptr<const Film>, boost::shared_ptr<const ImageMagickContent>); - int64_t audio_channel_layout () const { - return 0; - } + /* Decoder */ - bool seek (double); - bool seek_to_last (); - -protected: - bool pass (); - PixelFormat pixel_format () const; - - int time_base_numerator () const { - return 0; - } - - int time_base_denominator () const { - return 0; - } - - int sample_aspect_ratio_numerator () const { - /* XXX */ - return 1; - } - - int sample_aspect_ratio_denominator () const { - /* XXX */ - return 1; - } + void pass (); + void seek (VideoContent::Frame); + void seek_back (); + bool done () const; private: - void film_changed (Film::Property); - - std::list<std::string> _files; - std::list<std::string>::iterator _iter; - boost::shared_ptr<Image> _image; + mutable boost::optional<libdcp::Size> _video_size; }; |
