Light Level Filters
Light Level Analyzer
The light level analysis llan
filter measures the content light levels according to CTA-861.3. The filter accepts an input RGB
video stream using the PQ
transfer function. The filter supports the following configuration properties:
Property | Value | Description |
---|---|---|
LeftMargin | integer | Specifies the margin offset from the left edge of the frame in pixels. The margins indictate the active area over which light levels are measured. |
RightMargin | integer | Specifies the margin offset from the right edge of the frame in pixels. |
TopMargin | integer | Specifies the margin offset from the top of the frame in pixels. |
BottomMargin | integer | Specifies the margin offset from the bottom of the frame in pixels. |
The analyzer adds a light level analysis lght
element to each video sample. The analysis element contains the following properties:
Property | Value | Description |
---|---|---|
average | number | Average frame light level within the active area in candellas per square meter. |
maximum | number | Maximum pixel light level within the active area in candellas per square meter. |
x | integer | Horizontal pixel location of the maximum light level. |
y | integer | Vertical pixel location of the maximum light level. |
Properties Writer
The properties prop
container writer is used to write the analysis results to a JSON file. For example the following composition will measure the light levels of the mxf
input:
---
input:
container:
- name: mxf
video:
- name: v1
output:
container:
- name: json
type: prop
properties:
Kind: data
video:
- route:
name: v1
filter:
- type: llan
properties:
TopMargin: 56
BottomMargin: 56
{
"input": {
"container": [
{
"name": "mxf",
"video": [
{
"name": "v1"
}
]
}
]
},
"output": {
"container": [
{
"name": "json",
"type": "prop",
"properties": {
"Kind": "data"
},
"video": [
{
"route": {
"name": "v1"
},
"filter": [
{
"type": "llan",
"properties": {
"TopMargin": 56,
"BottomMargin": 56
}
}
]
}
]
}
]
}
}
The properties writer will produce an output similar to the following (only the first sample is shown):
{
"video": [
{
"format": "rgba",
"width": 3840,
"height": 2160,
"sample_rate": {
"numerator": 24000,
"denominator": 1001
},
"sample": [
{
"duration": 1001,
"analysis": [
{
"type": "lght",
"average": 123.45,
"maximum": 1245.67,
"x": 2345,
"y": 1234
}
]
}
]
}
]
}
The CTA-861.3 metadata values are determined by locating the video sample containing the maximum average frame level (MaxFALL) and the sample with the maximum pixel level (MaxCLL).
Updated about 1 year ago