| 
    OpenShot Library | libopenshot
    0.4.0
    
   | 
 
This class creates a mapping between 2 different frame rates, applying a specific pull-down technique. More...
#include <FrameMapper.h>
Public Member Functions | |
| void | ChangeMapping (Fraction target_fps, PulldownType pulldown, int target_sample_rate, int target_channels, ChannelLayout target_channel_layout) | 
| Change frame rate or audio mapping details.  More... | |
| void | Close () override | 
| Close the openshot::FrameMapper and internal reader.  More... | |
| FrameMapper (ReaderBase *reader, Fraction target_fps, PulldownType target_pulldown, int target_sample_rate, int target_channels, ChannelLayout target_channel_layout) | |
| Default constructor for openshot::FrameMapper class.  More... | |
| CacheMemory * | GetCache () override | 
| Get the cache object used by this reader.  More... | |
| std::shared_ptr< Frame > | GetFrame (int64_t requested_frame) override | 
| This method is required for all derived classes of ReaderBase, and return the openshot::Frame object, which contains the image and audio information for that frame of video.  More... | |
| MappedFrame | GetMappedFrame (int64_t TargetFrameNumber) | 
| Get a frame based on the target frame rate and the new frame number of a frame.  More... | |
| bool | IsOpen () override | 
| Determine if reader is open or closed.  More... | |
| std::string | Json () const override | 
| Generate JSON string of this object.  More... | |
| Json::Value | JsonValue () const override | 
| Generate Json::Value for this object.  More... | |
| std::string | Name () override | 
| Return the type name of the class.  More... | |
| void | Open () override | 
| Open the internal reader.  More... | |
| void | PrintMapping (std::ostream *out=&std::cout) | 
| Print all of the original frames and which new frames they map to.  More... | |
| ReaderBase * | Reader () | 
| Get the current reader.  More... | |
| void | Reader (ReaderBase *new_reader) | 
| Set the current reader.  More... | |
| void | ResampleMappedAudio (std::shared_ptr< Frame > frame, int64_t original_frame_number) | 
| Resample audio and map channels (if needed)  More... | |
| void | SetJson (const std::string value) override | 
| Load JSON string into this object.  More... | |
| void | SetJsonValue (const Json::Value root) override | 
| Load Json::Value into this object.  More... | |
| virtual | ~FrameMapper () | 
| Destructor.  More... | |
  Public Member Functions inherited from openshot::ReaderBase | |
| void | DisplayInfo (std::ostream *out=&std::cout) | 
| Display file information in the standard output stream (stdout)  More... | |
| openshot::ClipBase * | ParentClip () | 
| Parent clip object of this reader (which can be unparented and NULL)  More... | |
| void | ParentClip (openshot::ClipBase *new_clip) | 
| Set parent clip object of this reader.  More... | |
| ReaderBase () | |
| Constructor for the base reader, where many things are initialized.  More... | |
| virtual | ~ReaderBase ()=default | 
Public Attributes | |
| std::vector< Field > | fields | 
| std::vector< MappedFrame > | frames | 
  Public Attributes inherited from openshot::ReaderBase | |
| openshot::ReaderInfo | info | 
| Information about the current media file.  More... | |
Additional Inherited Members | |
  Protected Attributes inherited from openshot::ReaderBase | |
| openshot::ClipBase * | clip | 
| Pointer to the parent clip instance (if any)  More... | |
| std::recursive_mutex | getFrameMutex | 
| Mutex for multiple threads.  More... | |
This class creates a mapping between 2 different frame rates, applying a specific pull-down technique.
This class creates a mapping between 2 different video files, and supports many pull-down techniques, such as 2:3:2:3 or 2:3:3:2, and also supports inverse telecine. Pull-down techniques are only needed to remove artificial fields added when converting between 24 fps (film) and television fps (29.97 fps NTSC or 25 fps PAL).
The following graphic displays a how frame rates are mapped, and how time remapping affects the order of frames returned from the FrameMapper.
Please see the following Example Code:
Definition at line 193 of file FrameMapper.h.
| FrameMapper::FrameMapper | ( | ReaderBase * | reader, | 
| Fraction | target_fps, | ||
| PulldownType | target_pulldown, | ||
| int | target_sample_rate, | ||
| int | target_channels, | ||
| ChannelLayout | target_channel_layout | ||
| ) | 
Default constructor for openshot::FrameMapper class.
Definition at line 25 of file FrameMapper.cpp.
      
  | 
  virtual | 
