Loading...
Searching...
No Matches
openshot Namespace Reference

This namespace is the default namespace for all code in the openshot library. More...

## Classes

class | AnalogTape
| Analog video tape simulation effect. More...
class | AudioBufferSource
| This class is used to expose an AudioBuffer<float> as an AudioSource in JUCE. More...
struct | AudioDeviceInfo
| This struct hold information about Audio Devices. More...
class | AudioDeviceManagerSingleton
| Singleton wrapper for AudioDeviceManager (to prevent multiple instances). More...
class | AudioDevices
| A class which probes the available audio devices. More...
struct | AudioLocation
| This struct holds the associated video frame and starting sample # for an audio packet. More...
class | AudioPlaybackThread
| The audio playback thread. More...
class | AudioReaderSource
| This class is used to expose any ReaderBase derived class as an AudioSource in JUCE. More...
class | AudioResampler
| This class is used to resample audio data for many sequential frames. More...
struct | AudioWaveformData
| This struct holds the extracted waveform data (both the RMS root-mean-squared average, and the max values). More...
class | AudioWaveformer
| This class is used to extra audio data used for generating waveforms. More...
class | Bars
| This class draws black bars around your video (from any side), and can be animated with openshot::Keyframe curves over time. More...
struct | BBox
| This struct holds the information of a bounding-box. More...
class | Blur
| This class adjusts the blur of an image, and can be animated with openshot::Keyframe curves over time. More...
class | Brightness
| This class adjusts the brightness and contrast of an image, and can be animated with openshot::Keyframe curves over time. More...
class | CacheBase
| All cache managers in libopenshot are based on this CacheBase class. More...
class | CacheDisk
| This class is a disk-based cache manager for Frame objects. More...
class | CacheMemory
| This class is a memory-based cache manager for Frame objects. More...
class | Caption
| This class adds captions/text over a video, based on timestamps. You can also animate some limited aspects, such as words appearing/disappearing. More...
class | ChromaKey
| This class removes (i.e. keys out) a color (i.e. greenscreen). More...
struct | ChunkLocation
| This struct holds the location of a frame within a chunk. More...
class | ChunkNotFound
| Exception when a required chunk is missing. More...
class | ChunkReader
| This class reads a special chunk-formatted file, which can be easily shared in a distributed environment. More...
class | ChunkWriter
| This class takes any reader and generates a special type of video file, built with chunks of small video and audio data. More...
class | Clip
| This class represents a clip (used to arrange readers on the timeline). More...
class | ClipBase
| This abstract class is the base class, used by all clips in libopenshot. More...
class | ClipProcessingJobs
class | Color
| This class represents a color (used on the timeline and clips). More...
class | ColorMap
| Applies a 1D or 3D LUT (.cube) color transform to each frame. More...
class | ColorShift
| This class shifts the pixels of an image up, down, left, or right, and can be animated with openshot::Keyframe curves over time. More...
struct | CompareClipEffects
struct | CompareClipEndFrames
struct | CompareClips
struct | CompareEffectEndFrames
| Like CompareClipEndFrames, but for effects. More...
struct | CompareEffects
class | Compressor
| This class adds a compressor into the audio. More...
class | Coordinate
| A Cartesian coordinate (X, Y) used in the Keyframe animation system. More...
class | CrashHandler
| This class is designed to catch exceptions thrown by libc (SIGABRT, SIGSEGV, SIGILL, SIGFPE). More...
class | Crop
| This class crops a frame image (from any side), and can be animated with openshot::Keyframe curves over time. More...
struct | CVDetectionData
class | CVObjectDetection
| This class runs trought a clip to detect objects and returns the bounding boxes and its properties. More...
class | CVTracker
| The tracker class will receive one bounding box provided by the user and then iterate over the clip frames to return the object position in all the frames. More...
class | DecklinkError
| Exception when accessing a blackmagic decklink card. More...
class | Deinterlace
| This class uses the ImageMagick++ libraries, to de-interlace the image, which removes the EVEN or ODD horizontal lines (which represent different points of time). More...
class | Delay
| This class adds a delay into the audio. More...
class | Distortion
| This class adds a distortion into the audio. More...
class | DummyReader
| This class is used as a simple, dummy reader, which can be very useful when writing unit tests. It can return a single blank frame or it can return custom frame objects which were passed into the constructor with a Cache object. More...
class | Echo
| This class adds a echo into the audio. More...
class | EffectBase
| This abstract class is the base class, used by all effects in libopenshot. More...
class | EffectInfo
| This class returns a listing of all effects supported by libopenshot. More...
struct | EffectInfoStruct
| This struct contains info about an effect, such as the name, video or audio effect, etc... More...
class | ErrorDecodingAudio
| Exception when decoding audio packet. More...
class | ErrorEncodingAudio
| Exception when encoding audio packet. More...
class | ErrorEncodingVideo
| Exception when encoding audio packet. More...
class | ExceptionBase
| Base exception class with a custom message variable. More...
class | Expander
| This class adds a expander (or noise gate) into the audio. More...
class | FFmpegReader
| This class uses the FFmpeg libraries, to open video files and audio files, and return openshot::Frame objects for any frame in the file. More...
class | FFmpegWriter
| This class uses the FFmpeg libraries, to write and encode video files and audio files. More...
struct | Field
| This struct holds a single field (half a frame). More...
class | FileExceptionBase
class | Fraction
| This class represents a fraction. More...
class | Frame
| This class represents a single frame of video (i.e. image & audio data). More...
struct | FrameData
class | FrameExceptionBase
class | FrameMapper
| This class creates a mapping between 2 different frame rates, applying a specific pull-down technique. More...
class | Hue
| This class shifts the hue of an image, and can be animated with openshot::Keyframe curves over time. More...
class | IdGenerator
class | ImageReader
| This class uses the ImageMagick++ libraries, to open image files, and return openshot::Frame objects containing the image. More...
class | ImageWriter
| This class uses the ImageMagick library to write image files (including animated GIFs). More...
class | InvalidChannels
| Exception when an invalid # of audio channels are detected. More...
class | InvalidCodec
| Exception when no valid codec is found for a file. More...
class | InvalidFile
| Exception for files that can not be found or opened. More...
class | InvalidFormat
| Exception when no valid format is found for a file. More...
class | InvalidJSON
| Exception for invalid JSON. More...
class | InvalidJSONKey
| Exception for missing JSON Change key. More...
class | InvalidOptions
| Exception when invalid encoding options are used. More...
class | InvalidSampleRate
| Exception when invalid sample rate is detected during encoding. More...
class | Keyframe
| A Keyframe is a collection of Point instances, which is used to vary a number or property over time. More...
class | LensFlare
struct | MappedFrame
| This struct holds two fields which together make up a complete video frame. More...
class | Mask
| This class uses the image libraries to apply alpha (or transparency) masks to any frame. It can also be animated, and used as a powerful Wipe transition. More...
class | Negate
| This class uses the ImageMagick++ libraries, to negate image (i.e. negative). More...
class | Noise
| This class adds a noise into the audio. More...
class | NoStreamsFound
| Exception when no streams are found in the file. More...
class | ObjectDetection
| This effect displays all the detected objects on a clip. More...
struct | OpenShotVersion
| This struct holds version number information. Use the GetVersion() method to access the current version of libopenshot. More...
class | Outline
| This class add an outline around image with transparent background and can be animated with openshot::Keyframe curves over time. More...
class | OutOfBoundsFrame
| Exception for frames that are out of bounds. More...
class | OutOfBoundsPoint
| Exception for an out of bounds key-frame point. More...
class | OutOfMemory
| Exception when memory could not be allocated. More...
struct | PacketStatus
| This struct holds the packet counts and end-of-file detection for an openshot::FFmpegReader. More...
class | ParametricEQ
| This class adds a equalization into the audio. More...
class | Pixelate
| This class pixelates an image, and can be animated with openshot::Keyframe curves over time. More...
class | PlayerBase
| This is the base class of all Players in libopenshot. More...
class | PlayerPrivate
| The private part of QtPlayer class, which contains an audio thread and video thread, and controls the video timing and audio synchronization code. More...
class | Point
| A Point is the basic building block of a key-frame curve. More...
class | Profile
| This class loads a special text-based file called a Profile. More...
struct | ProfileInfo
| This struct holds profile data, typically loaded from a file. More...
class | QtHtmlReader
| This class uses Qt libraries, to create frames with rendered HTML, and return openshot::Frame objects. More...
class | QtImageReader
| This class uses the Qt library, to open image files, and return openshot::Frame objects containing the image. More...
class | QtPlayer
| This class is used to playback a video from a reader. More...
class | QtTextReader
| This class uses Qt libraries, to create frames with "Text", and return openshot::Frame objects. More...
class | ReaderBase
| This abstract class is the base class, used by all readers in libopenshot. More...
class | ReaderClosed
| Exception when a reader is closed, and a frame is requested. More...
struct | ReaderInfo
| This struct contains info about a media file, such as height, width, frames per second, etc... More...
class | RendererBase
| This is the base class of all Renderers in libopenshot. More...
class | ResampleError
| Exception when resample fails. More...
class | Robotization
| This class adds a robotization effect into the audio. More...
struct | SampleRange
| This struct holds a the range of samples needed by this frame. More...
class | Saturation
| This class adjusts the saturation of color on a frame's image. More...
class | Settings
| This class is contains settings used by libopenshot (and can be safely toggled at any point). More...
class | Sharpen
| This class provides a sharpen effect for video frames. More...
class | Shift
| This class shifts the pixels of an image up, down, left, or right, and can be animated with openshot::Keyframe curves over time. More...
class | SphericalProjection
| Projects 360° or fisheye video through a virtual camera. Supports yaw, pitch, roll, input and output FOV, sphere/hemisphere/fisheye modes, optional inversion, and automatic quality selection. More...
class | Stabilizer
| This class stabilizes a video clip to remove undesired shaking and jitter. More...
class | STFT
class | TextReader
| This class uses the ImageMagick++ libraries, to create frames with "Text", and return openshot::Frame objects. More...
class | Thread
class | Timeline
| This class represents a timeline. More...
class | TimelineBase
| This class represents a timeline (used for building generic timeline implementations). More...
struct | TimelineInfoStruct
| This struct contains info about the current Timeline clip instance. More...
class | TooManySeeks
| Exception when too many seek attempts happen. More...
class | TrackedObjectBase
| This abstract class is the base class of all Tracked Objects. More...
class | TrackedObjectBBox
| This class contains the properties of a tracked object and functions to manipulate it. More...
class | Tracker
| This class tracks a given object through the clip, draws a box around it and allow the user to attach another clip (image or video) to the tracked object. More...
class | VideoCacheThread
| Handles prefetching and caching of video/audio frames for smooth playback. More...
class | VideoPlaybackThread
| The video playback class. More...
class | Wave
| This class distorts an image using a wave pattern. More...
class | Whisperization
| This class adds a whisperization effect into the audio. More...
class | WriterBase
| This abstract class is the base class, used by writers. Writers are types of classes that encode video, audio, and image files. More...
class | WriterClosed
| Exception when a writer is closed, and a frame is requested. More...
struct | WriterInfo
| This struct contains info about encoding a media file, such as height, width, frames per second, etc... More...
class | ZmqLogger
| This class is used for logging and sending those logs over a ZemoMQ socket to a listener. More...

