-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathACES_CSC_OFX.dctl
93 lines (87 loc) · 2.4 KB
/
ACES_CSC_OFX.dctl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// ACES 1.3 CSC OFX DCTL
DEFINE_UI_PARAMS(p_CSCIN, ACESCSCin, DCTLUI_COMBO_BOX, 0, { CSCIN_OFF, ACESCCIN, ACESCCTIN, ACESCGIN, ADXIN, ICPCTIN, LOGCAWGIN, LOG3G10RWGIN, SLOG3SG3IN, SLOG3SG3CIN, VENSLOG3SG3IN, VENSLOG3SG3CIN, VLOGVGAMUTIN }, { off, acescc, acescct, acescg, adx, icpct, arri logc awg, red log3g10 rwg, slog3 sg3, slog3 sg3c, venice slog3 sg3, venice slog3 sg3c, vlog vgamut })
DEFINE_UI_PARAMS(p_CSCOUT, ACESCSCout, DCTLUI_COMBO_BOX, 0, { CSCOUT_OFF, ACESCCOUT, ACESCCTOUT, ACESCGOUT, ADXOUT, ICPCTOUT, LOGCAWGOUT, LOG3G10RWGOUT, SLOG3SG3OUT, SLOG3SG3COUT, VENSLOG3SG3OUT, VENSLOG3SG3COUT, VLOGVGAMUTOUT }, { off, acescc, acescct, acescg, adx, icpct, arri logc awg, red log3g10 rwg, slog3 sg3, slog3 sg3c, venice slog3 sg3, venice slog3 sg3c, vlog vgamut })
#include "ACES_LIB.h"
__DEVICE__ float3 transform(int p_Width, int p_Height, int p_X, int p_Y, float p_R, float p_G, float p_B)
{
float3 aces = make_float3(p_R, p_G, p_B);
switch (p_CSCIN){
case CSCIN_OFF:
{}
break;
case ACESCCIN:
{aces = ACEScc_to_ACES(aces);}
break;
case ACESCCTIN:
{aces = ACEScct_to_ACES(aces);}
break;
case ACESCGIN:
{aces = ACEScg_to_ACES(aces);}
break;
case ADXIN:
{aces = ADX_to_ACES(aces);}
break;
case ICPCTIN:
{aces = ICpCt_to_ACES(aces);}
break;
case LOGCAWGIN:
{aces = LogC_EI800_AWG_to_ACES(aces);}
break;
case LOG3G10RWGIN:
{aces = Log3G10_RWG_to_ACES(aces);}
break;
case SLOG3SG3IN:
{aces = SLog3_SG3_to_ACES(aces);}
break;
case SLOG3SG3CIN:
{aces = SLog3_SG3C_to_ACES(aces);}
break;
case VENSLOG3SG3IN:
{aces = Venice_SLog3_SG3_to_ACES(aces);}
break;
case VENSLOG3SG3CIN:
{aces = Venice_SLog3_SG3C_to_ACES(aces);}
break;
case VLOGVGAMUTIN:
{aces = VLog_VGamut_to_ACES(aces);}}
switch (p_CSCOUT){
case CSCOUT_OFF:
{}
break;
case ACESCCOUT:
{aces = ACES_to_ACEScc(aces);}
break;
case ACESCCTOUT:
{aces = ACES_to_ACEScct(aces);}
break;
case ACESCGOUT:
{aces = ACES_to_ACEScg(aces);}
break;
case ADXOUT:
{aces = ACES_to_ADX(aces);}
break;
case ICPCTOUT:
{aces = ACES_to_ICpCt(aces);}
break;
case LOGCAWGOUT:
{aces = ACES_to_LogC_EI800_AWG(aces);}
break;
case LOG3G10RWGOUT:
{aces = ACES_to_Log3G10_RWG(aces);}
break;
case SLOG3SG3OUT:
{aces = ACES_to_SLog3_SG3(aces);}
break;
case SLOG3SG3COUT:
{aces = ACES_to_SLog3_SG3C(aces);}
break;
case VENSLOG3SG3OUT:
{aces = ACES_to_Venice_SLog3_SG3(aces);}
break;
case VENSLOG3SG3COUT:
{aces = ACES_to_Venice_SLog3_SG3C(aces);}
break;
case VLOGVGAMUTOUT:
{aces = ACES_to_VLog_VGamut(aces);}}
return aces;
}