]> git.sesse.net Git - nageru/blobdiff - nageru/theme.h
Heed the Exif white point when playing back (MJPEG) video.
[nageru] / nageru / theme.h
index 7fd132544264e8283fbc0bd1d13ec6d6dc05a084..8e4537351905ae02354010a0a51b86cc2c4dccc3 100644 (file)
@@ -2,6 +2,7 @@
 #define _THEME_H 1
 
 #include <lua.hpp>
+#include <movit/effect.h>
 #include <movit/flat_input.h>
 #include <movit/ycbcr_input.h>
 #include <stdbool.h>
@@ -94,9 +95,6 @@ public:
                // for non-interlaced inputs.
                std::vector<RefCountedFrame> input_frames;
        };
-       struct WhiteBalance {
-               float r, g, b;
-       };
 
        Chain get_chain(unsigned num, float t, unsigned width, unsigned height, const InputState &input_state);
 
@@ -107,10 +105,11 @@ public:
        int get_channel_signal(unsigned channel);
        bool get_supports_set_wb(unsigned channel);
        void set_wb(unsigned channel, float r, float g, float b);
-       WhiteBalance get_white_balance_for_signal(int signal);
+       void set_wb_for_signal(int signal, float r, float g, float b);
+       movit::RGBTriplet get_white_balance_for_signal(int signal);
        std::string get_channel_color(unsigned channel);
 
-       std::unordered_map<int, WhiteBalance> white_balance_for_signal;
+       std::unordered_map<int, movit::RGBTriplet> white_balance_for_signal;
 
        std::vector<std::string> get_transition_names(float t);
 
@@ -197,6 +196,7 @@ private:
        void register_class(const char *class_name, const luaL_Reg *funcs, EffectType effect_type = NO_EFFECT_TYPE);
        int set_theme_menu(lua_State *L);
        Chain get_chain_from_effect_chain(movit::EffectChain *effect_chain, unsigned num, const InputState &input_state);
+       void call_lua_wb_callback(unsigned channel, float r, float g, float b);
 
        std::string theme_path;