Destructor.
Definition at line 55 of file FrameMapper.cpp.
| void FrameMapper::ChangeMapping | ( | Fraction | target_fps, | 
| PulldownType | pulldown, | ||
| int | target_sample_rate, | ||
| int | target_channels, | ||
| ChannelLayout | target_channel_layout | ||
| ) | 
Change frame rate or audio mapping details.
Definition at line 787 of file FrameMapper.cpp.
      
  | 
  overridevirtual | 
Close the openshot::FrameMapper and internal reader.
Implements openshot::ReaderBase.
Definition at line 697 of file FrameMapper.cpp.
Referenced by openshot::Timeline::Clear(), SetJsonValue(), and ~FrameMapper().
      
  | 
  inlineoverridevirtual | 
Get the cache object used by this reader.
Implements openshot::ReaderBase.
Definition at line 251 of file FrameMapper.h.
      
  | 
  overridevirtual | 
This method is required for all derived classes of ReaderBase, and return the openshot::Frame object, which contains the image and audio information for that frame of video.
| requested_frame | The frame number that is requested. | 
Implements openshot::ReaderBase.
Definition at line 431 of file FrameMapper.cpp.
| MappedFrame FrameMapper::GetMappedFrame | ( | int64_t | TargetFrameNumber | ) | 
Get a frame based on the target frame rate and the new frame number of a frame.
Definition at line 347 of file FrameMapper.cpp.
Referenced by GetFrame().
      
  | 
  overridevirtual | 
Determine if reader is open or closed.
Implements openshot::ReaderBase.
Definition at line 677 of file FrameMapper.cpp.
      
  | 
  overridevirtual | 
Generate JSON string of this object.
Implements openshot::ReaderBase.
Definition at line 729 of file FrameMapper.cpp.
      
  | 
  overridevirtual | 
Generate Json::Value for this object.
Implements openshot::ReaderBase.
Definition at line 736 of file FrameMapper.cpp.
Referenced by Json().
      
  | 
  inlineoverridevirtual | 
Return the type name of the class.
Implements openshot::ReaderBase.
Definition at line 265 of file FrameMapper.h.
      
  | 
  overridevirtual | 
Open the internal reader.
Implements openshot::ReaderBase.
Definition at line 685 of file FrameMapper.cpp.
Referenced by SetJsonValue().
| void FrameMapper::PrintMapping | ( | std::ostream * | out = &std::cout | ) | 
Print all of the original frames and which new frames they map to.
Definition at line 651 of file FrameMapper.cpp.
| ReaderBase * FrameMapper::Reader | ( | ) | 
Get the current reader.
Definition at line 64 of file FrameMapper.cpp.
Referenced by openshot::Timeline::Clear(), openshot::Timeline::ClearAllCache(), and openshot::Clip::Reader().
      
  | 
  inline | 
Set the current reader.
Definition at line 283 of file FrameMapper.h.
| void FrameMapper::ResampleMappedAudio | ( | std::shared_ptr< Frame > | frame, | 
| int64_t | original_frame_number | ||
| ) | 
Resample audio and map channels (if needed)
Definition at line 832 of file FrameMapper.cpp.
Referenced by GetFrame().
      
  | 
  overridevirtual | 
Load JSON string into this object.
Implements openshot::ReaderBase.
Definition at line 750 of file FrameMapper.cpp.
      
  | 
  overridevirtual | 
Load Json::Value into this object.
Implements openshot::ReaderBase.
Definition at line 773 of file FrameMapper.cpp.
Referenced by SetJson().
| std::vector<Field> openshot::FrameMapper::fields | 
Definition at line 232 of file FrameMapper.h.
| std::vector<MappedFrame> openshot::FrameMapper::frames | 
Definition at line 233 of file FrameMapper.h.
Referenced by GetMappedFrame(), and PrintMapping().
 1.8.17