OpenShot Library | libopenshot 0.3.3
Loading...
Searching...
No Matches
Deinterlace.h
Go to the documentation of this file.
1
9// Copyright (c) 2008-2019 OpenShot Studios, LLC
10//
11// SPDX-License-Identifier: LGPL-3.0-or-later
12
13#ifndef OPENSHOT_DEINTERLACE_EFFECT_H
14#define OPENSHOT_DEINTERLACE_EFFECT_H
15
16#include "../EffectBase.h"
17
18#include <string>
19#include <memory>
20#include "../Frame.h"
21#include "../Json.h"
22#include "../KeyFrame.h"
23
24namespace openshot
25{
26
34 class Deinterlace : public EffectBase
35 {
36 private:
37 bool isOdd;
38
40 void init_effect_details();
41
42 public:
43
46
48 Deinterlace(bool isOdd);
49
56 std::shared_ptr<openshot::Frame> GetFrame(int64_t frame_number) override { return GetFrame(std::make_shared<openshot::Frame>(), frame_number); }
57
67 std::shared_ptr<openshot::Frame> GetFrame(std::shared_ptr<openshot::Frame> frame, int64_t frame_number) override;
68
69 // Get and Set JSON methods
70 std::string Json() const override;
71 void SetJson(const std::string value) override;
72 Json::Value JsonValue() const override;
73 void SetJsonValue(const Json::Value root) override;
74
75 // Get all properties for a specific frame
76 std::string PropertiesJSON(int64_t requested_frame) const override;
77 };
78
79}
80
81#endif
This class uses the ImageMagick++ libraries, to de-interlace the image, which removes the EVEN or ODD...
Definition Deinterlace.h:35
std::string Json() const override
Generate JSON string of this object.
void SetJsonValue(const Json::Value root) override
Load Json::Value into this object.
Deinterlace()
Default constructor, useful when using Json to load the effect properties.
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...
Definition Deinterlace.h:56
void SetJson(const std::string value) override
Load JSON string into this object.
std::string PropertiesJSON(int64_t requested_frame) const override
Json::Value JsonValue() const override
Generate Json::Value for this object.
This abstract class is the base class, used by all effects in libopenshot.
Definition EffectBase.h:54
This namespace is the default namespace for all code in the openshot library.
Definition Compressor.h:29