31 #ifndef OPENSHOT_FRAMEMAPPER_H 32 #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 std::string
Name() {
return "FrameMapper"; };
203 void SetJson(std::string value);
204 Json::Value JsonValue();
205 void SetJsonValue(Json::Value root);
220 void ResampleMappedAudio(std::shared_ptr<Frame> frame, int64_t original_frame_number);
Classic 2:3:2:3 pull-down.
Header file for Fraction class.
Header file for ReaderBase class.
Header file for OpenMPUtilities (set some common macros)
std::vector< MappedFrame > frames
std::vector< Field > fields
This abstract class is the base class, used by all readers in libopenshot.
std::string Name()
Return the type name of the class.
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...
void Reader(ReaderBase *new_reader)
Set the current reader.
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.
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)