]> git.sesse.net Git - movit/blobdiff - effect_chain.cpp
Make Input an abstract base class, and move the current functionality into FlatInput...
[movit] / effect_chain.cpp
index 7232dcbbb4004de3a98402cac21361385ab8b2fd..82e9c5d705e09b2b1ff5552baf13f1996b8e4e50 100644 (file)
@@ -24,16 +24,15 @@ EffectChain::EffectChain(unsigned width, unsigned height)
          height(height),
          finalized(false) {}
 
-Input *EffectChain::add_input(const ImageFormat &format)
+Input *EffectChain::add_input(Input *input)
 {
        char eff_id[256];
        sprintf(eff_id, "src_image%u", (unsigned)inputs.size());
 
-       Input *input = new Input(format, width, height);
        effects.push_back(input);
        inputs.push_back(input);
-       output_color_space.insert(std::make_pair(input, format.color_space));
-       output_gamma_curve.insert(std::make_pair(input, format.gamma_curve));
+       output_color_space.insert(std::make_pair(input, input->get_color_space()));
+       output_gamma_curve.insert(std::make_pair(input, input->get_gamma_curve()));
        effect_ids.insert(std::make_pair(input, eff_id));
        incoming_links.insert(std::make_pair(input, std::vector<Effect *>()));
        return input;