Command List - harrypm/vhs-decode GitHub Wiki

VHS Decode Command List

--debug Enables Verbose Mode Better Logging Information

Data Input & Processing Speed

-f Frequency Adjust in integers of hz, mhz, ghz or 4fsc/5fsc/8fsc/10fsc Manual setting of capture file input frequency of the RF capture, recommended sticking to Mhz or CXADC commands, with the DomesDayDuplicator this can be ignored in stock use 16bit 40mhz is the default decoder setting.

--no_resample Experimental Skips internal resampling to 40mhz, allows lower sample rates i.e 14-20mhz to de-code natively and should allow faster decoding.

-t Threads Sets Number of CPU threads default is 1, there is no limit but decoding will only use around 8 threads at upto 2fps observed on x86 and upto 5fps on Apple M1 Silicon (single-core & cache speed biased)

-tf & --tape_format Sets tape format ''VHS'' ''SVHS'' ''UMATIC'' Selects tape format default is VHS

Time & Location Control

-s Jumps ahead to any given frame in the capture.

--start_fileloc Jumps ahead to any given sample in the capture.

-l Limits decode length to n frames.

-t Defines the number of processing threads to use during demodulation.

Time Base Correction Control

-sl Sharpness Level 0-100 Value sets the level of visual sharpness

-drh --disable_right_hsync Horizontal Sync Check, Corrects warping in the horizontal lines and corrects the line start position of the video frame, this option Disables the use of the right side of hsync for lineloc detection (old behaviour)

-dp demodblock Displays Raw Demodulated Frequency Spectrum Graphs, makes a pop-up window per each thread so -t 32 would give you 32 GUI windows etc

--level_detect_divisor (Default 2) Experimental (May lower processing time) Currently, 1-6 value, 1 every sample, 2 every other sample and so on, Changes vsync serration code only use every nth sample when determining sync/blank levels.

-L Multiply top/bottom IRE in JSON by 1 +/- this value Black/White video level adjust used to avoid clipping on RGB conversion in chroma decode

--noDOD Disables Drop Out Detection Default is on

--noAGC (deprecated, already disabled by default) Disables Automatic Gain Control image brightness/gamma levels use if fluctuating

--AGC Enables Automatic Gain Control

-ct Enables Chroma Trap Intended to reduce chroma interference on the main luma signal

-nocomb Disables Croma Combing Disable's internal chroma comb filter

-noclamp Disable blanking DC offset clamping/compensation

--dod_h Dropout detection hysteresis The RF level needs to go above the dropout threshold multiplied by this for a dropout to end

--dod_t_abs RF Dropout level threshold absolute value Note that RF levels vary greatly between tapes and recording setups

-D RF Dropout level fraction Threshold for dropouts in percentage of average (in decimal)

-sclip Enables Sync Clipping

-nodd Disable diff demod

-nld Non-Linear Deemphasis Enables, can help reduce ringing and oversharpening. (WIP). (Used for hi-band formats and VHS LP/SP)

-dp & --debug_plot Do a plot for the requested data, separated by whitespace. Current options are: " + plot_options + ".",

Advanced Frequency Controls

--recheck_phase Re-check chroma phase on every field. (No effect on U-matic)

-cafc Chroma Automatic Frequency Control Enables, downconverted chroma carrier AFC (Automatic freq. control), implies --recheck_phase

-T If set to 0 or 1, force use of video track phase. ?

--high_boost Multiplier for boost to high RF frequencies Uses default if not specified. Subject to change

--notch define the centre frequency Optional built-in notch "bandpass" filter

--notch_q define Q factor Intended primarily for reducing noise from interference however the decoder already compensates based on tape type though!

TV Colour System Setting

-n = NTSC Fully Supported.

-p = PAL Fully Supported.

-pm = PAL-M Experimental.

--NTSCJ = NTSC-J Fully Supported.

CXADC Sample Rates (Stock)

--cxadc 28.6 MHz/8-bit (8fsc) Stock Crystal Native 8xFsc 8bit Unassined Sampling Mode

--cxadc3 35.8 MHz/8-bit (10fsc) Stock Crystal Native 4xFsc 16bit Filtered Vertical Blanking Interval Data

--10cxadc 14.3 MHz/16-bit (4fsc) Stock Crystal 1.25x 8xFsc 8bit Unassined Sampling Mode

--10cxadc3 17.9 MHz/16-bit (5fsc) Stock Crystal 1.25x 4xFsc 16bit Filtered Vertical Blanking Interval Data

Chroma Decoding Command-List

Example: gen_chroma_vid_pal.sh input.tbc -f output.mov

-i Sets Name of the input, without

-v Sets video system Either PAL or NTSC.

-a Sets Optional Audiotrack to mux with video

-s Specify the start frame number

-l Specify the length in frames

-f Sets output to full-frame e.g 1135x625 PAL & 910x525 NTSC (Currently Experimental)

Chroma Decoder Extended

Parmiter List

from ld-chroma-decoder -h:

ld-chroma-decoder --ffll 2 --lfll 308 --ffrl 2 --lfrl 620 Will for example set your output to give you the top VBI area.

--ffll, --first_active_field_line <number> The first visible line of a field. Range 1-259 for NTSC (default: 20), 2-308 for PAL (default: 22)

--lfll, --last_active_field_line <number> The last visible line of a field. Range 1-259 for NTSC (default:259), 2-308 for PAL (default: 308)

--ffrl, --first_active_frame_line <number> The first visible line of a frame. Range 1-525 for NTSC (default: 40), 1-620 for PAL (default: 44)

--lfrl, --last_active_frame_line <number> The last visible line of a frame. Range 1-525 for NTSC (default:525), 1-620 for PAL (default: 620)

⚠️ **GitHub.com Fallback** ⚠️