diff options
Diffstat (limited to 'drivers/media/platform/vivid/vivid-tpg.c')
-rw-r--r-- | drivers/media/platform/vivid/vivid-tpg.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/media/platform/vivid/vivid-tpg.c b/drivers/media/platform/vivid/vivid-tpg.c index fd28c6a5f8e9..0e2b8d4b8864 100644 --- a/drivers/media/platform/vivid/vivid-tpg.c +++ b/drivers/media/platform/vivid/vivid-tpg.c | |||
@@ -200,6 +200,7 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc) | |||
200 | case V4L2_PIX_FMT_RGB555X: | 200 | case V4L2_PIX_FMT_RGB555X: |
201 | case V4L2_PIX_FMT_XRGB555X: | 201 | case V4L2_PIX_FMT_XRGB555X: |
202 | case V4L2_PIX_FMT_ARGB555X: | 202 | case V4L2_PIX_FMT_ARGB555X: |
203 | case V4L2_PIX_FMT_BGR666: | ||
203 | case V4L2_PIX_FMT_RGB24: | 204 | case V4L2_PIX_FMT_RGB24: |
204 | case V4L2_PIX_FMT_BGR24: | 205 | case V4L2_PIX_FMT_BGR24: |
205 | case V4L2_PIX_FMT_RGB32: | 206 | case V4L2_PIX_FMT_RGB32: |
@@ -299,6 +300,7 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc) | |||
299 | case V4L2_PIX_FMT_BGR24: | 300 | case V4L2_PIX_FMT_BGR24: |
300 | tpg->twopixelsize[0] = 2 * 3; | 301 | tpg->twopixelsize[0] = 2 * 3; |
301 | break; | 302 | break; |
303 | case V4L2_PIX_FMT_BGR666: | ||
302 | case V4L2_PIX_FMT_RGB32: | 304 | case V4L2_PIX_FMT_RGB32: |
303 | case V4L2_PIX_FMT_BGR32: | 305 | case V4L2_PIX_FMT_BGR32: |
304 | case V4L2_PIX_FMT_XRGB32: | 306 | case V4L2_PIX_FMT_XRGB32: |
@@ -749,6 +751,11 @@ static void precalculate_color(struct tpg_data *tpg, int k) | |||
749 | g >>= 7; | 751 | g >>= 7; |
750 | b >>= 7; | 752 | b >>= 7; |
751 | break; | 753 | break; |
754 | case V4L2_PIX_FMT_BGR666: | ||
755 | r >>= 6; | ||
756 | g >>= 6; | ||
757 | b >>= 6; | ||
758 | break; | ||
752 | default: | 759 | default: |
753 | r >>= 4; | 760 | r >>= 4; |
754 | g >>= 4; | 761 | g >>= 4; |
@@ -944,6 +951,12 @@ static void gen_twopix(struct tpg_data *tpg, | |||
944 | buf[0][offset + 1] = g_u; | 951 | buf[0][offset + 1] = g_u; |
945 | buf[0][offset + 2] = r_y; | 952 | buf[0][offset + 2] = r_y; |
946 | break; | 953 | break; |
954 | case V4L2_PIX_FMT_BGR666: | ||
955 | buf[0][offset] = (b_v << 2) | (g_u >> 4); | ||
956 | buf[0][offset + 1] = (g_u << 4) | (r_y >> 2); | ||
957 | buf[0][offset + 2] = r_y << 6; | ||
958 | buf[0][offset + 3] = 0; | ||
959 | break; | ||
947 | case V4L2_PIX_FMT_RGB32: | 960 | case V4L2_PIX_FMT_RGB32: |
948 | case V4L2_PIX_FMT_XRGB32: | 961 | case V4L2_PIX_FMT_XRGB32: |
949 | alpha = 0; | 962 | alpha = 0; |