Skip to content
Novus Examples
scc115 B

SCC — Intentionally Corrupt: Wrong Parity Bytes

An intentionally corrupt SCC file whose first caption is valid but whose second carries byte pairs with the wrong parity. CEA-608 requires odd parity in bit 7 of every byte, and broadcast decoders use it to detect transmission errors. Tests whether a decoder checks parity at all, and whether it drops just the bad caption or the whole file.

Preview — first 6 linesscc
Scenarist_SCC V1.0

00:00:01:00	9420 94ae 9470 4e4f 5655 5320 942f

00:00:03:15	9420 94ae 9470 1122 3344 5566 942f

Specifications

Corruption
second caption carries bytes with incorrect odd parity
Valid Captions
1
Standard
CEA-608 requires odd parity in bit 7

What is a .scc file?

SCC (Scenarist Closed Captions, .scc) is the broadcast interchange format for CEA-608 captions. Each line is an SMPTE timecode followed by pairs of hexadecimal bytes that are the literal 608 control codes and characters, so caption positioning, roll-up versus pop-on style, and italics are all encoded as byte pairs rather than as markup. It is plain ASCII, but it is not human-readable prose.

How to use this file

Use an example .scc file to test broadcast caption ingest, CEA-608 decoders, and conversion to SRT or WebVTT. It is the format that exposes decoders which assume captions are text — parity bits, double-byte control codes, and drop-frame timecodes all have to be handled.

How to use this file for testing

“SCC — Intentionally Corrupt: Wrong Parity Bytes” is a deterministic Novus Examples fixture for Subtitle parsing, Video QA. The same captions across SubRip, WebVTT, ASS/SSA, SBV, and TTML, plus a synced LRC lyric file — for testing subtitle parsers, players, burn-in tools, and format converters against known timings.

Documented properties for this file: SCC · 115 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Parse the cues and check timings against the documented count; the same captions ship across subtitle formats so you can diff a converter against a known target.

Code examples

<video controls src="clip.mp4">
  <track kind="captions" srclang="en" label="English" src="bad-parity.scc" default>
</video>

Generated by generation/video_timedtext.py. Free for any use, no attribution required — license.