+enum PixelFormat {
+ // 8-bit 4:2:2 in the standard Cb Y Cr Y order (UYVY).
+ // This is the default.
+ PixelFormat_8BitYCbCr,
+
+ // 10-bit 4:2:2 in v210 order. Six pixels (six Y', three Cb,
+ // three Cr) are packed into four 32-bit little-endian ints
+ // in the following pattern (see e.g. the DeckLink documentation
+ // for reference):
+ //
+ // A B G R
+ // -----------------
+ // X Cr0 Y0 Cb0
+ // X Y2 Cb2 Y1
+ // X Cb4 Y3 Cr2
+ // X Y5 Cr4 Y4
+ //
+ // If you read in RGB order and ignore the unused top bits,
+ // this is essentially Cb Y Cr Y order, just like UYVY is.
+ //
+ // Note that unlike true v210, there is no guarantee about
+ // 128-byte line alignment (or lack thereof); you should check
+ // the stride member of VideoFormat.
+ PixelFormat_10BitYCbCr,
+
+ // 8-bit 4:4:4:4 BGRA (in that order). bmusb itself doesn't
+ // produce this, but it is useful to represent e.g. synthetic inputs.
+ PixelFormat_8BitBGRA
+};
+