libcamera: PixelFormat: Turn into a class

Create a class to represent a pixel format. This is done to add support
for modifiers for the formats. So far no modifiers are added by any
pipeline handler, all plumbing to deal with them is however in place.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2020-03-15 18:22:46 +01:00
parent 4bc262ecaa
commit 8c0bbcd3d3
8 changed files with 127 additions and 18 deletions

View file

@ -533,7 +533,7 @@ struct PixelFormatInfo {
namespace {
constexpr std::array<PixelFormatInfo, 13> pixelFormatInfo = {{
static const std::array<PixelFormatInfo, 13> pixelFormatInfo = {{
/* RGB formats. */
{ DRM_FORMAT_RGB888, V4L2_PIX_FMT_BGR24, 1, {{ { 24, 1, 1 }, { 0, 0, 0 }, { 0, 0, 0 } }} },
{ DRM_FORMAT_BGR888, V4L2_PIX_FMT_RGB24, 1, {{ { 24, 1, 1 }, { 0, 0, 0 }, { 0, 0, 0 } }} },