## Typedefs

using | AudioDeviceList = std::vector<std::pair<std::string, std::string>>

## Enumerations

enum | AnchorType { ANCHOR_CANVAS , ANCHOR_VIEWPORT }
| This enumeration determines what parent a clip should be aligned to. More...

enum

ChannelLayout {
LAYOUT_MONO = AV_CH_LAYOUT_MONO , LAYOUT_STEREO = AV_CH_LAYOUT_STEREO , LAYOUT_2POINT1 = AV_CH_LAYOUT_2POINT1 , LAYOUT_2_1 = AV_CH_LAYOUT_2_1 ,
LAYOUT_SURROUND = AV_CH_LAYOUT_SURROUND , LAYOUT_3POINT1 = AV_CH_LAYOUT_3POINT1 , LAYOUT_4POINT0 = AV_CH_LAYOUT_4POINT0 , LAYOUT_4POINT1 = AV_CH_LAYOUT_4POINT1 ,
LAYOUT_2_2 = AV_CH_LAYOUT_2_2 , LAYOUT_QUAD = AV_CH_LAYOUT_QUAD , LAYOUT_5POINT0 = AV_CH_LAYOUT_5POINT0 , LAYOUT_5POINT1 = AV_CH_LAYOUT_5POINT1 ,
LAYOUT_5POINT0_BACK = AV_CH_LAYOUT_5POINT0_BACK , LAYOUT_5POINT1_BACK = AV_CH_LAYOUT_5POINT1_BACK , LAYOUT_6POINT0 = AV_CH_LAYOUT_6POINT0 , LAYOUT_6POINT0_FRONT = AV_CH_LAYOUT_6POINT0_FRONT ,
LAYOUT_HEXAGONAL = AV_CH_LAYOUT_HEXAGONAL , LAYOUT_6POINT1 = AV_CH_LAYOUT_6POINT1 , LAYOUT_6POINT1_BACK = AV_CH_LAYOUT_6POINT1_BACK , LAYOUT_6POINT1_FRONT = AV_CH_LAYOUT_6POINT1_FRONT ,
LAYOUT_7POINT0 = AV_CH_LAYOUT_7POINT0 , LAYOUT_7POINT0_FRONT = AV_CH_LAYOUT_7POINT0_FRONT , LAYOUT_7POINT1 = AV_CH_LAYOUT_7POINT1 , LAYOUT_7POINT1_WIDE = AV_CH_LAYOUT_7POINT1_WIDE ,
LAYOUT_7POINT1_WIDE_BACK = AV_CH_LAYOUT_7POINT1_WIDE_BACK , LAYOUT_OCTAGONAL = AV_CH_LAYOUT_OCTAGONAL , LAYOUT_STEREO_DOWNMIX = AV_CH_LAYOUT_STEREO_DOWNMIX
}

