X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=ycbcr_conversion_effect.h;h=752eb43934d5682f00651dc8ededb5626f07432c;hp=ab31fd67233156001e1055ca7147f7ce9e57d2a2;hb=eff011224abc5dc81f801f3ea44572287a55bcac;hpb=e8499e3e9892a74c7882af4be14ccdc1e3d92c2b diff --git a/ycbcr_conversion_effect.h b/ycbcr_conversion_effect.h index ab31fd6..752eb43 100644 --- a/ycbcr_conversion_effect.h +++ b/ycbcr_conversion_effect.h @@ -18,15 +18,15 @@ class YCbCrConversionEffect : public Effect { private: // Should not be instantiated by end users; // call EffectChain::add_ycbcr_output() instead. - YCbCrConversionEffect(const YCbCrFormat &ycbcr_format); + YCbCrConversionEffect(const YCbCrFormat &ycbcr_format, GLenum type); friend class EffectChain; public: - virtual std::string effect_type_id() const { return "YCbCrConversionEffect"; } - std::string output_fragment_shader(); - void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num); - virtual AlphaHandling alpha_handling() const { return DONT_CARE_ALPHA_TYPE; } - virtual bool one_to_one_sampling() const { return true; } + std::string effect_type_id() const override { return "YCbCrConversionEffect"; } + std::string output_fragment_shader() override; + void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) override; + AlphaHandling alpha_handling() const override { return DONT_CARE_ALPHA_TYPE; } + bool strong_one_to_one_sampling() const override { return true; } // Should not be called by end users; call // EffectChain::change_ycbcr_output_format() instead. @@ -36,6 +36,7 @@ public: private: YCbCrFormat ycbcr_format; + GLenum type; Eigen::Matrix3d uniform_ycbcr_matrix; float uniform_offset[3];