util: store number of colors for indexed formats
Store the number of available colors for color-indexed frame buffer formats in the format_info[] array. This avoids the need of test code for having to use switch statements all the time to obtain the number of colors, or to check if a mode is color-indexed or not. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- v5: - Add Reviewed-by, v4: - No changes, v3: - Add Acked-by, v2: - New.main
parent
236766b0b3
commit
8134deb31f
|
@ -40,10 +40,10 @@
|
||||||
|
|
||||||
static const struct util_format_info format_info[] = {
|
static const struct util_format_info format_info[] = {
|
||||||
/* Indexed */
|
/* Indexed */
|
||||||
{ DRM_FORMAT_C1, "C1" },
|
{ DRM_FORMAT_C1, "C1", .ncolors = 2 },
|
||||||
{ DRM_FORMAT_C2, "C2" },
|
{ DRM_FORMAT_C2, "C2", .ncolors = 4 },
|
||||||
{ DRM_FORMAT_C4, "C4" },
|
{ DRM_FORMAT_C4, "C4", .ncolors = 16 },
|
||||||
{ DRM_FORMAT_C8, "C8" },
|
{ DRM_FORMAT_C8, "C8", .ncolors = 256 },
|
||||||
/* YUV packed */
|
/* YUV packed */
|
||||||
{ DRM_FORMAT_UYVY, "UYVY", MAKE_YUV_INFO(YUV_YCbCr | YUV_CY, 2, 2, 2) },
|
{ DRM_FORMAT_UYVY, "UYVY", MAKE_YUV_INFO(YUV_YCbCr | YUV_CY, 2, 2, 2) },
|
||||||
{ DRM_FORMAT_VYUY, "VYUY", MAKE_YUV_INFO(YUV_YCrCb | YUV_CY, 2, 2, 2) },
|
{ DRM_FORMAT_VYUY, "VYUY", MAKE_YUV_INFO(YUV_YCrCb | YUV_CY, 2, 2, 2) },
|
||||||
|
|
|
@ -55,6 +55,7 @@ struct util_yuv_info {
|
||||||
struct util_format_info {
|
struct util_format_info {
|
||||||
uint32_t format;
|
uint32_t format;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
unsigned int ncolors;
|
||||||
const struct util_rgb_info rgb;
|
const struct util_rgb_info rgb;
|
||||||
const struct util_yuv_info yuv;
|
const struct util_yuv_info yuv;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue