movit::EffectChain *chain;
std::function<void()> setup_chain;
- // May have duplicates.
+ // FRAME_HISTORY frames for each input, in order. Will contain duplicates
+ // for non-interlaced inputs.
std::vector<RefCountedFrame> input_frames;
};
}
private:
+ void register_constants();
void register_class(const char *class_name, const luaL_Reg *funcs);
std::mutex m;
private:
Theme *theme; // Not owned by us.
bmusb::PixelFormat pixel_format;
+ movit::YCbCrFormat input_ycbcr_format;
std::vector<movit::YCbCrInput *> ycbcr_inputs; // Multiple ones if deinterlacing. Owned by the chain.
std::vector<movit::FlatInput *> rgba_inputs; // Multiple ones if deinterlacing. Owned by the chain.
movit::Effect *deinterlace_effect = nullptr; // Owned by the chain.