Composite Baseband Video Signal Modules
ntsc.comb
I/O: video/video
Supports HDR: no
Parameters:
- Scene detection threshold (
thresh
): Average luminance difference across consecutive frames between 0 and 255.
Notes:
- This module acts as a comb filter in the digital video domain. Specifically, the input is delayed by one frame (two full fields) and added to the current frame.
- If consecutive frames are different enough (determined by
thresh
), input fields are passed directly through the module without modification. This is meant to avoid "ghosting" when the input cuts to a new scene.
ntsc.demod
I/O: video/video
Supports HDR: no
Parameters:
- Chroma gain (
chromagain
): The amount of gain to apply to the chromaticity signal after separating it from the rest of the video signal. Defaults to 0.0 dbV - Luma gain (
lumagain
): The amount of gain to apply to the luminance signal after separating it from the rest of the video signal. Defaults to 0.0 dbV
Notes:
- Input flowing to this module should always come from a signal "pre-scanned" by the
ntsc.scan
module. - Only use this module for composite video output. If
ntsc.scan
is used in component signal mode, usentsc.demod3
.
ntsc.demod3
I/O: video/video
Supports HDR: no
Parameters:
- Chroma gain (
chromagain
): The amount of gain to apply to the chromaticity signal after separating it from the rest of the video signal. Defaults to 0.0 dbV - Luma gain (
lumagain
): The amount of gain to apply to the luminance signal after separating it from the rest of the video signal. Defaults to 0.0 dbV
Notes:
- Input flowing to this module should always come from a signal "pre-scanned" by the
ntsc.scan
module. - Only use this module for component video output. If
ntsc.scan
is used in composite signal mode, usentsc.demod
.
ntsc.mod
I/O: video/signal
Supports HDR: no
Parameters:
- Chroma flag (
chromaflag
): Can be1
or0
. Produces black & white NTSC video if0
and color NTSC video if1
. Defaults to1
. - Chroma synch (
synch
): Phase of the chroma carrier signal in units of samples. Defaults to 0 samples.
Notes:
- Will automatically rescale input frames to 720x242 1:1 SAR.
- Assumes video input is at exactly 59.94 (
60000/1001
) frames per second. - Each frame of video input is regarded by the module as a field (interlaced half-frame).
- Because of this, for realistic results, progressive input frames should be pre-processed to separate the even and odd fields and sequence them as progressive half-frames.
- Fields arrive in time-order sequence. NTSC traditionally transmits even lines first, beginning numbering at 1. Equivalent to FFmpeg's top-field first.
- Output signal clock is exactly 13.5 MHz.
ntsc.scan
I/O: signal/video
Supports HDR: no
Parameters:
- Y channel (
y
): Zero-based channel index for Y signal recovery. Defaults to0
. - I channel (
i
): Zero-based channel index for I signal recovery (chroma). Defaults to0
. - Q channel (
q
): Zero-based channel index for Q signal recovery (chroma). Defaults to0
. - Sync threshold min (
min
): Minimum threshold value for sync signal recovery in units of volts. Defaults to -0.29V - Sync threshold max (
max
): Maximum threshold value for sync signal recovery in units of volts. Defaults to -0.27V - H-sync timing threshold (
h
): Minimum time threshold value for H-sync signal recovery in units of samples. Defaults to 54. - V-sync timing threshold (
v
): Minimum time threshold value for V-sync signal recovery in units of samples. Defaults to 300. - Vertical adjustment (
adj
): Vertical offset to add to the output video signal in units of lines. Defaults to 0. - Chroma phase offset (
synch
): Chroma signal phase offset in units of degrees. Defaults to 0.
Notes:
-
Expected input for ntsc.mod is equivalent to expected output for this module.
-
Video output consists of rescaled progressive half-frames at 59.94 (
60000/1001
) frames per second. -
Output frames arrive in time-order sequence (top-field first).
-
Expected input signal clock is exactly 13.5 MHz, incongruent input signals will be resampled to this rate before demodulation.
-
If all of the channel ID parameters are congruent, composite output mode is used. Y+C will be filtered and separated into Y, I, and Q automatically by the module, including automatic clock recovery for chroma signal.
-
Otherwise, component output mode is used. Y, I and Q will be interpreted verbatim from the specified channels in the input signal.