1/*
2 * vivid-color.h - Color definitions for the test pattern generator
3 *
4 * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
5 *
6 * This program is free software; you may redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
11 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
12 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
13 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
14 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
15 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17 * SOFTWARE.
18 */
19
20#ifndef _VIVID_COLORS_H_
21#define _VIVID_COLORS_H_
22
23struct color {
24	unsigned char r, g, b;
25};
26
27struct color16 {
28	int r, g, b;
29};
30
31enum tpg_color {
32	TPG_COLOR_CSC_WHITE,
33	TPG_COLOR_CSC_YELLOW,
34	TPG_COLOR_CSC_CYAN,
35	TPG_COLOR_CSC_GREEN,
36	TPG_COLOR_CSC_MAGENTA,
37	TPG_COLOR_CSC_RED,
38	TPG_COLOR_CSC_BLUE,
39	TPG_COLOR_CSC_BLACK,
40	TPG_COLOR_75_YELLOW,
41	TPG_COLOR_75_CYAN,
42	TPG_COLOR_75_GREEN,
43	TPG_COLOR_75_MAGENTA,
44	TPG_COLOR_75_RED,
45	TPG_COLOR_75_BLUE,
46	TPG_COLOR_100_WHITE,
47	TPG_COLOR_100_YELLOW,
48	TPG_COLOR_100_CYAN,
49	TPG_COLOR_100_GREEN,
50	TPG_COLOR_100_MAGENTA,
51	TPG_COLOR_100_RED,
52	TPG_COLOR_100_BLUE,
53	TPG_COLOR_100_BLACK,
54	TPG_COLOR_TEXTFG,
55	TPG_COLOR_TEXTBG,
56	TPG_COLOR_RANDOM,
57	TPG_COLOR_RAMP,
58	TPG_COLOR_MAX = TPG_COLOR_RAMP + 256
59};
60
61extern const struct color tpg_colors[TPG_COLOR_MAX];
62extern const unsigned short tpg_rec709_to_linear[255 * 16 + 1];
63extern const unsigned short tpg_linear_to_rec709[255 * 16 + 1];
64extern const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][TPG_COLOR_CSC_BLACK + 1];
65
66#endif
67