[media] vivid-tpg: precalculate colorspace/xfer_func combinations
Precalculate all the colorspace/transfer function combinations in order to easily generate the correct colors. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
ca5316db08
commit
78aad7f81a
|
@ -598,71 +598,327 @@ const unsigned short tpg_linear_to_rec709[255 * 16 + 1] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Generated table */
|
/* Generated table */
|
||||||
const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][TPG_COLOR_CSC_BLACK + 1] = {
|
const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][V4L2_XFER_FUNC_NONE + 1][TPG_COLOR_CSC_BLACK + 1] = {
|
||||||
[V4L2_COLORSPACE_SMPTE170M][0] = { 2939, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][1] = { 2953, 2963, 586 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][1] = { 2953, 2963, 586 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][2] = { 0, 2967, 2937 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][2] = { 0, 2967, 2937 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][3] = { 88, 2990, 575 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][3] = { 88, 2990, 575 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][4] = { 3016, 259, 2933 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][4] = { 3016, 259, 2933 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][5] = { 3030, 405, 558 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][5] = { 3030, 405, 558 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][6] = { 478, 428, 2931 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][6] = { 478, 428, 2931 },
|
||||||
[V4L2_COLORSPACE_SMPTE170M][7] = { 547, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][0] = { 2926, 2926, 2926 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][1] = { 2941, 2950, 546 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][1] = { 3068, 3077, 838 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][2] = { 0, 2954, 2924 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][2] = { 0, 3081, 3053 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][3] = { 78, 2978, 536 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][3] = { 241, 3102, 828 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][4] = { 3004, 230, 2920 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][4] = { 3126, 504, 3050 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][5] = { 3018, 363, 518 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][5] = { 3138, 657, 810 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][6] = { 437, 387, 2918 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][6] = { 731, 680, 3048 },
|
||||||
[V4L2_COLORSPACE_SMPTE240M][7] = { 507, 507, 507 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SRGB][7] = { 800, 799, 800 },
|
||||||
[V4L2_COLORSPACE_REC709][0] = { 2939, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
[V4L2_COLORSPACE_REC709][1] = { 2939, 2939, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][1] = { 3046, 3054, 886 },
|
||||||
[V4L2_COLORSPACE_REC709][2] = { 547, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][2] = { 0, 3058, 3031 },
|
||||||
[V4L2_COLORSPACE_REC709][3] = { 547, 2939, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][3] = { 360, 3079, 877 },
|
||||||
[V4L2_COLORSPACE_REC709][4] = { 2939, 547, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][4] = { 3103, 587, 3027 },
|
||||||
[V4L2_COLORSPACE_REC709][5] = { 2939, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][5] = { 3116, 723, 861 },
|
||||||
[V4L2_COLORSPACE_REC709][6] = { 547, 547, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][6] = { 789, 744, 3025 },
|
||||||
[V4L2_COLORSPACE_REC709][7] = { 547, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][0] = { 2892, 2988, 2807 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][1] = { 2846, 3070, 843 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][1] = { 2941, 2950, 546 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][2] = { 1656, 2962, 2783 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][2] = { 0, 2954, 2924 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][3] = { 1572, 3045, 763 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][3] = { 78, 2978, 536 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][4] = { 2476, 229, 2742 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][4] = { 3004, 230, 2920 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][5] = { 2420, 672, 614 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][5] = { 3018, 363, 518 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][6] = { 725, 63, 2718 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][6] = { 437, 387, 2918 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_M][7] = { 534, 561, 509 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][0] = { 2939, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][1] = { 2939, 2939, 464 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][1] = { 2145, 2159, 142 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][2] = { 786, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][2] = { 0, 2164, 2122 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][3] = { 786, 2939, 464 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][3] = { 19, 2198, 138 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][4] = { 2879, 547, 2956 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][4] = { 2236, 57, 2116 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][5] = { 2879, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][5] = { 2256, 90, 133 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][6] = { 547, 547, 2956 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][6] = { 110, 96, 2113 },
|
||||||
[V4L2_COLORSPACE_470_SYSTEM_BG][7] = { 547, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE170M][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
[V4L2_COLORSPACE_SRGB][0] = { 3056, 3056, 3056 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
[V4L2_COLORSPACE_SRGB][1] = { 3056, 3056, 800 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][1] = { 2953, 2963, 586 },
|
||||||
[V4L2_COLORSPACE_SRGB][2] = { 800, 3056, 3056 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][2] = { 0, 2967, 2937 },
|
||||||
[V4L2_COLORSPACE_SRGB][3] = { 800, 3056, 800 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][3] = { 88, 2990, 575 },
|
||||||
[V4L2_COLORSPACE_SRGB][4] = { 3056, 800, 3056 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][4] = { 3016, 259, 2933 },
|
||||||
[V4L2_COLORSPACE_SRGB][5] = { 3056, 800, 800 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][5] = { 3030, 405, 558 },
|
||||||
[V4L2_COLORSPACE_SRGB][6] = { 800, 800, 3056 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][6] = { 478, 428, 2931 },
|
||||||
[V4L2_COLORSPACE_SRGB][7] = { 800, 800, 800 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][0] = { 3033, 3033, 3033 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][1] = { 3033, 3033, 1063 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][1] = { 3068, 3077, 838 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][2] = { 1828, 3033, 3033 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][2] = { 0, 3081, 3053 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][3] = { 1828, 3033, 1063 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][3] = { 241, 3102, 828 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][4] = { 2633, 851, 2979 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][4] = { 3126, 504, 3050 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][5] = { 2633, 851, 851 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][5] = { 3138, 657, 810 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][6] = { 851, 851, 2979 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][6] = { 731, 680, 3048 },
|
||||||
[V4L2_COLORSPACE_ADOBERGB][7] = { 851, 851, 851 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SRGB][7] = { 800, 799, 800 },
|
||||||
[V4L2_COLORSPACE_BT2020][0] = { 2939, 2939, 2939 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
[V4L2_COLORSPACE_BT2020][1] = { 2877, 2923, 1058 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][1] = { 3046, 3054, 886 },
|
||||||
[V4L2_COLORSPACE_BT2020][2] = { 1837, 2840, 2916 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][2] = { 0, 3058, 3031 },
|
||||||
[V4L2_COLORSPACE_BT2020][3] = { 1734, 2823, 993 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][3] = { 360, 3079, 877 },
|
||||||
[V4L2_COLORSPACE_BT2020][4] = { 2427, 961, 2812 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][4] = { 3103, 587, 3027 },
|
||||||
[V4L2_COLORSPACE_BT2020][5] = { 2351, 912, 648 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][5] = { 3116, 723, 861 },
|
||||||
[V4L2_COLORSPACE_BT2020][6] = { 792, 618, 2788 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][6] = { 789, 744, 3025 },
|
||||||
[V4L2_COLORSPACE_BT2020][7] = { 547, 547, 547 },
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][1] = { 2941, 2950, 546 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][2] = { 0, 2954, 2924 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][3] = { 78, 2978, 536 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][4] = { 3004, 230, 2920 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][5] = { 3018, 363, 518 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][6] = { 437, 387, 2918 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][1] = { 2145, 2159, 142 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][2] = { 0, 2164, 2122 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][3] = { 19, 2198, 138 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][4] = { 2236, 57, 2116 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][5] = { 2256, 90, 133 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][6] = { 110, 96, 2113 },
|
||||||
|
[V4L2_COLORSPACE_SMPTE240M][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][1] = { 2939, 2939, 547 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][2] = { 547, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][3] = { 547, 2939, 547 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][4] = { 2939, 547, 2939 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][5] = { 2939, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][6] = { 547, 547, 2939 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][1] = { 3056, 3056, 800 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][2] = { 800, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][3] = { 800, 3056, 800 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][4] = { 3056, 800, 3056 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][5] = { 3056, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][6] = { 800, 800, 3056 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SRGB][7] = { 800, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][1] = { 3033, 3033, 851 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][2] = { 851, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][3] = { 851, 3033, 851 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][4] = { 3033, 851, 3033 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][5] = { 3033, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][6] = { 851, 851, 3033 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][1] = { 2926, 2926, 507 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][2] = { 507, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][3] = { 507, 2926, 507 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][4] = { 2926, 507, 2926 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][5] = { 2926, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][6] = { 507, 507, 2926 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][1] = { 2125, 2125, 130 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][2] = { 130, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][3] = { 130, 2125, 130 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][4] = { 2125, 130, 2125 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][5] = { 2125, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][6] = { 130, 130, 2125 },
|
||||||
|
[V4L2_COLORSPACE_REC709][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][0] = { 2892, 2988, 2807 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][1] = { 2846, 3070, 843 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][2] = { 1656, 2962, 2783 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][3] = { 1572, 3045, 763 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][4] = { 2476, 229, 2742 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][5] = { 2420, 672, 614 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][6] = { 725, 63, 2718 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_709][7] = { 534, 561, 509 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][0] = { 3013, 3099, 2935 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][1] = { 2970, 3174, 1091 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][2] = { 1871, 3076, 2913 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][3] = { 1791, 3152, 1013 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][4] = { 2632, 468, 2876 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][5] = { 2581, 924, 866 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][6] = { 976, 180, 2854 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SRGB][7] = { 786, 813, 762 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][0] = { 2990, 3077, 2912 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][1] = { 2947, 3153, 1119 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][2] = { 1859, 3053, 2889 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][3] = { 1782, 3130, 1047 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][4] = { 2608, 556, 2852 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][5] = { 2557, 964, 912 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][6] = { 1013, 309, 2830 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_ADOBERGB][7] = { 839, 864, 817 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][0] = { 2879, 2975, 2793 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][1] = { 2832, 3059, 806 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][2] = { 1629, 2949, 2768 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][3] = { 1543, 3033, 725 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][4] = { 2457, 203, 2727 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][5] = { 2401, 633, 574 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][6] = { 687, 56, 2702 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_SMPTE240M][7] = { 493, 521, 469 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][0] = { 2060, 2194, 1943 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][1] = { 1995, 2314, 237 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][2] = { 725, 2157, 1911 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][3] = { 660, 2278, 205 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][4] = { 1525, 50, 1857 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][5] = { 1461, 171, 151 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][6] = { 190, 14, 1825 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_M][V4L2_XFER_FUNC_NONE][7] = { 126, 134, 118 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][1] = { 2939, 2939, 464 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][2] = { 786, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][3] = { 786, 2939, 464 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][4] = { 2879, 547, 2956 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][5] = { 2879, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][6] = { 547, 547, 2956 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][1] = { 3056, 3056, 717 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][2] = { 1036, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][3] = { 1036, 3056, 717 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][4] = { 3001, 800, 3071 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][5] = { 3001, 800, 799 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][6] = { 800, 800, 3071 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SRGB][7] = { 800, 800, 799 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][1] = { 3033, 3033, 776 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][2] = { 1068, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][3] = { 1068, 3033, 776 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][4] = { 2977, 851, 3048 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][5] = { 2977, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][6] = { 851, 851, 3048 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][1] = { 2926, 2926, 423 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][2] = { 749, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][3] = { 749, 2926, 423 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][4] = { 2865, 507, 2943 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][5] = { 2865, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][6] = { 507, 507, 2943 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][1] = { 2125, 2125, 106 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][2] = { 214, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][3] = { 214, 2125, 106 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][4] = { 2041, 130, 2149 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][5] = { 2041, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][6] = { 130, 130, 2149 },
|
||||||
|
[V4L2_COLORSPACE_470_SYSTEM_BG][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][1] = { 2939, 2939, 547 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][2] = { 547, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][3] = { 547, 2939, 547 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][4] = { 2939, 547, 2939 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][5] = { 2939, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][6] = { 547, 547, 2939 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][1] = { 3056, 3056, 800 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][2] = { 800, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][3] = { 800, 3056, 800 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][4] = { 3056, 800, 3056 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][5] = { 3056, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][6] = { 800, 800, 3056 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SRGB][7] = { 800, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][1] = { 3033, 3033, 851 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][2] = { 851, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][3] = { 851, 3033, 851 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][4] = { 3033, 851, 3033 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][5] = { 3033, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][6] = { 851, 851, 3033 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][1] = { 2926, 2926, 507 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][2] = { 507, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][3] = { 507, 2926, 507 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][4] = { 2926, 507, 2926 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][5] = { 2926, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][6] = { 507, 507, 2926 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][1] = { 2125, 2125, 130 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][2] = { 130, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][3] = { 130, 2125, 130 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][4] = { 2125, 130, 2125 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][5] = { 2125, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][6] = { 130, 130, 2125 },
|
||||||
|
[V4L2_COLORSPACE_SRGB][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][1] = { 2939, 2939, 781 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][2] = { 1622, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][3] = { 1622, 2939, 781 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][4] = { 2502, 547, 2881 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][5] = { 2502, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][6] = { 547, 547, 2881 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][1] = { 3056, 3056, 1031 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][2] = { 1838, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][3] = { 1838, 3056, 1031 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][4] = { 2657, 800, 3002 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][5] = { 2657, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][6] = { 800, 800, 3002 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SRGB][7] = { 800, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][1] = { 3033, 3033, 1063 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][2] = { 1828, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][3] = { 1828, 3033, 1063 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][4] = { 2633, 851, 2979 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][5] = { 2633, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][6] = { 851, 851, 2979 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][1] = { 2926, 2926, 744 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][2] = { 1594, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][3] = { 1594, 2926, 744 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][4] = { 2484, 507, 2867 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][5] = { 2484, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][6] = { 507, 507, 2867 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][1] = { 2125, 2125, 212 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][2] = { 698, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][3] = { 698, 2125, 212 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][4] = { 1557, 130, 2043 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][5] = { 1557, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][6] = { 130, 130, 2043 },
|
||||||
|
[V4L2_COLORSPACE_ADOBERGB][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][0] = { 2939, 2939, 2939 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][1] = { 2877, 2923, 1058 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][2] = { 1837, 2840, 2916 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][3] = { 1734, 2823, 993 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][4] = { 2427, 961, 2812 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][5] = { 2351, 912, 648 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][6] = { 792, 618, 2788 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_709][7] = { 547, 547, 547 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][0] = { 3056, 3056, 3056 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][1] = { 2999, 3041, 1301 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][2] = { 2040, 2965, 3034 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][3] = { 1944, 2950, 1238 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][4] = { 2587, 1207, 2940 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][5] = { 2517, 1159, 900 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][6] = { 1042, 870, 2917 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SRGB][7] = { 800, 800, 800 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][0] = { 3033, 3033, 3033 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][1] = { 2976, 3018, 1315 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][2] = { 2024, 2942, 3011 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][3] = { 1930, 2926, 1256 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][4] = { 2563, 1227, 2916 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][5] = { 2494, 1183, 943 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][6] = { 1073, 916, 2894 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_ADOBERGB][7] = { 851, 851, 851 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][0] = { 2926, 2926, 2926 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][1] = { 2864, 2910, 1024 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][2] = { 1811, 2826, 2903 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][3] = { 1707, 2809, 958 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][4] = { 2408, 926, 2798 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][5] = { 2331, 876, 609 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][6] = { 755, 579, 2773 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_SMPTE240M][7] = { 507, 507, 507 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][0] = { 2125, 2125, 2125 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][1] = { 2039, 2102, 338 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][2] = { 873, 1987, 2092 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][3] = { 787, 1965, 305 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][4] = { 1468, 290, 1949 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][5] = { 1382, 268, 162 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][6] = { 216, 152, 1917 },
|
||||||
|
[V4L2_COLORSPACE_BT2020][V4L2_XFER_FUNC_NONE][7] = { 130, 130, 130 },
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -764,50 +1020,38 @@ static double transfer_srgb_to_rec709(double v)
|
||||||
return transfer_rgb_to_rec709(transfer_srgb_to_rgb(v));
|
return transfer_rgb_to_rec709(transfer_srgb_to_rgb(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void csc(enum v4l2_colorspace colorspace, double *r, double *g, double *b)
|
static void csc(enum v4l2_colorspace colorspace, enum v4l2_xfer_func xfer_func,
|
||||||
|
double *r, double *g, double *b)
|
||||||
{
|
{
|
||||||
int clamp = 1;
|
int clamp = 1;
|
||||||
|
|
||||||
|
*r = transfer_srgb_to_rgb(*r);
|
||||||
|
*g = transfer_srgb_to_rgb(*g);
|
||||||
|
*b = transfer_srgb_to_rgb(*b);
|
||||||
|
|
||||||
/* Convert the primaries of Rec. 709 Linear RGB */
|
/* Convert the primaries of Rec. 709 Linear RGB */
|
||||||
switch (colorspace) {
|
switch (colorspace) {
|
||||||
case V4L2_COLORSPACE_SMPTE240M:
|
case V4L2_COLORSPACE_SMPTE240M:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_240m);
|
mult_matrix(r, g, b, rec709_to_240m);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_SMPTE170M:
|
case V4L2_COLORSPACE_SMPTE170M:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_170m);
|
mult_matrix(r, g, b, rec709_to_170m);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_470_SYSTEM_BG:
|
case V4L2_COLORSPACE_470_SYSTEM_BG:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_ebu);
|
mult_matrix(r, g, b, rec709_to_ebu);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_470_SYSTEM_M:
|
case V4L2_COLORSPACE_470_SYSTEM_M:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_ntsc1953);
|
mult_matrix(r, g, b, rec709_to_ntsc1953);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_ADOBERGB:
|
case V4L2_COLORSPACE_ADOBERGB:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_adobergb);
|
mult_matrix(r, g, b, rec709_to_adobergb);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_BT2020:
|
case V4L2_COLORSPACE_BT2020:
|
||||||
*r = transfer_srgb_to_rgb(*r);
|
|
||||||
*g = transfer_srgb_to_rgb(*g);
|
|
||||||
*b = transfer_srgb_to_rgb(*b);
|
|
||||||
mult_matrix(r, g, b, rec709_to_bt2020);
|
mult_matrix(r, g, b, rec709_to_bt2020);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_SRGB:
|
case V4L2_COLORSPACE_SRGB:
|
||||||
case V4L2_COLORSPACE_REC709:
|
case V4L2_COLORSPACE_REC709:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -818,33 +1062,28 @@ static void csc(enum v4l2_colorspace colorspace, double *r, double *g, double *b
|
||||||
*b = ((*b) < 0) ? 0 : (((*b) > 1) ? 1 : (*b));
|
*b = ((*b) < 0) ? 0 : (((*b) > 1) ? 1 : (*b));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Encode to gamma corrected colorspace */
|
switch (xfer_func) {
|
||||||
switch (colorspace) {
|
case V4L2_XFER_FUNC_709:
|
||||||
case V4L2_COLORSPACE_SMPTE240M:
|
|
||||||
*r = transfer_rgb_to_smpte240m(*r);
|
|
||||||
*g = transfer_rgb_to_smpte240m(*g);
|
|
||||||
*b = transfer_rgb_to_smpte240m(*b);
|
|
||||||
break;
|
|
||||||
case V4L2_COLORSPACE_SMPTE170M:
|
|
||||||
case V4L2_COLORSPACE_470_SYSTEM_M:
|
|
||||||
case V4L2_COLORSPACE_470_SYSTEM_BG:
|
|
||||||
case V4L2_COLORSPACE_BT2020:
|
|
||||||
*r = transfer_rgb_to_rec709(*r);
|
*r = transfer_rgb_to_rec709(*r);
|
||||||
*g = transfer_rgb_to_rec709(*g);
|
*g = transfer_rgb_to_rec709(*g);
|
||||||
*b = transfer_rgb_to_rec709(*b);
|
*b = transfer_rgb_to_rec709(*b);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_SRGB:
|
case V4L2_XFER_FUNC_SRGB:
|
||||||
|
*r = transfer_rgb_to_srgb(*r);
|
||||||
|
*g = transfer_rgb_to_srgb(*g);
|
||||||
|
*b = transfer_rgb_to_srgb(*b);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_ADOBERGB:
|
case V4L2_XFER_FUNC_ADOBERGB:
|
||||||
*r = transfer_rgb_to_adobergb(*r);
|
*r = transfer_rgb_to_adobergb(*r);
|
||||||
*g = transfer_rgb_to_adobergb(*g);
|
*g = transfer_rgb_to_adobergb(*g);
|
||||||
*b = transfer_rgb_to_adobergb(*b);
|
*b = transfer_rgb_to_adobergb(*b);
|
||||||
break;
|
break;
|
||||||
case V4L2_COLORSPACE_REC709:
|
case V4L2_XFER_FUNC_SMPTE240M:
|
||||||
default:
|
*r = transfer_rgb_to_smpte240m(*r);
|
||||||
*r = transfer_srgb_to_rec709(*r);
|
*g = transfer_rgb_to_smpte240m(*g);
|
||||||
*g = transfer_srgb_to_rec709(*g);
|
*b = transfer_rgb_to_smpte240m(*b);
|
||||||
*b = transfer_srgb_to_rec709(*b);
|
break;
|
||||||
|
case V4L2_XFER_FUNC_NONE:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -877,7 +1116,16 @@ int main(int argc, char **argv)
|
||||||
"V4L2_COLORSPACE_ADOBERGB",
|
"V4L2_COLORSPACE_ADOBERGB",
|
||||||
"V4L2_COLORSPACE_BT2020",
|
"V4L2_COLORSPACE_BT2020",
|
||||||
};
|
};
|
||||||
|
static const char * const xfer_func_names[] = {
|
||||||
|
"",
|
||||||
|
"V4L2_XFER_FUNC_709",
|
||||||
|
"V4L2_XFER_FUNC_SRGB",
|
||||||
|
"V4L2_XFER_FUNC_ADOBERGB",
|
||||||
|
"V4L2_XFER_FUNC_SMPTE240M",
|
||||||
|
"V4L2_XFER_FUNC_NONE",
|
||||||
|
};
|
||||||
int i;
|
int i;
|
||||||
|
int x;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
printf("/* Generated table */\n");
|
printf("/* Generated table */\n");
|
||||||
|
@ -905,22 +1153,26 @@ int main(int argc, char **argv)
|
||||||
printf("\n};\n\n");
|
printf("\n};\n\n");
|
||||||
|
|
||||||
printf("/* Generated table */\n");
|
printf("/* Generated table */\n");
|
||||||
printf("const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][TPG_COLOR_CSC_BLACK + 1] = {\n");
|
printf("const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][V4L2_XFER_FUNC_NONE + 1][TPG_COLOR_CSC_BLACK + 1] = {\n");
|
||||||
for (c = 0; c <= V4L2_COLORSPACE_BT2020; c++) {
|
for (c = 0; c <= V4L2_COLORSPACE_BT2020; c++) {
|
||||||
for (i = 0; i <= TPG_COLOR_CSC_BLACK; i++) {
|
for (x = 1; x <= V4L2_XFER_FUNC_NONE; x++) {
|
||||||
double r, g, b;
|
for (i = 0; i <= TPG_COLOR_CSC_BLACK; i++) {
|
||||||
|
double r, g, b;
|
||||||
|
|
||||||
if (colorspaces[c] == 0)
|
if (colorspaces[c] == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
r = tpg_colors[i].r / 255.0;
|
r = tpg_colors[i].r / 255.0;
|
||||||
g = tpg_colors[i].g / 255.0;
|
g = tpg_colors[i].g / 255.0;
|
||||||
b = tpg_colors[i].b / 255.0;
|
b = tpg_colors[i].b / 255.0;
|
||||||
|
|
||||||
csc(c, &r, &g, &b);
|
csc(c, x, &r, &g, &b);
|
||||||
|
|
||||||
printf("\t[%s][%d] = { %d, %d, %d },\n", colorspace_names[c], i,
|
printf("\t[%s][%s][%d] = { %d, %d, %d },\n",
|
||||||
(int)(r * 4080), (int)(g * 4080), (int)(b * 4080));
|
colorspace_names[c],
|
||||||
|
xfer_func_names[x], i,
|
||||||
|
(int)(r * 4080), (int)(g * 4080), (int)(b * 4080));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("};\n\n");
|
printf("};\n\n");
|
||||||
|
|
|
@ -61,6 +61,8 @@ enum tpg_color {
|
||||||
extern const struct color tpg_colors[TPG_COLOR_MAX];
|
extern const struct color tpg_colors[TPG_COLOR_MAX];
|
||||||
extern const unsigned short tpg_rec709_to_linear[255 * 16 + 1];
|
extern const unsigned short tpg_rec709_to_linear[255 * 16 + 1];
|
||||||
extern const unsigned short tpg_linear_to_rec709[255 * 16 + 1];
|
extern const unsigned short tpg_linear_to_rec709[255 * 16 + 1];
|
||||||
extern const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1][TPG_COLOR_CSC_BLACK + 1];
|
extern const struct color16 tpg_csc_colors[V4L2_COLORSPACE_BT2020 + 1]
|
||||||
|
[V4L2_XFER_FUNC_NONE + 1]
|
||||||
|
[TPG_COLOR_CSC_BLACK + 1];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -706,9 +706,9 @@ static void precalculate_color(struct tpg_data *tpg, int k)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tpg->pattern == TPG_PAT_CSC_COLORBAR && col <= TPG_COLOR_CSC_BLACK) {
|
if (tpg->pattern == TPG_PAT_CSC_COLORBAR && col <= TPG_COLOR_CSC_BLACK) {
|
||||||
r = tpg_csc_colors[tpg->colorspace][col].r;
|
r = tpg_csc_colors[tpg->colorspace][tpg->real_xfer_func][col].r;
|
||||||
g = tpg_csc_colors[tpg->colorspace][col].g;
|
g = tpg_csc_colors[tpg->colorspace][tpg->real_xfer_func][col].g;
|
||||||
b = tpg_csc_colors[tpg->colorspace][col].b;
|
b = tpg_csc_colors[tpg->colorspace][tpg->real_xfer_func][col].b;
|
||||||
} else {
|
} else {
|
||||||
r <<= 4;
|
r <<= 4;
|
||||||
g <<= 4;
|
g <<= 4;
|
||||||
|
|
Loading…
Reference in New Issue