-
Notifications
You must be signed in to change notification settings - Fork 101
File & Data Formats
CXADC 16-bit Unsigned
CXADC 08-bit Unsigned
DDD 10-bit Packed (10-bit unsigned integers)
DDD 16-bit Signed
.lds - DDD 10-bit Packed or 16-bit Signed 40msps
.ldf - FLAC Compressed 16-bit 40msps (DomesDayDuplicator)
.cds - 10-bit Packed 10msps (4:1 decimation mode)
.s16 - Uncompressed Signed 16-bit (40msps DomesDayDuplicator)
.u8/.r8 - CXADC 08-bit Unsigned
.u16.r16 - CXADC 16-bit Unsigned
.vhs - FLAC Compressed VHS 8-bit or 16-bit
.svhs - FLAC Compressed S-VHS 8-bit or 16-bit
.cvbs - FLAC Compressed CVBS 8-bit or 16-bit
.flac/.wav/.raw can also be used but would need file name context.
The decoder accepts RF data in 10-bit packed 8-bit raw and 16-bit raw sample formats and FLAC compressed bit depth is automatic.
Decoder sample rate is 40msps by default, anything different has to be manually defined via -f 20 -f 16 for 20/16msps for example.
Archives have been standardised to 40msps 8/10/16 bit & 20msps / 16msps 8-bit
filename.tbc - Luminance Image Data
filename_chroma.tbc - Chrominance Image Data
filename.tbc.json - Frame Descriptor Table (Resolution/Dropouts/SNR/Frames/VBI Timecode)
filename.log - Timecode Indexed Action/Output Log
TBC Acronym, Time Base Corrected .TBC is a lossless digital file format containing time base corrected digitized analogue signals.
A TBC retimes a video signal to make video lines (like a shredded piece of paper) more accurately the same length i.e correcting the time base of each line/field this fixes wobbly or skied images as observed on lower-end VCRs the lines vary in length across the picture.
Decodes TBC is not a frame store so what you get is what you get dropped frames just don't exist anymore.
In a stable tape workflow a TBC acts as a buffer and conforms signal output to a stable legal output, that's acceptable for use with broadcast equipment and do dropout correction based off RF signal level drops.
Decodes TBC does not do drop out correction inside the TBC process, however it does gather data for doing that afterwards with the chroma-decoder and is enabled by default.
The TBC file is created by the RF decoder directly after the signal de-modulation.
Decoding takes the 2 channels chrominance and luminance (C & Y) and creates separate TBC files for each respectively this allows for very clinical post adjustments and the ability to remove Croma entirely if unstable and or source is black and white media for example.
The format is a stream of 16-bit unsigned values; each value representing a single 8-bit grey-scale value in a header-less data file.
The 16-bit greyscale values used by the output format are scaled representations of the standard 8-bit digital component values i.e. an 8-bit right shift of the value will provide the standard 8-bit digital component intensity values.
So you end with a composite 4fsc "full-frame" digital video file of the video signal.
PAL Is Full 4fsc 1135x625 (17727262 hz) 16-bit values.
NTSC Is Full 4fsc 525x910 (14318181 hz) 16-bit values.
Sample rate is always 4fsc, it's just stored a little weird in the .tbc for convenience: a 526th empty line in NTSC and a 626th line in PAL that has 4 samples - 2 from each field.
Note: Header-less data files are very resilient data i.e power loss or system issue and bit corruption will only damage or lose few pixels frames of information.
The gen chroma .sh scripts do several things, dropout compensation, combine Croma & Luma TBC's to create a full-colour video stream there is also dropout compensation in this step but can be done separately in the ld-tools segment allowing for multi-stage metadata extraction or even stacking to compensate for normal operation dropouts.
To encode a black and white luminance only video use the chroma decoder
ld-chroma-decoder tapename.tbc y4m OutputName.mov (-p - PAL or -n for NTSC)
This gives you an uncompressed YUY 4:2:2 video file
./gen_chroma_vid.sh tapename.tbc -f OutputName.mov
This gives you a Lossless Compressed FFV1 YUY 4:2:2 encoded file in the .mkv container.
Standard output is 70-80mbps
Full Frame output is 100-130mbps
Note! the experimental full 1135x625 PAL 910x525 NTSC frame output currently has issues with frame order and it's a few pixels off this will be improved in the future.
- FAQ - Frequently Asked Questions
- Diagram Breakdowns
- Visual-Comparisons
- VCR Reports / RF Tap Examples
- Download & Contribute Data
- Speed Testing
- Capture Setup Guide
- MISRC
- CX Cards & CXADC
- CX Cards - Clockgen Mod
- DdD - Domesday Duplicator
- RTL-SDR
- Hardware Installation Guide
- Finding RF Tap Locations
- Amplifier Setup Guide
- The Tap List Example VCR's
- Visual VBI Data Guide
- Closed Captioning
- Teletext
- WSS Wide - Screen Signalling
- VITC Timecode
- VITS Signals
- XDS Data (PBS)
- Video ID IEC 61880
- Auto Audio Align
- Vapoursynth TBC Median Stacking Guide
- Ruxpin-Decode & TV Teddy Tapes
- Tony's GNU Radio For Dummies Guide
- Tony's GNU Radio Scripts
- DomesDay Duplicator Utilities
- ld-decode Utilities