What it checks
Some destinations fix technical values of the EBU-STL General Subtitle Information (GSI) block: Channel 5 wants code page 850 and closed teletext level 1, the BBC lists the code page, disk format, display standard, character table, language code and maximum rows, the French broadcasters' CST-RT-040 baseline wants teletext level 1, character table 00, code page 850 and language code 0F, and ARTE accepts teletext level 1 or 2 with the language code of the version (0F French, 08 German). A file made by another tool often carries its own defaults instead. The rule produces a single issue for the whole file, listing every field that differs.
How it is measured
CueNorm reads the fields from the header of the EBU-STL file and compares them with the values the profile would write itself (its writer.ebustl.gsi settings: codePage, diskFormatCode — derived from the frame rate when not set —, displayStandardCode, characterCodeTable, languageCode — derived from the profile language when not set — and maxRows). Only the fields listed by the rule are compared. Files in other formats have no such header and are never judged by this rule. When a file is converted by CueNorm, the generated header is written from the same settings, so the rule only reports received files.
| Field | Header field (EBU Tech 3264) |
|---|---|
codePage |
CPN, Code Page Number |
diskFormatCode |
DFC, Disk Format Code |
displayStandardCode |
DSC, Display Standard Code |
characterCodeTable |
CCT, Character Code Table |
languageCode |
LC, Language Code |
maxRows |
MNR, Maximum Number of Displayable Rows |
Parameters
| Parameter | Type | Meaning |
|---|---|---|
fields |
list of the field names above | The header fields whose value the destination imposes |
accept |
optional mapping: field name → list of values | Values accepted in addition to the one the profile writes, when the destination allows several (ARTE: teletext level 1 or 2) |
Example
With fields: [codePage, displayStandardCode] and a profile writing code page 850 in closed teletext level 1, a file declaring code page 437 and open subtitles is reported as EBU-STL header values differ from the destination's: CPN "437" (expected "850"), DSC "0" (expected "1").
With accept: {displayStandardCode: ["1"]} in a profile writing teletext level 2, a file declaring level 1 or 2 passes, and a file declaring open subtitles is reported as DSC "0" (expected "2" or "1").
How to fix
- Convert the file with CueNorm and this profile: the header is rewritten with the destination's values.
- Or set the listed fields in the tool that produced the file.