| This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround, etc...). More...
enum | ChromaKeyMethod { CHROMAKEY_BASIC , CHROMAKEY_HSVL_H , CHROMAKEY_HSV_S , CHROMAKEY_HSL_S , CHROMAKEY_HSV_V , CHROMAKEY_HSL_L , CHROMAKEY_CIE_LCH_L , CHROMAKEY_CIE_LCH_C , CHROMAKEY_CIE_LCH_H , CHROMAKEY_CIE_DISTANCE , CHROMAKEY_YCBCR , CHROMAKEY_LAST_METHOD = CHROMAKEY_YCBCR }
| This enumeration determines the algorithm used by the ChromaKey filter. More...
enum | ChunkVersion { THUMBNAIL , PREVIEW , FINAL }
| This enumeration allows the user to choose which version of the chunk they would like (low, medium, or high quality). More...

enum

CompositeType {
COMPOSITE_SOURCE_OVER , COMPOSITE_DESTINATION_OVER , COMPOSITE_CLEAR , COMPOSITE_SOURCE ,
COMPOSITE_DESTINATION , COMPOSITE_SOURCE_IN , COMPOSITE_DESTINATION_IN , COMPOSITE_SOURCE_OUT ,
COMPOSITE_DESTINATION_OUT , COMPOSITE_SOURCE_ATOP , COMPOSITE_DESTINATION_ATOP , COMPOSITE_XOR ,
COMPOSITE_PLUS , COMPOSITE_MULTIPLY , COMPOSITE_SCREEN , COMPOSITE_OVERLAY ,
COMPOSITE_DARKEN , COMPOSITE_LIGHTEN , COMPOSITE_COLOR_DODGE , COMPOSITE_COLOR_BURN ,
COMPOSITE_HARD_LIGHT , COMPOSITE_SOFT_LIGHT , COMPOSITE_DIFFERENCE , COMPOSITE_EXCLUSION ,
COMPOSITE_LAST = COMPOSITE_EXCLUSION
}

