28 #ifndef OPENSHOT_FRAMEMAPPER_H 29 #define OPENSHOT_FRAMEMAPPER_H 78 Field() : Frame(0), isOdd(true) { };
80 Field(int64_t frame,
bool isodd)
152 void AddField(int64_t frame);
153 void AddField(
Field field);
156 std::shared_ptr<Frame> GetOrCreateFrame(int64_t number);
182 MappedFrame GetMappedFrame(int64_t TargetFrameNumber);
193 std::shared_ptr<Frame> GetFrame(int64_t requested_frame);
199 string Name() {
return "FrameMapper"; };
203 void SetJson(
string value);
204 Json::Value JsonValue();
205 void SetJsonValue(Json::Value root);
217 void ResampleMappedAudio(std::shared_ptr<Frame> frame, int64_t original_frame_number);
Classic 2:3:2:3 pull-down.
Header file for Fraction class.
vector< MappedFrame > frames
Header file for ReaderBase class.
Header file for OpenMPUtilities (set some common macros)
This abstract class is the base class, used by all readers in libopenshot.
Header file for the Keyframe class.
This struct holds a single field (half a frame).
Header file for CacheMemory class.
This struct holds a the range of samples needed by this frame.
Header file for all Exception classes.
Header file for Frame class.
Field(int64_t frame, bool isodd)
This class represents a fraction.
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.
This class creates a mapping between 2 different frame rates, applying a specific pull-down technique...
CacheMemory * GetCache()
Get the cache object used by this reader.
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.
string Name()
Return the type name of the class.
PulldownType
This enumeration determines how frame rates are increased or decreased.
Header file for FFmpegUtilities.
This class is a memory-based cache manager for Frame objects.
Advanced 2:3:3:2 pull-down (minimal dirty frames)