const YCbCrFormat &ycbcr_format,
unsigned width, unsigned height);
+ virtual std::string effect_type_id() const { return "YCbCrInput"; }
+
// Create the texture itself. We cannot do this in the constructor,
// because we don't necessarily know all the settings (sRGB texture,
// mipmap generation) at that point.
}
void set_pitch(unsigned channel, unsigned pitch) {
- assert(!finalized);
assert(channel >= 0 && channel < 3);
- this->pitch[channel] = pitch;
+ if (this->pitch[channel] != pitch) {
+ this->pitch[channel] = pitch;
+ needs_pbo_recreate = true;
+ }
}
unsigned get_pitch(unsigned channel) {
ImageFormat image_format;
YCbCrFormat ycbcr_format;
GLuint pbos[3], texture_num[3];
- bool needs_update, finalized;
+ bool needs_update, needs_pbo_recreate, finalized;
int needs_mipmaps;