| This enumeration determines how clips are composited onto lower layers. More...
enum | DistortionType { HARD_CLIPPING , SOFT_CLIPPING , EXPONENTIAL , FULL_WAVE_RECTIFIER , HALF_WAVE_RECTIFIER }
| This enumeration determines the distortion type of Distortion Effect. More...
enum class | DurationStrategy { LongestStream , VideoPreferred , AudioPreferred }
| This enumeration determines which duration source to favor. More...
enum | FFTSize { FFT_SIZE_32 , FFT_SIZE_64 , FFT_SIZE_128 , FFT_SIZE_256 , FFT_SIZE_512 , FFT_SIZE_1024 , FFT_SIZE_2048 , FFT_SIZE_4096 , FFT_SIZE_8192 }
| This enumeration determines the FFT size. More...
enum | FilterType { LOW_PASS , HIGH_PASS , LOW_SHELF , HIGH_SHELF , BAND_PASS , BAND_STOP , PEAKING_NOTCH }
| This enumeration determines the filter type of ParametricEQ Effect. More...
enum | FrameDisplayType { FRAME_DISPLAY_NONE , FRAME_DISPLAY_CLIP , FRAME_DISPLAY_TIMELINE , FRAME_DISPLAY_BOTH }
| This enumeration determines the display format of the clip's frame number (if any). Useful for debugging. More...
enum | GravityType { GRAVITY_TOP_LEFT , GRAVITY_TOP , GRAVITY_TOP_RIGHT , GRAVITY_LEFT , GRAVITY_CENTER , GRAVITY_RIGHT , GRAVITY_BOTTOM_LEFT , GRAVITY_BOTTOM , GRAVITY_BOTTOM_RIGHT }
| This enumeration determines how clips are aligned to their parent container. More...
enum | HandleType { AUTO , MANUAL }
| When BEZIER interpolation is used, the point's left and right handles are used to influence the direction of the curve. More...
enum | HopSize { HOP_SIZE_2 , HOP_SIZE_4 , HOP_SIZE_8 }
| This enumeration determines the hop size. More...
enum | InterpolationType { BEZIER , LINEAR , CONSTANT }
| This controls how a Keyframe uses this point to interpolate between two points. More...
enum | PlaybackMode { PLAYBACK_PLAY , PLAYBACK_PAUSED , PLAYBACK_LOADING , PLAYBACK_STOPPED }
| This enumeration determines the mode of the video player (i.e. playing, paused, etc...). More...
enum | PulldownType { PULLDOWN_CLASSIC , PULLDOWN_ADVANCED , PULLDOWN_NONE }
| This enumeration determines how frame rates are increased or decreased. More...
enum | ScaleType { SCALE_CROP , SCALE_FIT , SCALE_STRETCH , SCALE_NONE }
| This enumeration determines how clips are scaled to fit their parent container. More...
enum | StreamType { VIDEO_STREAM , AUDIO_STREAM }
| This enumeration designates the type of stream when encoding (video or audio). More...
enum | VolumeMixType { VOLUME_MIX_NONE , VOLUME_MIX_AVERAGE , VOLUME_MIX_REDUCE }
| This enumeration determines the strategy when mixing audio with other clips. More...
enum | WindowType { RECTANGULAR , BART_LETT , HANN , HAMMING }
| This enumeration determines the window type. More...

## Functions

