@@ -364,7 +364,20 @@ ld-decode --preEFM input.ldf output
364364```
365365
366366#### ` --AC3 `
367- Enable AC3 audio decoding (NTSC only).
367+ Enable AC3-RF audio demodulation (NTSC only). On AC3 LaserDiscs the
368+ analog right audio channel carries a QPSK signal at 2.88 MHz with Dolby
369+ Digital data at 288 kbaud. With this option, ld-decode demodulates that
370+ signal (see ` lddecode/ac3rf.py ` ) and writes the raw QPSK symbols to
371+ ` output.ac3sym ` (one symbol per byte, values 0-3); the number of symbols
372+ demodulated during each field is recorded in the field metadata
373+ (` ac3Symbols ` , analogous to ` efmTValues ` ).
374+
375+ The ` .ac3sym ` file is not playable audio by itself: framing, Reed-Solomon
376+ error correction and AC3 frame assembly are performed downstream by
377+ [ decode-orc] ( https://github.com/simoninns/decode-orc ) 's * AC3 RF Sink*
378+ stage, which reads the ` .tbc ` , its metadata, and the ` .ac3sym ` file and
379+ writes the final playable ` .ac3 ` file.
380+
368381- ** Default:** Disabled
369382- ** Note:** Only compatible with NTSC; attempting to use with PAL will result in an error
370383- ** Incompatible with:** ` --PAL `
@@ -374,6 +387,14 @@ Enable AC3 audio decoding (NTSC only).
374387ld-decode --NTSC --AC3 input.ldf output
375388```
376389
390+ The demodulator has a self-contained unit test (synthetic QPSK loopback,
391+ no capture files needed), runnable from the repository root:
392+ ``` bash
393+ python3 -m tests.test_ac3rf
394+ ```
395+ A quick sanity check on real output: ` output.ac3sym ` should grow by
396+ about 288,000 symbols (bytes) per second of decoded video.
397+
377398### RF Sampling Options
378399
379400#### ` -f FREQ ` , ` --frequency FREQ `
0 commit comments