-// YCbCrInput is for handling planar or 4:4:4 interleaved 8-bit Y'CbCr
-// (also sometimes, usually rather imprecisely, called “YUV”), which is typically
-// what you get from a video decoder. It upsamples planes as needed, using the
-// default linear upsampling OpenGL gives you.
+// YCbCrInput is for handling Y'CbCr (also sometimes, usually rather
+// imprecisely, called “YUV”), which is typically what you get from a video
+// decoder. It supports these formats:
+//
+// * 8-bit planar Y'CbCr, possibly subsampled (e.g. 4:2:0).
+// * 8-bit semiplanar Y'CbCr (Y' in one plane, CbCr in another),
+// possibly subsampled.
+// * 8-bit interleaved (chunked) Y'CbCr, no subsampling (4:4:4 only).
+// * All of the above in 10- and 12-bit versions, where each sample is
+// stored in a 16-bit int (so the 6 or 4 top bits are wasted).
+// * 10-bit interleaved (chunked) Y'CbCr packed into 32-bit words
+// (10:10:10:2), no subsampling (4:4:4 only).
+//
+// For the planar and semiplanar cases, it upsamples planes as needed, using
+// the default linear upsampling OpenGL gives you. Note that YCbCr422InterleavedInput
+// supports the important special case of 8-bit 4:2:2 interleaved.