+ //
+ // You can get two equal copies if you'd like; just set dst2_tex to a texture
+ // number and it will receive an exact copy of what goes into dst_tex.
+ void subsample_chroma(GLuint cbcr_tex, unsigned width, unsigned height, GLuint dst_tex, GLuint dst2_tex = 0);
+
+ // Subsamples and interleaves luma and chroma to give 4:2:2 packed Y'CbCr (UYVY).
+ // Chroma positioning is left (H.264 convention).
+ // width and height are the dimensions (in pixels) of the input textures.
+ void create_uyvy(GLuint y_tex, GLuint cbcr_tex, unsigned width, unsigned height, GLuint dst_tex);
+
+ // Subsamples and interleaves luma and chroma to give 10-bit 4:2:2
+ // packed Y'CbCr (v210); see v210converter.h for more information on
+ // the format. Luma and chroma are assumed to be 10-bit data packed
+ // into 16-bit textures. Chroma positioning is left (H.264 convention).
+ // width and height are the dimensions (in pixels) of the input textures;
+ // Requires compute shaders; check v210Converter::has_hardware_support().
+ void create_v210(GLuint y_tex, GLuint cbcr_tex, unsigned width, unsigned height, GLuint dst_tex);