28 #ifndef OPENSHOT_FRAMEMAPPER_H 29 #define OPENSHOT_FRAMEMAPPER_H 36 #include "../include/Cache.h" 37 #include "../include/ReaderBase.h" 38 #include "../include/Frame.h" 39 #include "../include/Fraction.h" 40 #include "../include/Exceptions.h" 41 #include "../include/KeyFrame.h" 78 Field() : Frame(0), isOdd(true) { };
80 Field(
long int frame,
bool isodd)
149 AVAudioResampleContext *avr;
152 void AddField(
long int frame);
153 void AddField(
Field field);
156 tr1::shared_ptr<Frame> GetOrCreateFrame(
long int number);
193 tr1::shared_ptr<Frame> GetFrame(
long int requested_frame)
throw(
ReaderClosed);
199 string Name() {
return "FrameMapper"; };
204 Json::Value JsonValue();
205 void SetJsonValue(Json::Value root)
throw(
InvalidFile);
214 void ResampleMappedAudio(tr1::shared_ptr<Frame> frame,
long int original_frame_number);
Classic 2:3:2:3 pull-down.
Cache * GetCache()
Get the cache object used by this reader.
Field(long int frame, bool isodd)
vector< MappedFrame > frames
Header file for OpenMPUtilities (set some common macros)
This abstract class is the base class, used by all readers in libopenshot.
Exception when a reader is closed, and a frame is requested.
This struct holds a single field (half a frame).
This struct holds a the range of samples needed by this frame.
Exception for files that can not be found or opened.
This class represents a fraction.
This class is a cache manager for Frame objects.
ChannelLayout
This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround...
This struct holds two fields which together make up a complete video frame.
Exception for frames that are out of bounds.
This class creates a mapping between 2 different frame rates, applying a specific pull-down technique...
This namespace is the default namespace for all code in the openshot library.
Do not apply pull-down techniques, just repeat or skip entire frames.
Exception for invalid JSON.
string Name()
Return the type name of the class.
PulldownType
This enumeration determines how frame rates are increased or decreased.
Header file for FFmpegUtilities.
Advanced 2:3:3:2 pull-down (minimal dirty frames)