キーワード: Pixel

Channel を Layout に従って配置した値。
例えばこんな感じ。

typedef pixel<bits8, rgb_layout_t> rgb8_pixel_t;
typedef pixel<bits8, bgr_layout_t> bgr8_pixel_t;

bits8 やら bits16s はただの typedef だけど、これも Channel の仲間。


RGB565 なんかも、packed_pixel を使えば定義できる。

typedef packed_pixel_type<uint16_t, mpl::vector3_c<unsigned,5,6,5>, rgb_layout_t>::type rgb565_pixel_t;


ただし、Planar な画像の Pixel についてはレイアウトは関係ないので、レイアウトを指定せずに定義することが出来る。

typedef planar_pixel_reference<      bits8&,rgb_t> rgb8_planar_ref_t;
typedef planar_pixel_reference<const bits8&,rgb_t> rgb8c_planar_ref_t;