void | aligned_free (void *ptr)
void | ApplyCropResizeScale (Clip *clip, int source_width, int source_height, int &max_width, int &max_height)
| Scale the requested max_width / max_height based on the Crop resize amount, capped by source size.
const Crop * | FindResizingCropEffect (Clip *clip)
| Return the first Crop effect on this clip that has resize enabled (if any).
OpenShotVersion | GetVersion ()
| Get the current version number of libopenshot (major, minor, and build number).
double | InterpolateBetween (Point const &left, Point const &right, double target, double allowed_error)
| Interpolate two points using the right Point's interpolation method.
double | InterpolateBezierCurve (Point const &left, Point const &right, double const target, double const allowed_error)
| Bezier interpolation between two points.
double | InterpolateLinearCurve (Point const &left, Point const &right, double const target)
| Linear interpolation between two points.
bool | IsPointBeforeX (Point const &p, double const x)
| Check if the X coordinate of a given Point is lower than a given value.
std::shared_ptr< QImage > | Magick2QImage (std::shared_ptr< Magick::Image >)
| Convert Magick::Image to QImage.
template<class numT>
numT | operator* (const numT &left, const openshot::Fraction &right)
| Multiplication in the form (numeric_value * openshot_Fraction).
template<class numT>
numT | operator/ (const numT &left, const openshot::Fraction &right)
| Division in the form (numeric_value / openshot_Fraction).
template<class charT, class traits>
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &o, const openshot::Coordinate &co)
| Stream output operator for openshot::Coordinate.
template<class charT, class traits>
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &o, const openshot::Fraction &frac)
template<class charT, class traits>
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &o, const openshot::Point &p)
std::shared_ptr< Magick::Image > | QImage2Magick (std::shared_ptr< QImage >)
| Convert QImage to Magick::Image.
const Json::Value | stringToJson (const std::string value)
bool | TrimMemoryToOS (bool force=false) noexcept
| Attempt to return unused heap memory to the operating system.

## Variables

int | close_to_sync = 5

## Detailed Description

This namespace is the default namespace for all code in the openshot library.

## Typedef Documentation

## AudioDeviceList

using openshot::AudioDeviceList = std::vector<std::pair<std::string, std::string>>

Definition at line 42 of file AudioDevices.h.

## Enumeration Type Documentation

## AnchorType

enum openshot::AnchorType

This enumeration determines what parent a clip should be aligned to.

Enumerator
ANCHOR_CANVAS | Anchor the clip to the canvas.
ANCHOR_VIEWPORT | Anchor the clip to the viewport (which can be moved / animated around the canvas).

Definition at line 44 of file Enums.h.

## ChannelLayout

enum openshot::ChannelLayout

This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround, etc...).

When writing video and audio files, you will need to specify the channel layout of the audio stream. libopenshot can convert between many different channel layouts (such as stereo, mono, 5 point surround, etc...)

Enumerator
LAYOUT_MONO |
LAYOUT_STEREO |
LAYOUT_2POINT1 |
LAYOUT_2_1 |
LAYOUT_SURROUND |
LAYOUT_3POINT1 |
LAYOUT_4POINT0 |
LAYOUT_4POINT1 |
LAYOUT_2_2 |
LAYOUT_QUAD |
LAYOUT_5POINT0 |
LAYOUT_5POINT1 |
LAYOUT_5POINT0_BACK |
LAYOUT_5POINT1_BACK |
LAYOUT_6POINT0 |
LAYOUT_6POINT0_FRONT |
LAYOUT_HEXAGONAL |
LAYOUT_6POINT1 |
LAYOUT_6POINT1_BACK |
LAYOUT_6POINT1_FRONT |
LAYOUT_7POINT0 |
LAYOUT_7POINT0_FRONT |
LAYOUT_7POINT1 |
LAYOUT_7POINT1_WIDE |
LAYOUT_7POINT1_WIDE_BACK |
LAYOUT_OCTAGONAL |
LAYOUT_STEREO_DOWNMIX |

Definition at line 28 of file ChannelLayouts.h.

## ChromaKeyMethod

enum openshot::ChromaKeyMethod

This enumeration determines the algorithm used by the ChromaKey filter.

Enumerator
CHROMAKEY_BASIC | Length of difference between RGB vectors.
CHROMAKEY_HSVL_H | Difference between HSV/HSL hues.
CHROMAKEY_HSV_S | Difference between HSV saturations.
CHROMAKEY_HSL_S | Difference between HSL saturations.
CHROMAKEY_HSV_V | Difference between HSV values.
CHROMAKEY_HSL_L | Difference between HSL luminances.
CHROMAKEY_CIE_LCH_L | Difference between CIE LCH(ab) luminousities.
CHROMAKEY_CIE_LCH_C | Difference between CIE LCH(ab) chromas.
CHROMAKEY_CIE_LCH_H | Difference between CIE LCH(ab) hues.
CHROMAKEY_CIE_DISTANCE | CIEDE2000 perceptual difference.
CHROMAKEY_YCBCR | YCbCr vector difference of CbCr.
CHROMAKEY_LAST_METHOD |

Definition at line 158 of file Enums.h.

## ChunkVersion

enum openshot::ChunkVersion

This enumeration allows the user to choose which version of the chunk they would like (low, medium, or high quality).

Since chunks contain multiple video streams, this version enumeration allows the user to choose which version of the chunk they would like. For example, if you want a small version with reduced quality, you can choose the THUMBNAIL version. This is used on the ChunkReader constructor.

Enumerator
THUMBNAIL | The lowest quality stream contained in this chunk file.
PREVIEW | The medium quality stream contained in this chunk file.
FINAL | The highest quality stream contained in this chunk file.

Definition at line 49 of file ChunkReader.h.

## CompositeType

enum openshot::CompositeType

This enumeration determines how clips are composited onto lower layers.

