{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"$id": "https://www.arri.com/schema/json/camera/processing/color/v1-1-1",
	"$comment": "Auto-generated - please do not edit",
	"title": "Color",
	"description": "Information about log-based color processing",
	"type": "object",
	"properties": {
		"cdl": {
			"title": "CDL",
			"description": "ASC Color Decision List",
			"type": "object",
			"properties": {
				"cdlOffset": {
					"title": "CDL Offset",
					"description": "CDL offset as RGB triple",
					"type": "object",
					"properties": {
						"b": {
							"title": "Blue Component",
							"description": "Blue component",
							"type": "number"
						},
						"g": {
							"title": "Green Component",
							"description": "Green component",
							"type": "number"
						},
						"r": {
							"title": "Red Component",
							"description": "Red component",
							"type": "number"
						}
					},
					"required": [
						"r",
						"g",
						"b"
					]
				},
				"cdlPower": {
					"title": "CDL Power",
					"description": "CDL power as RGB triple",
					"type": "object",
					"properties": {
						"b": {
							"title": "Blue Component",
							"description": "Blue component",
							"type": "number"
						},
						"g": {
							"title": "Green Component",
							"description": "Green component",
							"type": "number"
						},
						"r": {
							"title": "Red Component",
							"description": "Red component",
							"type": "number"
						}
					},
					"required": [
						"r",
						"g",
						"b"
					]
				},
				"cdlSaturation": {
					"title": "CDL Saturation",
					"description": "CDL saturation",
					"type": "number"
				},
				"cdlSlope": {
					"title": "CDL Slope",
					"description": "CDL slope as RGB triple",
					"type": "object",
					"properties": {
						"b": {
							"title": "Blue Component",
							"description": "Blue component",
							"type": "number"
						},
						"g": {
							"title": "Green Component",
							"description": "Green component",
							"type": "number"
						},
						"r": {
							"title": "Red Component",
							"description": "Red component",
							"type": "number"
						}
					},
					"required": [
						"r",
						"g",
						"b"
					]
				},
				"lut3DID": {
					"title": "3D LUT Identifier",
					"description": "Identifier of the 3D LUT, referenced by its design data and associated CDL",
					"type": "string",
					"pattern": "^[A-Za-z_][A-Za-z0-9_\\.\\:\\-]*$"
				}
			},
			"required": [
				"cdlSlope",
				"cdlOffset",
				"cdlPower",
				"cdlSaturation"
			]
		},
		"lookApplied": {
			"title": "Color Look Applied",
			"description": "Flag indicating whether ASC-CDL (optionally), a log-to-log 3D LUT (optionally), and a display 3D LUT have been applied to produce the output",
			"type": "boolean"
		},
		"lookInfo": {
			"title": "Look Info",
			"description": "Descriptive properties of a color look",
			"type": "object",
			"properties": {
				"lookFilename": {
					"title": "Look File Name",
					"description": "Name of the color look file that was loaded in the camera. The length limit of 63 printable letters is meant to ensure that a string with only ASCII bytes fits into an ARRI look file buffer.",
					"type": "string",
					"maxLength": 63
				},
				"lookIntensity": {
					"title": "Look Intensity",
					"description": "Look intensity in percent as adjusted in-camera",
					"type": "integer",
					"minimum": 10,
					"maximum": 100
				},
				"lookModified": {
					"title": "Look Modified",
					"description": "Flag indicating whether the ASC-CDL or 3D LUT was changed after loading the color look file in the camera",
					"type": "boolean"
				},
				"lookNote": {
					"title": "Look Note",
					"description": "User-supplied note as stored in the color look file. The length limit of 1023 printable letters is meant to ensure that a string with only ASCII bytes fits into an ARRI look file buffer. To create .alf4 look files with both SDR- and HDR-LUTs that are of \"Custom\" [3D LUT DRT Type](#lut3DDrtType), the actual limit is only 31 ASCII bytes.",
					"type": "string",
					"maxLength": 1023
				}
			},
			"required": [
				"lookModified"
			]
		},
		"lut3D": {
			"type": "array",
			"items": {
				"title": "3D LUT",
				"description": "3D LUT",
				"type": "object",
				"properties": {
					"lut3DData": {
						"title": "3D LUT Data",
						"description": "3D LUT data, RGB interleaved unsigned 16 bit values (big-endian)",
						"type": "string",
						"maxLength": 2197000,
						"contentEncoding": "base64"
					},
					"lut3DID": {
						"title": "3D LUT Identifier",
						"description": "Identifier of the 3D LUT, referenced by its design data and associated CDL",
						"type": "string",
						"pattern": "^[A-Za-z_][A-Za-z0-9_\\.\\:\\-]*$"
					},
					"lut3DMeshPoints": {
						"title": "Mesh Points Per Channel",
						"description": "Number of mesh points per channel",
						"type": "integer",
						"exclusiveMinimum": 0
					},
					"lut3DNormalization": {
						"title": "Normalization",
						"description": "Offset and gain used to normalize the video signal level values after the LUT transformation",
						"type": "object",
						"properties": {
							"gain": {
								"title": "Gain",
								"description": "Normalization gain",
								"type": "number"
							},
							"offset": {
								"title": "Offset",
								"description": "Normalization offset",
								"type": "number"
							}
						},
						"required": [
							"gain",
							"offset"
						]
					},
					"lut3DScalingFactor": {
						"title": "Scaling Factor",
						"description": "The factor that was applied to the values stored in the 3D LUT",
						"type": "integer"
					},
					"lut3DSourceColorSpace": {
						"title": "Source Color Space",
						"description": "Item designating the RGB primary set, white point and transfer curve of the source color space",
						"type": "object",
						"properties": {
							"primaries": {
								"title": "Color Primary Set",
								"type": "string",
								"oneOf": [
									{
										"description": "ITU-R BT.709 Primaries",
										"type": "string",
										"const": "Rec.709"
									},
									{
										"description": "P3 Primaries",
										"type": "string",
										"const": "P3"
									},
									{
										"description": "ITU-R BT.2020 Primaries",
										"type": "string",
										"const": "Rec.2020"
									},
									{
										"description": "AP0 Primaries uses by ACES2065-1",
										"type": "string",
										"const": "AP0"
									},
									{
										"description": "ARRI Wide Gamut v3 Primaries",
										"type": "string",
										"const": "AWG3"
									},
									{
										"description": "ARRI Wide Gamut v4 Primaries",
										"type": "string",
										"const": "AWG4"
									}
								]
							},
							"transferCurve": {
								"title": "Transfer Curve",
								"type": "string",
								"oneOf": [
									{
										"type": "string",
										"const": "BT.1886"
									},
									{
										"type": "string",
										"const": "DCI"
									},
									{
										"type": "string",
										"const": "PQ"
									},
									{
										"type": "string",
										"const": "HLG"
									},
									{
										"type": "string",
										"const": "LogC3"
									},
									{
										"type": "string",
										"const": "LogC4"
									},
									{
										"type": "string",
										"const": "linear"
									}
								]
							},
							"whitePoint": {
								"title": "White Point",
								"type": "string",
								"oneOf": [
									{
										"description": "D60 White Point",
										"type": "string",
										"const": "D60"
									},
									{
										"description": "DCI White Point",
										"type": "string",
										"const": "DCI"
									},
									{
										"description": "D65 White Point",
										"type": "string",
										"const": "D65"
									}
								]
							}
						},
						"required": [
							"primaries",
							"whitePoint",
							"transferCurve"
						]
					},
					"lut3DTargetColorSpace": {
						"title": "Target Color Space",
						"description": "Item designating the RGB primary set, white point and transfer curve of the target color space",
						"type": "object",
						"properties": {
							"primaries": {
								"title": "Color Primary Set",
								"type": "string",
								"oneOf": [
									{
										"description": "ITU-R BT.709 Primaries",
										"type": "string",
										"const": "Rec.709"
									},
									{
										"description": "P3 Primaries",
										"type": "string",
										"const": "P3"
									},
									{
										"description": "ITU-R BT.2020 Primaries",
										"type": "string",
										"const": "Rec.2020"
									},
									{
										"description": "AP0 Primaries uses by ACES2065-1",
										"type": "string",
										"const": "AP0"
									},
									{
										"description": "ARRI Wide Gamut v3 Primaries",
										"type": "string",
										"const": "AWG3"
									},
									{
										"description": "ARRI Wide Gamut v4 Primaries",
										"type": "string",
										"const": "AWG4"
									}
								]
							},
							"transferCurve": {
								"title": "Transfer Curve",
								"type": "string",
								"oneOf": [
									{
										"type": "string",
										"const": "BT.1886"
									},
									{
										"type": "string",
										"const": "DCI"
									},
									{
										"type": "string",
										"const": "PQ"
									},
									{
										"type": "string",
										"const": "HLG"
									},
									{
										"type": "string",
										"const": "LogC3"
									},
									{
										"type": "string",
										"const": "LogC4"
									},
									{
										"type": "string",
										"const": "linear"
									}
								]
							},
							"whitePoint": {
								"title": "White Point",
								"type": "string",
								"oneOf": [
									{
										"description": "D60 White Point",
										"type": "string",
										"const": "D60"
									},
									{
										"description": "DCI White Point",
										"type": "string",
										"const": "DCI"
									},
									{
										"description": "D65 White Point",
										"type": "string",
										"const": "D65"
									}
								]
							}
						},
						"required": [
							"primaries",
							"whitePoint",
							"transferCurve"
						]
					}
				},
				"required": [
					"lut3DScalingFactor",
					"lut3DNormalization",
					"lut3DMeshPoints",
					"lut3DSourceColorSpace",
					"lut3DTargetColorSpace",
					"lut3DData"
				]
			},
			"minLength": 1
		},
		"lut3DDesign": {
			"type": "array",
			"items": {
				"title": "3D LUT Design",
				"description": "Descriptive properties of a 3D LUT",
				"type": "object",
				"properties": {
					"lut3DDesignARRIVideoParamsV2": {
						"$ref": "https://www.arri.com/schema/json/camera/processing/arri2_video_params/v1-0-0"
					},
					"lut3DDesignCustom": {
						"$ref": "https://www.arri.com/schema/json/camera/processing/custom_lut3d_design/v1-1-1"
					}
				}
			},
			"minLength": 0
		},
		"sceneColorEncoding": {
			"title": "Scene Color Encoding",
			"description": "Encoding of the input to the color processing (ASC-CDL, log-to-log 3D LUT)",
			"type": "object",
			"properties": {
				"sceneColorEncodingPrimaries": {
					"title": "Color Primary Set",
					"type": "string",
					"oneOf": [
						{
							"description": "ARRI Wide Gamut v3 Primaries",
							"type": "string",
							"const": "AWG3"
						},
						{
							"description": "ARRI Wide Gamut v4 Primaries",
							"type": "string",
							"const": "AWG4"
						}
					]
				},
				"sceneColorEncodingTransferCurve": {
					"title": "Transfer Curve",
					"type": "string",
					"oneOf": [
						{
							"type": "string",
							"const": "LogC3"
						},
						{
							"type": "string",
							"const": "LogC4"
						},
						{
							"type": "string",
							"const": "linear"
						}
					]
				},
				"sceneColorEncodingWhitePoint": {
					"title": "White Point",
					"type": "string",
					"oneOf": [
						{
							"description": "D60 White Point",
							"type": "string",
							"const": "D60"
						},
						{
							"description": "D65 White Point",
							"type": "string",
							"const": "D65"
						}
					]
				}
			},
			"required": [
				"sceneColorEncodingPrimaries",
				"sceneColorEncodingWhitePoint",
				"sceneColorEncodingTransferCurve"
			]
		},
		"tbcc": {
			"title": "TBCC",
			"description": "Table-based color correction (internal, used by Camera Image Core)",
			"type": "object",
			"properties": {
				"tbccForwardDataSets": {
					"title": "TBCC Forward Data Sets",
					"description": "TBCC Forward Data Sets (internal, use by the Camera Image Core)",
					"type": "array",
					"items": {
						"type": "string",
						"contentEncoding": "base64"
					},
					"maxLength": 16
				},
				"tbccForwardFilterMap": {
					"title": "TBCC Forward FSND Map",
					"description": "Map from ND Filter Index to TBCC Forward Data Set",
					"type": "array",
					"items": {
						"type": "integer"
					},
					"maxLength": 16
				},
				"tbccInverseDataSets": {
					"title": "TBCC Inverse Data Sets",
					"description": "TBCC Inverse Data Sets (internal, use by the Camera Image Core)",
					"type": "array",
					"items": {
						"type": "string",
						"contentEncoding": "base64"
					},
					"maxLength": 16
				},
				"tbccInverseFilterMap": {
					"title": "TBCC Inverse FSND Map",
					"description": "Map from ND Filter Index to TBCC Inverse Data Set",
					"type": "array",
					"items": {
						"type": "integer"
					},
					"maxLength": 16
				}
			},
			"required": [
				"tbccForwardFilterMap",
				"tbccForwardDataSets"
			]
		},
		"videoRenderingVersion": {
			"title": "Video Rendering Version",
			"description": "Identifier specifying the version of the video rendering transform used by the camera",
			"type": "string"
		}
	},
	"required": [
		"sceneColorEncoding",
		"lut3D",
		"lookInfo",
		"cdl",
		"lookApplied"
	]
}