|
OpenShot Library | libopenshot
0.7.0
|
Creative film-inspired grain texture effect. More...
#include <effects/FilmGrain.h>
Public Member Functions | |
| FilmGrain () | |
| std::shared_ptr< openshot::Frame > | GetFrame (int64_t frame_number) override |
| This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels. More... | |
| std::shared_ptr< openshot::Frame > | GetFrame (std::shared_ptr< openshot::Frame > frame, int64_t frame_number) override |
| This method is required for all derived classes of ClipBase, and returns a modified openshot::Frame object. 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 | PropertiesJSON (int64_t requested_frame) const override |
| 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... | |
Public Member Functions inherited from openshot::EffectBase | |
| Json::Value | BasePropertiesJSON (int64_t requested_frame) const |
| Generate JSON object of base properties (recommended to be used by all effects) More... | |
| int | constrain (int color_value) |
| Constrain a color value from 0 to 255. More... | |
| void | DisplayInfo (std::ostream *out=&std::cout) |
| Display effect information in the standard output stream (stdout) More... | |
| virtual std::string | GetVisibleObjects (int64_t frame_number) const |
| Get the indexes and IDs of all visible objects in the given frame. More... | |
| void | InitEffectInfo () |
| virtual std::string | Json (int64_t requested_frame) const |
| Json::Value | JsonInfo () const |
| Generate JSON object of meta data / info. More... | |
| ReaderBase * | MaskReader () |
| Get the common mask reader. More... | |
| const ReaderBase * | MaskReader () const |
| void | MaskReader (ReaderBase *new_reader) |
| Set or replace the common mask reader. More... | |
| int | Order () const |
| Get the order that this effect should be executed. More... | |
| void | Order (int new_order) |
| Set the order that this effect should be executed. More... | |
| openshot::ClipBase * | ParentClip () |
| Parent clip object of this effect (which can be unparented and NULL) More... | |
| void | ParentClip (openshot::ClipBase *new_clip) |
| Set parent clip object of this effect. More... | |
| std::string | ParentClipId () const |
| Return the ID of this effect's parent clip. More... | |
| std::shared_ptr< openshot::Frame > | ProcessFrame (std::shared_ptr< openshot::Frame > frame, int64_t frame_number) |
| Apply effect processing with common mask support (if enabled). More... | |
| virtual void | SetJson (int64_t requested_frame, const std::string value) |
| void | SetParentEffect (std::string parentEffect_id) |
| Set the parent effect from which this properties will be set to. More... | |
| virtual | ~EffectBase () |
Public Member Functions inherited from openshot::ClipBase | |
| ClipBase () | |
| Constructor for the base clip. More... | |
| virtual void | End (float value) |
| Set end position (in seconds) of clip (trim end of video) More... | |
| void | Id (std::string value) |
| void | Layer (int value) |
| Set layer of clip on timeline (lower number is covered by higher numbers) More... | |
| bool | operator< (ClipBase &a) |
| bool | operator<= (ClipBase &a) |
| bool | operator> (ClipBase &a) |
| bool | operator>= (ClipBase &a) |
| void | Position (float value) |
More... | |
| void | Start (float value) |
| Set start position (in seconds) of clip (trim start of video) More... | |
| virtual | ~ClipBase ()=default |
Public Attributes | |
| Keyframe | amount |
| Overall grain intensity. More... | |
| Keyframe | clump |
| Even vs clustered irregular structure. More... | |
| Keyframe | coherence |
| Smoothness/stability between frames. More... | |
| Keyframe | color_amount |
| Chroma contribution amount. More... | |
| Keyframe | color_variation |
| RGB channel independence. More... | |
| Keyframe | evolution |
| How much the grain renews over time. More... | |
| Keyframe | highlights |
| Grain strength in bright regions. More... | |
| Keyframe | midtones |
| Grain strength in middle tonal regions. More... | |
| int | seed |
| Deterministic grain identity. More... | |
| Keyframe | shadows |
| Grain strength in dark regions. More... | |
| Keyframe | size |
| Fine to coarse grain scale. More... | |
| Keyframe | softness |
| Crisp vs soft organic grain. More... | |
Public Attributes inherited from openshot::EffectBase | |
| EffectInfoStruct | info |
| Information about the current effect. More... | |
| bool | mask_invert = false |
| Invert grayscale mask values before blending. More... | |
| int | mask_loop_mode = MASK_LOOP_PLAY_ONCE |
| Behavior when mask range reaches the end. More... | |
| int | mask_time_mode = MASK_TIME_SOURCE_FPS |
| How effect frames map to mask source frames. More... | |
| EffectBase * | parentEffect |
| Parent effect (which properties will set this effect properties) More... | |
| std::map< int, std::shared_ptr< openshot::TrackedObjectBase > > | trackedObjects |
| Map of Tracked Object's by their indices (used by Effects that track objects on clips) More... | |
Additional Inherited Members | |
Public Types inherited from openshot::EffectBase | |
| enum | MaskLoopMode { MASK_LOOP_PLAY_ONCE = 0, MASK_LOOP_REPEAT = 1, MASK_LOOP_PING_PONG = 2 } |
| enum | MaskTimeMode { MASK_TIME_TIMELINE = 0, MASK_TIME_SOURCE_FPS = 1 } |
Protected Member Functions inherited from openshot::EffectBase | |
| virtual void | ApplyCustomMaskBlend (std::shared_ptr< QImage > original_image, std::shared_ptr< QImage > effected_image, std::shared_ptr< QImage > mask_image, int64_t frame_number) const |
| Optional override for effects with custom mask implementation. More... | |
| ReaderBase * | CreateReaderFromJson (const Json::Value &reader_json) const |
| Create a reader instance from reader JSON. More... | |
| virtual bool | HandlesMaskInternally () const |
| Optional override for effects that apply mask processing inside GetFrame(). More... | |
| int64_t | MapMaskFrameNumber (int64_t frame_number) |
| Convert an effect frame number to a mask source frame number. More... | |
| double | ResolveMaskHostFps () |
| Determine host FPS used to convert timeline frames to mask source FPS. More... | |
| std::shared_ptr< QImage > | ResolveMaskImage (std::shared_ptr< QImage > target_image, int64_t frame_number) |
| Resolve a cached/scaled mask image for the target frame dimensions. More... | |
| double | ResolveMaskSourceDuration () const |
| Determine mask source duration in seconds. More... | |
| virtual bool | UseCustomMaskBlend (int64_t frame_number) const |
| Optional override for effects that need custom mask behavior. More... | |
Protected Member Functions inherited from openshot::ClipBase | |
| Json::Value | add_property_choice_json (std::string name, int value, int selected_value) const |
| Generate JSON choice for a property (dropdown properties) More... | |
| Json::Value | add_property_json (std::string name, float value, std::string type, std::string memo, const Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame) const |
| Generate JSON for a property. More... | |
Protected Attributes inherited from openshot::EffectBase | |
| openshot::ClipBase * | clip |
| Pointer to the parent clip instance (if any) More... | |
Protected Attributes inherited from openshot::ClipBase | |
| float | end |
| The position in seconds to end playing (used to trim the ending of a clip) More... | |
| std::string | id |
| ID Property for all derived Clip and Effect classes. More... | |
| int | layer |
| The layer this clip is on. Lower clips are covered up by higher clips. More... | |
| float | position |
| The position on the timeline where this clip should start playing. More... | |
| std::string | previous_properties |
| This string contains the previous JSON properties. More... | |
| float | start |
| The position in seconds to start playing (used to trim the beginning of a clip) More... | |
| openshot::TimelineBase * | timeline |
| Pointer to the parent timeline instance (if any) More... | |
Creative film-inspired grain texture effect.
FilmGrain exposes a compact set of visible controls for structure, tonal response, color behavior, temporal behavior, and deterministic variation. Presets should initialize these same properties rather than selecting hidden internal modes.
Definition at line 34 of file FilmGrain.h.
| FilmGrain::FilmGrain | ( | ) |
Definition at line 92 of file FilmGrain.cpp.
|
inlineoverridevirtual |
This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels.
| frame_number | The frame number (starting at 1) of the clip or effect on the timeline. |
Implements openshot::ClipBase.
Definition at line 55 of file FilmGrain.h.
|
overridevirtual |
This method is required for all derived classes of ClipBase, and returns a modified openshot::Frame object.
The frame object is passed into this method and used as a starting point / background (pixels). All Clip keyframes and effects are resolved into pixels.
| frame | This is ignored on Clip, due to caching optimizations. This frame instance is clobbered with the source frame. |
| frame_number | The frame number (starting at 1) of the clip or effect on the timeline. |
Implements openshot::ClipBase.
Definition at line 118 of file FilmGrain.cpp.
|
overridevirtual |
Generate JSON string of this object.
Reimplemented from openshot::EffectBase.
Definition at line 378 of file FilmGrain.cpp.
|
overridevirtual |
Generate Json::Value for this object.
Reimplemented from openshot::EffectBase.
Definition at line 382 of file FilmGrain.cpp.
Referenced by Json().
|
overridevirtual |
Get all properties for a specific frame (perfect for a UI to display the current state of all properties at any time)
Implements openshot::ClipBase.
Definition at line 425 of file FilmGrain.cpp.
|
overridevirtual |
Load JSON string into this object.
Reimplemented from openshot::EffectBase.
Definition at line 400 of file FilmGrain.cpp.
|
overridevirtual |
Load Json::Value into this object.
Reimplemented from openshot::EffectBase.
Definition at line 409 of file FilmGrain.cpp.
Referenced by SetJson().
| Keyframe openshot::FilmGrain::amount |
Overall grain intensity.
Definition at line 40 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::clump |
Even vs clustered irregular structure.
Definition at line 43 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::coherence |
Smoothness/stability between frames.
Definition at line 50 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::color_amount |
Chroma contribution amount.
Definition at line 47 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::color_variation |
RGB channel independence.
Definition at line 48 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::evolution |
How much the grain renews over time.
Definition at line 49 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::highlights |
Grain strength in bright regions.
Definition at line 46 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::midtones |
Grain strength in middle tonal regions.
Definition at line 45 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| int openshot::FilmGrain::seed |
Deterministic grain identity.
Definition at line 51 of file FilmGrain.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::shadows |
Grain strength in dark regions.
Definition at line 44 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::size |
Fine to coarse grain scale.
Definition at line 41 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| Keyframe openshot::FilmGrain::softness |
Crisp vs soft organic grain.
Definition at line 42 of file FilmGrain.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
1.8.17