Enumerator
COMPOSITE_SOURCE_OVER |
COMPOSITE_DESTINATION_OVER |
COMPOSITE_CLEAR |
COMPOSITE_SOURCE |
COMPOSITE_DESTINATION |
COMPOSITE_SOURCE_IN |
COMPOSITE_DESTINATION_IN |
COMPOSITE_SOURCE_OUT |
COMPOSITE_DESTINATION_OUT |
COMPOSITE_SOURCE_ATOP |
COMPOSITE_DESTINATION_ATOP |
COMPOSITE_XOR |
COMPOSITE_PLUS |
COMPOSITE_MULTIPLY |
COMPOSITE_SCREEN |
COMPOSITE_OVERLAY |
COMPOSITE_DARKEN |
COMPOSITE_LIGHTEN |
COMPOSITE_COLOR_DODGE |
COMPOSITE_COLOR_BURN |
COMPOSITE_HARD_LIGHT |
COMPOSITE_SOFT_LIGHT |
COMPOSITE_DIFFERENCE |
COMPOSITE_EXCLUSION |
COMPOSITE_LAST |

Definition at line 75 of file Enums.h.

## DistortionType

enum openshot::DistortionType

This enumeration determines the distortion type of Distortion Effect.

Enumerator
HARD_CLIPPING |
SOFT_CLIPPING |
EXPONENTIAL |
FULL_WAVE_RECTIFIER |
HALF_WAVE_RECTIFIER |

Definition at line 107 of file Enums.h.

## DurationStrategy

enum class openshot::DurationStrategy

strong

This enumeration determines which duration source to favor.

Enumerator
LongestStream | Use the longest value from video, audio, or container.
VideoPreferred | Prefer the video stream's duration, fallback to audio then container.
AudioPreferred | Prefer the audio stream's duration, fallback to video then container.

Definition at line 60 of file Enums.h.

## FFTSize

enum openshot::FFTSize

This enumeration determines the FFT size.

Enumerator
FFT_SIZE_32 |
FFT_SIZE_64 |
FFT_SIZE_128 |
FFT_SIZE_256 |
FFT_SIZE_512 |
FFT_SIZE_1024 |
FFT_SIZE_2048 |
FFT_SIZE_4096 |
FFT_SIZE_8192 |

Definition at line 129 of file Enums.h.

## FilterType

enum openshot::FilterType

This enumeration determines the filter type of ParametricEQ Effect.

Enumerator
LOW_PASS |
HIGH_PASS |
LOW_SHELF |
HIGH_SHELF |
BAND_PASS |
BAND_STOP |
PEAKING_NOTCH |

Definition at line 117 of file Enums.h.

## FrameDisplayType

enum openshot::FrameDisplayType

This enumeration determines the display format of the clip's frame number (if any). Useful for debugging.

Enumerator
FRAME_DISPLAY_NONE | Do not display the frame number.
FRAME_DISPLAY_CLIP | Display the clip's internal frame number.
FRAME_DISPLAY_TIMELINE | Display the timeline's frame number.
FRAME_DISPLAY_BOTH | Display both the clip's and timeline's frame number.

Definition at line 51 of file Enums.h.

## GravityType

enum openshot::GravityType

This enumeration determines how clips are aligned to their parent container.

Enumerator
GRAVITY_TOP_LEFT | Align clip to the top left of its parent.
GRAVITY_TOP | Align clip to the top center of its parent.
GRAVITY_TOP_RIGHT | Align clip to the top right of its parent.
GRAVITY_LEFT | Align clip to the left of its parent (middle aligned).
GRAVITY_CENTER | Align clip to the center of its parent (middle aligned).
GRAVITY_RIGHT | Align clip to the right of its parent (middle aligned).
GRAVITY_BOTTOM_LEFT | Align clip to the bottom left of its parent.
GRAVITY_BOTTOM | Align clip to the bottom center of its parent.
GRAVITY_BOTTOM_RIGHT | Align clip to the bottom right of its parent.

Definition at line 21 of file Enums.h.

## HandleType

enum openshot::HandleType

When BEZIER interpolation is used, the point's left and right handles are used to influence the direction of the curve.

AUTO will try and adjust the handles automatically, to achieve the smoothest curves. MANUAL will leave the handles alone, making it the responsibility of the user to set them.

Enumerator
AUTO | Automatically adjust the handles to achieve the smoothest curve.
MANUAL | Do not automatically adjust handles (set them manually).

Definition at line 41 of file Point.h.

## HopSize

enum openshot::HopSize

This enumeration determines the hop size.

Enumerator
HOP_SIZE_2 |
HOP_SIZE_4 |
HOP_SIZE_8 |

Definition at line 143 of file Enums.h.

## InterpolationType

enum openshot::InterpolationType

This controls how a Keyframe uses this point to interpolate between two points.

Bezier is a smooth curve. Linear is a straight line. Constant is a jump from the previous point to this one.

Enumerator
BEZIER | Bezier curves are quadratic curves, which create a smooth curve.
LINEAR | Linear curves are angular, straight lines between two points.
CONSTANT | Constant curves jump from their previous position to a new one (with no interpolation).

Definition at line 28 of file Point.h.

## PlaybackMode

enum openshot::PlaybackMode

This enumeration determines the mode of the video player (i.e. playing, paused, etc...).

A player can be in one of the following modes, which controls how it behaves.

Enumerator
PLAYBACK_PLAY | Play the video normally.
PLAYBACK_PAUSED | Pause the video (holding the last displayed frame).
PLAYBACK_LOADING | Loading the video (display a loading animation).
PLAYBACK_STOPPED | Stop playing the video (clear cache, done with player).

Definition at line 26 of file PlayerBase.h.

## PulldownType

enum openshot::PulldownType

This enumeration determines how frame rates are increased or decreased.

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).

Enumerator
PULLDOWN_CLASSIC | Classic 2:3:2:3 pull-down.
PULLDOWN_ADVANCED | Advanced 2:3:3:2 pull-down (minimal dirty frames).
PULLDOWN_NONE | Do not apply pull-down techniques, just repeat or skip entire frames.

Definition at line 42 of file FrameMapper.h.

## ScaleType

enum openshot::ScaleType

This enumeration determines how clips are scaled to fit their parent container.

Enumerator
SCALE_CROP | Scale the clip until both height and width fill the canvas (cropping the overlap).
SCALE_FIT | Scale the clip until either height or width fills the canvas (with no cropping).
SCALE_STRETCH | Scale the clip until both height and width fill the canvas (distort to fit).
SCALE_NONE | Do not scale the clip.

Definition at line 35 of file Enums.h.

## StreamType

enum openshot::StreamType

This enumeration designates the type of stream when encoding (video or audio).

Enumerator
VIDEO_STREAM | A video stream (used to determine which type of stream).
AUDIO_STREAM | An audio stream (used to determine which type of stream).

Definition at line 28 of file FFmpegWriter.h.

## VolumeMixType

enum openshot::VolumeMixType

This enumeration determines the strategy when mixing audio with other clips.

Enumerator
VOLUME_MIX_NONE | Do not apply any volume mixing adjustments. Just add the samples together.
VOLUME_MIX_AVERAGE | Evenly divide the overlapping clips volume keyframes, so that the sum does not exceed 100%.
VOLUME_MIX_REDUCE | Reduce volume by about %25, and then mix (louder, but could cause pops if the sum exceeds 100%).

Definition at line 67 of file Enums.h.

## WindowType

enum openshot::WindowType

This enumeration determines the window type.

Enumerator
RECTANGULAR |
BART_LETT |
HANN |
HAMMING |

Definition at line 150 of file Enums.h.

## Function Documentation

## aligned_free()

void openshot::aligned_free | ( | void * | ptr | ) |

inline

Definition at line 32 of file QtUtilities.h.

## ApplyCropResizeScale()

void openshot::ApplyCropResizeScale | ( | Clip * | clip,
|  | int | source_width,
|  | int | source_height,
|  | int & | max_width,
|  | int & | max_height )

Scale the requested max_width / max_height based on the Crop resize amount, capped by source size.

Definition at line 40 of file CropHelpers.cpp.

## FindResizingCropEffect()

const Crop * openshot::FindResizingCropEffect | ( | Clip * | clip | ) |

Return the first Crop effect on this clip that has resize enabled (if any).

Definition at line 24 of file CropHelpers.cpp.

Referenced by ApplyCropResizeScale().

## GetVersion()

openshot::OpenShotVersion openshot::GetVersion | ( |  | ) |

Get the current version number of libopenshot (major, minor, and build number).

Definition at line 17 of file OpenShotVersion.cpp.

## InterpolateBetween()

double openshot::InterpolateBetween | ( | Point const & | left,
|  | Point const & | right,
|  | double | target,
|  | double | allowed_error )

Interpolate two points using the right Point's interpolation method.

Definition at line 80 of file KeyFrame.cpp.

Referenced by openshot::Keyframe::GetValue(), openshot::TrackedObjectBBox::InterpolateBoxes(), and SearchBetweenPoints().

## InterpolateBezierCurve()

double openshot::InterpolateBezierCurve | ( | Point const & | left,
|  | Point const & | right,
|  | double const | target,
|  | double const | allowed_error )

Bezier interpolation between two points.

Definition at line 44 of file KeyFrame.cpp.

Referenced by InterpolateBetween().

## InterpolateLinearCurve()

double openshot::InterpolateLinearCurve | ( | Point const & | left,
|  | Point const & | right,
|  | double const | target )

Linear interpolation between two points.

Definition at line 36 of file KeyFrame.cpp.

Referenced by InterpolateBetween().

## IsPointBeforeX()

bool openshot::IsPointBeforeX | ( | Point const & | p,
|  | double const | x )

Check if the X coordinate of a given Point is lower than a given value.

Definition at line 31 of file KeyFrame.cpp.

Referenced by openshot::Keyframe::AddPoint(), openshot::Keyframe::Contains(), openshot::Keyframe::GetClosestPoint(), and openshot::Keyframe::GetValue().

## Magick2QImage()

std::shared_ptr< QImage > openshot::Magick2QImage | ( | std::shared_ptr< Magick::Image > | image | ) |

Convert Magick::Image to QImage.

Definition at line 46 of file MagickUtilities.cpp.

Referenced by openshot::ImageReader::GetFrame(), and openshot::TextReader::GetFrame().

