Laserdisc code types¶
Every code_type accepted in a section's laserdisc.codes list, with its hex format, where it is legal and what it needs.
laserdisc.disc_type (CAV/CLV) is project-wide; the disc area is per section. Together they decide which code types are accepted. A section that carries codes must set area.
There is no SECAM LaserVision format, so a SECAM project rejects the laserdisc: blocks, and with them every laserdisc code, and placement: laserdisc:
Project configuration error: there is no SECAM LaserVision format, so the
laserdisc block, section laserdisc blocks and laserdisc VITS placement are not
available for SECAM projects.
"All" in the table below therefore means PAL, NTSC and PAL-M.
At a glance¶
code_type |
Disc | Standard | Disc area | Auto-increments | Field |
|---|---|---|---|---|---|
lead_in |
CAV/CLV | All | lead_in |
— | — |
lead_out |
CAV/CLV | All | lead_out |
— | — |
picture_number |
CAV | All | programme_area |
✅ | start_value |
picture_stop |
CAV | All | programme_area |
— | — |
chapter_number |
CAV/CLV | All | programme_area |
— | chapter |
programme_status |
CAV/CLV | All | programme_area |
— | programme_status |
users_code |
CAV/CLV | All | lead_in, lead_out |
— | users_code |
programme_time_code |
CLV | All | programme_area |
✅ | — |
clv_code |
CLV | All | programme_area |
— | — |
clv_picture_number |
CLV | All | programme_area |
✅ | — |
fm_picture_number |
CAV | NTSC/PAL-M | programme_area |
✅ | start_value |
fm_programme_time |
CLV | NTSC/PAL-M | programme_area |
✅ | — |
fm_white_flag |
CAV/CLV | NTSC/PAL-M | all | — | — |
Fields¶
IEC 60856/60857 clause 10 places some codes in the first field of a picture and the rest in the other fields. In a video section every output frame is one picture, and its first field is always field 1, so in the programme area:
- Field 1 carries the addressing codes —
picture_numberon CAV,programme_time_codeandclv_picture_numberon CLV. - Field 2 carries the other codes —
picture_stop,chapter_number,programme_status,clv_code. - On CAV,
programme_statusis written on line 16 of field 1 as well.
If a section carries none of the field 1 codes, the field 2 codes are written in both fields.
Film pictures¶
In a "2:3" section each film frame is one picture lasting two or three fields, and it can start in either field of a frame. The codes follow the pictures:
- The first field of each picture carries the addressing codes, on lines 17/18 when it is field 1 and on 280/281 when it is field 2 (CLV: line 16 or 279 for
clv_picture_number). picture_stopgoes in the field straight after that one, on lines 16/17 or 279/280, crossing into the next frame when the picture starts on field 2. When that field starts a picture of its own (a one-field picture left bycontinuity: continue), its picture number keeps line 17/280 and the stop code is on line 16/279 only.- Every other field carries
chapter_numberon lines 17/18 or 280/281, andprogramme_statuson line 16 or 279. fm_white_flagis on line 11 or 274 of the first field of each picture.
One frame in five starts no picture, so it carries no picture number and no white flag.
Lead-in and lead-out codes are written in both fields.
Field 2 lines are 313 higher than field 1 on PAL (16/17/18 → 329/330/331) and 263 higher on NTSC/PAL-M (16/17/18 → 279/280/281).
lead_in¶
| Property | Value |
|---|---|
| Hex format | 88FFFF |
| Disc area | lead_in only |
| Lines (PAL) | 17, 18, 330, 331 |
| Lines (NTSC) | 17, 18, 280, 281 |
Fixed code marking the lead-in area. No parameters.
lead_out¶
| Property | Value |
|---|---|
| Hex format | 80EEEE |
| Disc area | lead_out only |
| Lines (PAL) | 17, 18, 330, 331 |
| Lines (NTSC) | 17, 18, 280, 281 |
Fixed code marking the lead-out area. No parameters.
picture_number (CAV)¶
| Property | Value |
|---|---|
| Hex format | FX₁X₂X₃X₄X₅ |
| Disc area | programme_area |
| Lines (PAL) | 17, 18 (field 1) |
| Lines (NTSC) | 17, 18 (field 1) |
| Range | 0–99 999 (PAL) / 0–79 999 (NTSC, PAL-M) |
| Digits | X₁–X₅ each 0–9 |
The picture address on a CAV disc, incrementing by 1 every picture: every frame in a video section, every film frame in a "2:3" section. A "2:3" section's numbers advance four times in five frames, and the count carries on across the boundary into the next section.
start_value is optional:
- Omit it to continue from the previous section. The counter runs continuously across every section; a disc-wide sequential numbering needs
start_valueon the first programme section only, or nowhere at all (numbering then begins at 1). - Set it to re-anchor the count for that section — a deliberate discontinuity, for a skip or replay.
The colour sequence follows the disc's video frames, not its picture numbers. A video section's start_value also re-anchors the colour sequence to frame start_value − 1, but a "2:3" section's frames carry on from the frame position, as their picture numbers do not number frames.
Past the maximum the number holds at it. Validation warns when a section would reach it, counting pictures.
picture_stop (CAV)¶
| Property | Value |
|---|---|
| Hex format | 82CFFF |
| Disc area | programme_area |
| Lines (PAL) | 329, 330 (field 2) |
| Lines (NTSC) | 279, 280 (field 2) |
Tells the player to freeze on this frame. Written in field 2, after the picture-number field, where it takes priority over programme_status on line 329/279 and over chapter_number on line 330/280. Without a picture_number in the section it is written in both fields. In a "2:3" section it follows each film picture's first field instead (see Film pictures).
chapter_number (CAV and CLV)¶
| Property | Value |
|---|---|
| Hex format | 8X₁X₂DDD |
| Disc area | programme_area |
| Range | 0–79 |
| Minimum length | 30 tracks (checked on CAV, warning) |
| Lines (CAV PAL) | 331 (field 2); also 330 when there is no picture_stop |
| Lines (CLV PAL) | 331 (field 2) |
| Lines (CAV NTSC) | 281 (field 2); also 280 when there is no picture_stop |
| Lines (CLV NTSC) | 281 (field 2) |
chapter is optional:
- Omit it to continue the previous section's chapter, carrying its stop-bit track counter across the boundary. If no earlier section set one, numbering begins at 0.
- Set it to start a new chapter here, restarting the stop-bit counter (IEC 60856/60857 §10.1.5).
On a CAV disc a chapter shorter than 30 frames produces a warning. A chapter starts at the first section that carries chapter_number and at each section that sets chapter; later sections that carry chapter_number without chapter add to it. A chapter that includes a duration_frames: all section has no known length and is not checked, and CLV chapters are not checked.
Laserdisc injection warning: CAV chapter 3 starting in section 'Chapter3'
lasts 25 frames; IEC 60856/60857 requires at least 30.
The stop-bit¶
Encoded in the MSB of X₁, and computed for you. By default:
| Position within the chapter | Stop-bit |
|---|---|
| Tracks 0–399 | 0 — the player's search passes through |
| Track 400 onwards | 1 — search may stop here |
Two IEC 60856/60857 §10.1.5 exceptions set the stop-bit to 1 on every track of a chapter:
- The first chapter after the lead-in — the chapter that starts in the section directly after a
lead_insection. - Every chapter of a disc with a short chapter — when any chapter on a CAV disc is shorter than 800 tracks, all of its chapters are 1 throughout. Real discs with short chapters do this.
A CAV track is one frame, and chapter lengths follow the same definition as the 30-frame check above. On CLV the counter counts frames rather than tracks, so the 400-track change comes early and the short-chapter exception is not applied.
The chapter number is two BCD digits, as the picture number is:
Chapter 5 with stop-bit 1 encodes as 885DDD; chapter 42 with stop-bit 0 as 842DDD.
programme_status (CAV and CLV)¶
| Property | Value |
|---|---|
| Hex format | 8DC/BA X₃X₄X₅ |
| Disc area | programme_area |
| Lines (CAV) | 16 (field 1) and 329/279 (field 2, unless picture_stop) |
| Lines (CLV) | 329/279 (field 2) |
| Horizontal start | 0.172H into the active line |
Audio/video mode and copy permission, with a SECDED Hamming check digit.
| Field | Meaning |
|---|---|
| Nibbles 1–2 | DC = CX noise reduction on, BA = off |
| X₃ | Disc size, disc side, teletext presence, copy permission |
| X₄ | Audio/video mode — 0–3 standard, 8 = mono dump |
| X₅ | Hamming check on X₄. Written as given in the hex value; the GUI dialog below computes it |
Without a programme_status value the code is not written.
The GUI's Programme Status Code dialog composes this word from readable fields, which is a great deal easier than assembling it by hand.
users_code¶
| Property | Value |
|---|---|
| Hex format | 8X₁DX₃X₄X₅ |
| Disc area | lead_in or lead_out only |
| X₁ | 0–7 only |
| Third nibble | Must be D |
| Lines (PAL) | 16, 329 |
| Lines (NTSC) | 16, 279 |
Disc-specific metadata for the manufacturer.
Without a users_code value the code is not written. X₁ values of 8–F are reserved and rejected, as is any third nibble other than D:
programme_time_code (CLV)¶
| Property | Value |
|---|---|
| Hex format | FX₁DDX₂X₃ |
| Disc area | programme_area |
| Lines (PAL) | 17, 18 (field 1) |
| Lines (NTSC) | 17, 18 (field 1) |
| X₁ | 0–F (hours 0–15) |
| X₂ | 0–5 (minutes tens, BCD) |
| X₃ | 0–9 (minutes units, BCD) |
Elapsed programme time in hours and minutes. Starts at 0:00 and advances automatically — minutes increment every 1500 frames (PAL) or 1800 (NTSC and PAL-M). There is nothing to configure.
clv_code (CLV)¶
| Property | Value |
|---|---|
| Hex format | 87FFFF |
| Disc area | programme_area |
| Lines (PAL) | 330 (field 2) |
| Lines (NTSC) | 280 (field 2) |
| Horizontal start | 0.172H into the active line (NTSC and PAL-M only) |
A fixed marker identifying the disc as CLV, written in field 2. Without a programme_time_code or clv_picture_number in the section it is written in both fields.
clv_picture_number (CLV)¶
| Property | Value |
|---|---|
| Hex format | 8X₁EX₃X₄X₅ |
| Disc area | programme_area |
| Lines (PAL) | 16 (field 1) |
| Lines (NTSC) | 16 (field 1) |
| X₁ | A–F |
| X₃ | 0–9 |
| X₄ | 0–2 |
| X₅ | 0–9 |
The frame position within the current second (X₄×10 + X₅ = frame 0–24 on PAL, 0–29 on NTSC and PAL-M) and the second offset within a 60-second block (X₁, X₃). Advances every frame, automatically. In a "2:3" section it is written only on each film picture's first field, with the number of the frame that field is in, so the frame with no picture start is skipped.
On NTSC and PAL-M it includes colour time error correction (IEC 60857 Amendment 2 §10.1.10): the seconds count jumps forward at specific frame counts to keep colour timing accurate.
NTSC 40-bit FM codes¶
These are NTSC and PAL-M only, and are mandatory on a compliant NTSC disc alongside the 24-bit biphase codes. The two systems occupy different lines within the reserved range and are generated simultaneously.
fm_picture_number (NTSC CAV)¶
| Property | Value |
|---|---|
| Signal | 40-bit FM |
| Disc area | programme_area |
| Lines | 10, 273 |
| Range | 0–79 999 |
| Update | Second field of each new picture |
Carries the CAV picture number in the 40-bit FM format, advancing with the 24-bit picture_number. The number changes on the second field of each new picture (IEC 60857 §10.2.3): a picture's first field still carries the previous picture's number. In a video section that is field 1 of each frame; in a "2:3" section it is the first field of each film picture. The first programme picture, with no number before it, carries its own number in both fields.
start_value (0–79 999) is optional and seeds the counter, which otherwise starts at 1. Only the first section carrying fm_picture_number seeds it; in later sections the counter continues and start_value is not applied.
fm_programme_time (NTSC CLV)¶
| Property | Value |
|---|---|
| Signal | 40-bit FM |
| Disc area | programme_area |
| Lines | 10, 273 |
Carries CLV programme time (minutes and seconds) in the 40-bit FM format. The code is legal only in the programme area, so its X₅ mode indicator is always D (programme).
fm_white_flag (NTSC)¶
| Property | Value |
|---|---|
| Signal | 100 IRE constant level, 0.790H long, starting 0.160H from sync |
| Disc area | lead_in, programme_area, lead_out |
| Lines (lead-in) | 11 |
| Lines (programme) | 11 ("2:3": 11 or 274) |
| Lines (lead-out) | 11 and 274 |
Marks the start of each new picture, which is how a player decides what a "frame" is when holding a still. In a video section every output frame is a picture that opens on field 1, so in the lead-in and programme area the flag is on line 11 of every frame. In a "2:3" programme section the flag is on line 11 or 274 of each film picture's first field, and the frame with no picture start has none.
Priority¶
Most codes have a line and field of their own (see Fields). Where two code types share a line, the standard fixes the order:
- Lead-in and lead-out codes take absolute priority in their sections.
picture_stopbeatsprogramme_statuson line 329/279 (CAV).picture_stopbeatschapter_numberon line 330/280 (CAV).
Horizontal timing¶
programme_status (all standards) and clv_code (NTSC and PAL-M) begin 0.172H into the active line — IEC 60856 Figure 14, IEC 60857 Figure 11. All other code types begin at the start of the active line. The offset is applied automatically.
Further reading¶
The repository carries the full bit layouts, encoding rules and worked examples in docs-tech/user/biphase-design.md.