1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef VIDEO_PIXEL_FORMAT_H 4 #define VIDEO_PIXEL_FORMAT_H 5 6 struct pixel_format { 7 unsigned char bits_per_pixel; 8 bool indexed; 9 union { 10 struct { 11 struct { 12 unsigned char offset; 13 unsigned char length; 14 } alpha, red, green, blue; 15 }; 16 struct { 17 unsigned char offset; 18 unsigned char length; 19 } index; 20 }; 21 }; 22 23 #define PIXEL_FORMAT_XRGB1555 \ 24 { 16, false, { .alpha = {0, 0}, .red = {10, 5}, .green = {5, 5}, .blue = {0, 5} } } 25 26 #define PIXEL_FORMAT_RGB565 \ 27 { 16, false, { .alpha = {0, 0}, .red = {11, 5}, .green = {5, 6}, .blue = {0, 5} } } 28 29 #define PIXEL_FORMAT_RGB888 \ 30 { 24, false, { .alpha = {0, 0}, .red = {16, 8}, .green = {8, 8}, .blue = {0, 8} } } 31 32 #define PIXEL_FORMAT_XRGB8888 \ 33 { 32, false, { .alpha = {0, 0}, .red = {16, 8}, .green = {8, 8}, .blue = {0, 8} } } 34 35 #define PIXEL_FORMAT_XBGR8888 \ 36 { 32, false, { .alpha = {0, 0}, .red = {0, 8}, .green = {8, 8}, .blue = {16, 8} } } 37 38 #define PIXEL_FORMAT_XRGB2101010 \ 39 { 32, false, { .alpha = {0, 0}, .red = {20, 10}, .green = {10, 10}, .blue = {0, 10} } } 40 41 #endif 42