## operator*()

template<class numT>

numT openshot::operator* | ( | const numT & | left,
|  | const openshot::Fraction & | right )

Multiplication in the form (numeric_value * openshot_Fraction).

Definition at line 95 of file Fraction.h.

## operator/()

template<class numT>

numT openshot::operator/ | ( | const numT & | left,
|  | const openshot::Fraction & | right )

Division in the form (numeric_value / openshot_Fraction).

Definition at line 101 of file Fraction.h.

## operator<<() [1/3]

template<class charT, class traits>

std::basic_ostream< charT, traits > & openshot::operator<< | ( | std::basic_ostream< charT, traits > & | o,
|  | const openshot::Coordinate & | co )

Stream output operator for openshot::Coordinate.

Definition at line 1 of file Coordinate.h.

## operator<<() [2/3]

template<class charT, class traits>

std::basic_ostream< charT, traits > & openshot::operator<< | ( | std::basic_ostream< charT, traits > & | o,
|  | const openshot::Fraction & | frac )

Definition at line 101 of file Fraction.h.

## operator<<() [3/3]

template<class charT, class traits>

std::basic_ostream< charT, traits > & openshot::operator<< | ( | std::basic_ostream< charT, traits > & | o,
|  | const openshot::Point & | p )

Definition at line 1 of file Point.h.

## QImage2Magick()

std::shared_ptr< Magick::Image > openshot::QImage2Magick | ( | std::shared_ptr< QImage > | image | ) |

Convert QImage to Magick::Image.

Definition at line 21 of file MagickUtilities.cpp.

Referenced by openshot::ImageWriter::WriteFrame().

## stringToJson()

const Json::Value openshot::stringToJson | ( | const std::string | value | ) |

Definition at line 16 of file Json.cpp.

Referenced by openshot::Timeline::ApplyJsonDiff(), openshot::CacheDisk::JsonValue(), openshot::CacheMemory::JsonValue(), CVStabilization::SetJson(), openshot::AnalogTape::SetJson(), openshot::Bars::SetJson(), openshot::BBox::SetJson(), openshot::Blur::SetJson(), openshot::Brightness::SetJson(), openshot::CacheDisk::SetJson(), openshot::CacheMemory::SetJson(), openshot::Caption::SetJson(), openshot::ChromaKey::SetJson(), openshot::ChunkReader::SetJson(), openshot::Clip::SetJson(), openshot::Color::SetJson(), openshot::ColorMap::SetJson(), openshot::ColorShift::SetJson(), openshot::Compressor::SetJson(), openshot::Coordinate::SetJson(), openshot::Crop::SetJson(), openshot::CVObjectDetection::SetJson(), openshot::CVTracker::SetJson(), openshot::Deinterlace::SetJson(), openshot::Delay::SetJson(), openshot::Distortion::SetJson(), openshot::DummyReader::SetJson(), openshot::Echo::SetJson(), openshot::EffectBase::SetJson(), openshot::Expander::SetJson(), openshot::FFmpegReader::SetJson(), openshot::FrameMapper::SetJson(), openshot::Hue::SetJson(), openshot::ImageReader::SetJson(), openshot::Keyframe::SetJson(), openshot::LensFlare::SetJson(), openshot::Mask::SetJson(), openshot::Negate::SetJson(), openshot::Noise::SetJson(), openshot::ObjectDetection::SetJson(), openshot::Outline::SetJson(), openshot::ParametricEQ::SetJson(), openshot::Pixelate::SetJson(), openshot::Point::SetJson(), openshot::Profile::SetJson(), openshot::QtHtmlReader::SetJson(), openshot::QtImageReader::SetJson(), openshot::QtTextReader::SetJson(), openshot::Robotization::SetJson(), openshot::Saturation::SetJson(), openshot::Sharpen::SetJson(), openshot::Shift::SetJson(), openshot::SphericalProjection::SetJson(), openshot::Stabilizer::SetJson(), openshot::TextReader::SetJson(), openshot::Timeline::SetJson(), openshot::TrackedObjectBBox::SetJson(), openshot::Tracker::SetJson(), openshot::Wave::SetJson(), openshot::Whisperization::SetJson(), and openshot::WriterBase::SetJson().

## TrimMemoryToOS()

bool openshot::TrimMemoryToOS | ( | bool | force = false | ) |

noexcept

Attempt to return unused heap memory to the operating system.

This maps to the appropriate platform-specific API where available. The call is safe to invoke on any supported platform; on unsupported platforms it will simply return false without doing anything. Calls are rate-limited internally (1s debounce) and single-flight. A forced call bypasses the debounce but still honors the single-flight guard.

Parameters

  force | If true, bypass the debounce interval (useful for teardown).

Returns
  true if a platform-specific trim call was made, false otherwise.

Definition at line 40 of file MemoryTrim.cpp.

Referenced by openshot::CacheMemory::Clear(), openshot::FFmpegReader::Close(), openshot::FrameMapper::Close(), and openshot::CacheMemory::Remove().

## Variable Documentation

## close_to_sync

int openshot::close_to_sync = 5

Definition at line 23 of file PlayerPrivate.cpp.