Difference between revisions of "OSSC Pro"
(Created page with "File:Ossc-logo-small.png == Introduction == OSSC Pro is an advanced low-latency video digitizer, scan converter and scaler designed primarily for connecting retro video...") |
|||
Line 254: | Line 254: | ||
== Settings == | == Settings == | ||
+ | === Input select === | ||
+ | Selects the source. | ||
+ | |||
+ | === AV1-3 video in opt. === | ||
+ | |||
+ | ==== Video LPF ==== | ||
+ | ''Video low-pass filter. Filters out high-frequency noise on video.'' | ||
+ | * '''Auto''': Suitable LPF is automatically selected based on source mode '''[default]''' | ||
+ | * '''9-450MHz''': Video bandwidth is limited to selected frequency | ||
+ | |||
+ | ==== Reverse LPF ==== | ||
+ | ''Compensates unintended LPF/bleeding caused by sub-optimal video DAC (e.g. 1st rev SNES consoles) or long cables.'' | ||
+ | * '''0-31''': Reverse LPF strength. '''[default=0]''' | ||
+ | |||
+ | ==== YPbPr input Color Space ==== | ||
+ | ''Controls YPbPr->RGB colorspace conversion coefficients.'' | ||
+ | * '''Auto''': Input colorspace is selected based on resolution. '''[default]''' | ||
+ | * '''Rec. 601''': Input is assumed to be in Rec. 601 format, which is generally true for SD video. | ||
+ | * '''Rec. 709''': Input is assumed to be in Rec. 709 format, which is generally true for HD video. | ||
+ | |||
+ | ==== R/Pr / G/Y / B/Pb offset ==== | ||
+ | ''Fine-adjustment of Red/Pr / G/Y / B/Pb channel offset (brightness).'' | ||
+ | * '''0-1023''': '''[default=512]''' | ||
+ | |||
+ | ==== R/Pr / G/Y / B/Pb gain ==== | ||
+ | ''Fine-adjustment of Red/Pr / G/Y / B/Pb channel gain (contrast).'' | ||
+ | * '''0-1023''': '''[default=324]''' | ||
+ | |||
+ | ==== Clamp strength ==== | ||
+ | ''Sets the strength of backporch clamp.'' | ||
+ | * '''0-7''': '''[default=7]''' | ||
+ | |||
+ | ==== Clamp/ALC position ==== | ||
+ | ''Sets the position of backporch clamp (in percentage of line length).'' | ||
+ | * '''0.1-25%''': '''[default=0.7%]''' | ||
+ | |||
+ | ==== Clamp width ==== | ||
+ | ''Sets the width of backporch clamp pulse (in percentage of line length).'' | ||
+ | * '''0.1-10%''': '''[default=2.5%]''' | ||
+ | |||
+ | ==== Clamp/ALC on coast ==== | ||
+ | ''Sets whether clamp/ALC is enabled during coast.'' | ||
+ | * '''On''': Clamp/ALC enabled during coast. '''[default]''' | ||
+ | * '''Off''': Clamp/ALC disabled during coast. | ||
+ | |||
+ | ==== Auto level ctl (ALC) ==== | ||
+ | ''Sets whether ALC is enabled.'' | ||
+ | * '''On''': ALC enabled. '''[default]''' | ||
+ | * '''Off''': ALC disabled. | ||
+ | |||
+ | ==== ALC V filter ==== | ||
+ | ''ALV vertical filter coefficient. Reduce from default if line/field tilt occurs.'' | ||
+ | * '''32-4096 lines''': '''[default=512 lines]''' | ||
+ | |||
+ | ==== ALC H filter ==== | ||
+ | ''ALV horizontal filter coefficient (duration for which ALC is applied after clamp).'' | ||
+ | * '''16-128 pixels''': '''[default=16 pixels]''' | ||
+ | |||
+ | === AV1-3 sync opt. === | ||
+ | |||
+ | ==== Analog sync Vth ==== | ||
+ | ''Sets the sync slicer threshold for video-level sync. May need adjustment if source sync level is not typical and dropouts occur.'' | ||
+ | * '''0-300mV''': threshold voltage. '''[default=120mV]''' | ||
+ | |||
+ | ==== TTL Hsync Vth ==== | ||
+ | ''Sets the sync slicer threshold for TTL level sync. May need adjustment if source sync level is not typical and dropouts occur.'' | ||
+ | * '''400-3205mV''': threshold voltage. '''[default=1148mV]''' | ||
+ | |||
+ | ==== Analog sync pre-STC ==== | ||
+ | ''Sets sync tip clamp LPF.'' | ||
+ | * '''Off''' | ||
+ | * '''On (5MHz LPF)''' '''[default]''' | ||
+ | * '''On (2.5MHz LPF)''' | ||
+ | * '''On (0.5MHz LPF)''' | ||
+ | |||
+ | ==== Sync glitch filt len ==== | ||
+ | ''Sets the sync glitch filter length. May need to be increased if there are glitches around sync pulses.'' | ||
+ | * '''37-592ns''': filter length. '''[default=111ns]''' | ||
+ | |||
+ | ==== H-PLL Pre-Coast ==== | ||
+ | ''Defines when PLL coast (current freq. freeze) is activated.'' | ||
+ | * '''0-5 lines''': Number of scanlines before vsync at when coast is activated. '''[default=4]''' | ||
+ | |||
+ | ==== H-PLL Post-Coast ==== | ||
+ | ''Defines when PLL coast (current freq. freeze) is deactivated.'' | ||
+ | * '''0-5 lines''': Number of scanlines after vsync at when coast is deactivated. '''[default=4]''' | ||
+ | |||
+ | ==== H-PLL Loop Gain ==== | ||
+ | ''Adjusts loop gain of H-PLL which affects sampling clock stability. A higher value makes the PLL react fast to changes in hsync interval which may make sampling more accurate but at the cost of increased jitter in output pixel clock. A small value ensures best compatibility, but sync jitter in the source (e.g. SNES) may result to sampling jitter on nearby scanlines. Increase for sources with sync jitter if your display is able to tolerate jitter in output clock.'' | ||
+ | * '''0-3''': '''[default=0]''' | ||
+ | |||
+ | === AV4 video in opt. === | ||
+ | |||
+ | ==== Default RGB range ==== | ||
+ | ''Selects the assumed RGB range if source does not explicitly specify it in metadata.'' | ||
+ | * '''Limited''': Limited range as per CEA spec. '''[default]''' | ||
+ | * '''Adaptive''': Full-range RGB. | ||
+ | |||
+ | ==== Pixel de-repetition ==== | ||
+ | ''Enforces pixel de-repetition for special sources with high horizontal resolution to improve compatibility. Only for advanced users'' | ||
+ | * '''Auto''': De-repetition follows metadata. '''[default]''' | ||
+ | * '''1-10''': Manual override | ||
+ | |||
+ | === Line multiplier opt === | ||
+ | |||
+ | ==== Line multiplier mode ==== | ||
+ | ''Selects how line multiplier mode operates.'' | ||
+ | * '''Pure''': All lines are multiplied for output, operation like original OSSC. Mainly for backwards compatibility. | ||
+ | * '''Adaptive''': Visible lines are multiplied while amount of blanking lines is adjusted to match selected standard output resolution. '''[default]''' | ||
+ | |||
+ | ==== Deinterlace mode ==== | ||
+ | ''Selects how interlaced content is processed in line multiplier modes.'' | ||
+ | * '''Bob''': Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. '''[default]''' | ||
+ | * '''Noninterlace restore''': Displays fields one after another without any offset by default. Useful for 240p games running in 480i (e.g. classic game collections). | ||
+ | |||
+ | ==== NI restore Y offset ==== | ||
+ | ''Offsets even field in noninterlace restore mode.'' | ||
+ | * '''0''': No offset for even field. '''[default]''' | ||
+ | * '''1''': Even field is offset by a full input line. Needed depending on field order of 240p->480i conversion. | ||
+ | |||
+ | ==== 256x240 aspect ==== | ||
+ | ''Selects the output aspect for 256x240 sampling presets.'' | ||
+ | * '''Pseudo 4:3 DAR''': Integer-multiplication is handled so that target aspect is close to 4:3. '''[default]''' | ||
+ | * '''1:1 PAR''': Maintains square pixel aspect ratio. | ||
+ | |||
+ | ==== Pure LM opt. ==== | ||
+ | ''Refer to [[OSSC#Output_opt.]].'' | ||
+ | |||
+ | ==== Adaptive LM opt. ==== | ||
+ | |||
+ | ===== <input_mode> proc ===== | ||
+ | ''Selects how <input_mode> is processed via output resolution and line multiplication factor.'' | ||
+ | |||
+ | ===== <input_mode> mode ===== | ||
+ | ''Selects a sampling preset for <input_mode>.'' | ||
+ | |||
+ | ==== P-LM Adv. timing ==== | ||
+ | ''Refer to [[OSSC#Advanced_timing_tweaker]].'' | ||
+ | |||
+ | ==== A-LM Adv. timing ==== | ||
+ | ''Allows editing of sampling/output parameters. Sampling preset to edit (default is current mode) is changed via LEFT/RIGHT keys and selected via OK key which then opens editor menu.'' | ||
+ | |||
+ | ===== Clock & Phase ===== | ||
+ | ''Enter to fine-tune sampling clock and phase via arrow keys. Only for advanced users.'' | ||
+ | |||
+ | ===== Size ===== | ||
+ | ''Enter to adjust bounding box size for input signal (active area) via arrow keys. In scaler mode the active window is scaled to full screen (unless in integer scale mode), effectively enabling zooming in/out.'' | ||
+ | |||
+ | ===== Position ===== | ||
+ | ''Enter to adjust bounding box position for input signal via arrow keys.'' | ||
+ | |||
+ | ===== Reset preset ===== | ||
+ | ''Resets parameters of selected preset to default values.'' | ||
+ | |||
+ | === Scaler opt. === | ||
+ | |||
+ | ==== DFP output mode ==== | ||
+ | ''Selects output mode for Digital Flat Panel (DFP). Supported output refresh range is shown in braces.'' | ||
+ | * '''720x480 (60Hz)''': Standard 480p output supported by all HDTVs. | ||
+ | * '''720x480 WS (60Hz)''': Standard widescreen 480p output supported by all HDTVs. | ||
+ | * '''720x576 (50Hz)''': Standard 576p output supported by most HDTVs. | ||
+ | * '''720x576 WS (50Hz)''': Standard widescreen 576p output supported by most HDTVs. | ||
+ | * '''1280x720 (50-120Hz)''': Standard 720p output supported by majority of HDTVs. | ||
+ | * '''1280x1024 (60Hz)''': SXGA mode for 5:4 desktop monitors. | ||
+ | * '''1920x1080i (50-60Hz)''': Standard 1080i output supported by most modern HDTVs. | ||
+ | * '''1920x1080 (50-120Hz)''': Standard 1080p output supported by all modern HDTVs. '''[default]''' | ||
+ | * '''1600x1200 (60Hz)''': UXGA mode for 4:3 desktop monitors. | ||
+ | * '''1920x1200 (50-60Hz)''': WUXGA mode for 16:10 desktop monitors. Uses CVT timings (RB for 60Hz). | ||
+ | * '''1920x1440 (50-60Hz)''': 4:3 1440p mode for compatible displays. Uses CVT timings (RB for 60Hz). | ||
+ | * '''2560x1440 (50-60Hz)''': 16:9 1440p mode for compatible displays. Uses CVT-RB timings. | ||
+ | * '''2880x2160 (50-60Hz)''': 4:3 2160p mode for compatible displays. Uses CVT-RB timings and 2x pixel repetition. | ||
+ | |||
+ | ==== CRT output mode ==== | ||
+ | ''Selects output mode for CRT. Modes are meant for video DACs, not HDMI devices. Supported output refresh range is shown in braces.'' | ||
+ | * '''240p (60-120Hz)''': Non-interlaced 60Hz SD mode for 15kHz capable CRT TVs. '''[default]''' | ||
+ | * '''240p WS (60-120Hz)''': Non-interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs. | ||
+ | * '''288p (50-100Hz)''': Non-interlaced 50Hz SD mode for 15kHz capable CRT TVs. | ||
+ | * '''288p WS (50-100Hz)''': Non-interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs. | ||
+ | * '''480i (60Hz)''': Interlaced 60Hz SD mode for 15kHz capable CRT TVs. | ||
+ | * '''480i WS (60Hz)''': Interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs. | ||
+ | * '''576i (50Hz)''': Interlaced 50Hz SD mode for 15kHz capable CRT TVs. | ||
+ | * '''576i WS (50Hz)''': Interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs. | ||
+ | * '''480p (60-120Hz)''': 480-line mode for 31kHz capable CRT monitors. | ||
+ | * '''540p (50-60Hz)''': 540-line mode for 1080i capable HD-CRT TVs. | ||
+ | |||
+ | ==== Output type ==== | ||
+ | ''Selects which one of the 2 above mode lists is used.'' | ||
+ | * '''DFP''': Output to Digital Flat Panel via HDMI. '''[default]''' | ||
+ | * '''CRT''': Output to CRT via HDMI-VGA/SCART converter. | ||
+ | |||
+ | ==== Framelock ==== | ||
+ | ''Defines output refresh rate and how it is generated.'' | ||
+ | * '''On''': Output refresh rate is locked to input. Minimizes latency, but any interruption in input (e.g. video mode change) may temporarily break sync on output side. '''[default]''' | ||
+ | * '''On (2x source Hz)''': Output refresh rate is locked 2x input. Useful for BFI. Same conditions apply as above. | ||
+ | * '''Off (source Hz)''': Output refresh rate is not directly generated from input. A refresh rate matching source is used. | ||
+ | * '''Off (50Hz)''': Output refresh rate is not generated from input. Output is 50Hz if supported by the selected output resolution setting. | ||
+ | * '''Off (60Hz)''': Output refresh rate is not generated from input. Output is 60Hz if supported by the selected output resolution setting. | ||
+ | * '''Off (100Hz)''': Output refresh rate is not generated from input. Output is 100Hz if supported by the selected output resolution setting. | ||
+ | * '''Off (120Hz)''': Output refresh rate is not generated from input. Output is 120Hz if supported by the selected output resolution setting. | ||
+ | |||
+ | ==== Aspect ratio ==== | ||
+ | ''Selects aspect ratio for the source. Currently display is assumed to have square PAR.'' | ||
+ | * '''Auto''': Selects aspect ratio based on sampling preset. '''[default]''' | ||
+ | * '''4:3''': Standard aspect ratio for most classic console and home computer sources. | ||
+ | * '''16:9''': Widescreen aspect ratio for consoles/games supporting widescreen. | ||
+ | * '''8:7''': Special aspect ratio for square pixels with NES/SNES. Most useful with their respective sampling presets. | ||
+ | * '''1:1 source PAR''': Source is assumed to have 1:1 pixel aspect ratio. Use only with non-generic sampling presets. | ||
+ | * '''Full''': Source is assumed to have same aspect ratio as selected output resolution, i.e. it will be scaled to fit screen both horizontally and vertically. | ||
+ | |||
+ | ==== Scaling algorithm ==== | ||
+ | ''Selects scaling algorithm/filter applied for the polyphase scaler engine. The engine supports edge-adaptive scaling which is able to use different filter for parts of the picture which are detected as edges. Edge-adaptive modes are denoted with '&' which is followed by the filter used for edge content.'' | ||
+ | * '''Auto''': Uses Nearest for low-res sources and Lanczos3_sharp for med/high-res. '''[default]''' | ||
+ | * '''Integer (underscan)''': Integer scaling with underscan priority (in case a small part of picture would be otherwise cut). Mainly usable with non-generic sampling presets. | ||
+ | * '''Integer (overscan)''': Integer scaling with overscan priority (in case a small part of picture would be otherwise letter/pillarboxed). Mainly usable with non-generic sampling presets. | ||
+ | * '''Nearest''': Nearest neighbor scaling algorithm. Most appropiate for 2D pixel graphics where more sophisticated filters may add noticeable blur / ringing. | ||
+ | * '''Lanczos3''': High-quality scaling algorithm suitable for general video material and 3D graphics. | ||
+ | * '''Lanczos3_sharp''': Sharpened version of Lanczos3 algorithm. | ||
+ | * '''Lanczos3&3_sharp''': Sharpened version only applied for edges. | ||
+ | * '''Lanczos4''': Similar to Lanczos3 but with reduced smoothening. | ||
+ | * '''GS sharp''': General scaling with sharpen filter. | ||
+ | * '''Custom scaler1.txt''': Scaler coefficients loaded from scaler1.txt file on SD card (Mister format). | ||
+ | * '''Custom scaler2.txt''': Scaler coefficients loaded from scaler2.txt file on SD card (Mister format). | ||
+ | |||
+ | ==== Edge threshold ==== | ||
+ | ''Sets edge-detection threahold for edge-adaptive scaling algorithms.'' | ||
+ | * '''0-255''': '''[default=7]''' | ||
+ | |||
+ | ==== Deinterlace mode ==== | ||
+ | ''Selects the deinterlace mode for interlaced sources.'' | ||
+ | * '''Bob''': Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. Works well with fast-moving content. | ||
+ | * '''Weave''': Interleaves lines from 2 adjacent fields. Good for static content. | ||
+ | * '''Motion adaptive''': . Uses Bob for moving areas of the picture and weave for static ones. '''[default]''' | ||
+ | |||
+ | ==== Motion shift ==== | ||
+ | ''Sets motion detection threshold for motion adaptive deinterlacer.'' | ||
+ | * '''0-7''': '''[default=3]''' | ||
+ | |||
+ | ==== 240p/288p mode ==== | ||
+ | ''Selects sampling preset for 240p/288p "15kHz" sources.'' | ||
+ | |||
+ | ==== 350-400p mode ==== | ||
+ | ''Selects sampling preset for 350-400p "~24kHz" sources.'' | ||
+ | |||
+ | ==== 480i/576i mode ==== | ||
+ | ''Selects sampling preset for 480i/576i "15kHz" interlaced sources.'' | ||
+ | |||
+ | ==== 480p mode ==== | ||
+ | ''Selects sampling preset for 480p "31kHz" sources.'' | ||
+ | |||
+ | ==== 576p mode ==== | ||
+ | ''Selects sampling preset for 576p "31kHz" sources.'' | ||
+ | |||
+ | ==== 1080p120 out preset ==== | ||
+ | ''Selects timings to be used for 1080p120 output. Compatibility varies between boards and displays.'' | ||
+ | * '''CVT-RB''': Highest pixel clock, but video stability is not guaranteed on all boards, especially without active cooling. '''[default]''' | ||
+ | * '''CVT-RB2''': Further reduced blanking to reduce pixel clock. Audio may not work on all displays. | ||
+ | * '''Custom min. blank''': Blanking is pushed to minimum in order to reduce pixel clock further, but at the price of insufficient space for audio data. | ||
+ | * '''CEA-861 PR2x''': CEA-861 compatible mode which is guaranteed to work on all boards and has highest display compatibility. However, 2x pixel repetition is used. | ||
+ | |||
+ | ==== Adv. timing ==== | ||
+ | ''Refer to [[#A-LM Adv. timing]].'' | ||
+ | |||
+ | === Output opt. === | ||
+ | |||
+ | ==== Operating mode ==== | ||
+ | ''Selects operating mode of the device. Respective sub-menus under main menu have detailed options for each operating mode'' | ||
+ | * '''Line multiplier''': Operates in basic line multiplication mode. '''[default]''' | ||
+ | * '''Scaler''': Operates in more flexible scaler mode. | ||
+ | |||
+ | ==== Test pattern mode ==== | ||
+ | ''Selects video mode for test pattern. May be used to test display compatibility.'' | ||
+ | * '''240p...2880x2160_60''': Output video mode. '''[default=480p]''' | ||
+ | |||
+ | ==== TX mode ==== | ||
+ | ''Sets the output TX mode.'' | ||
+ | * '''HDMI (RGB Full)''': 24-bit full range RGB output with audio and auxiliary Infoframe packets. '''[default]''' | ||
+ | * '''HDMI (RGB Limited)''': 24-bit limited range RGB output with audio and auxiliary Infoframe packets. | ||
+ | * '''HDMI (YCbCr444)''': 24-bit YCbCr 4:4:4 (Rec. 601) output with audio and auxiliary Infoframe packets. | ||
+ | * '''DVI''': 24-bit full range RGB output. Required if target display does not support HDMI. | ||
+ | |||
+ | ==== HDMI HDR flag ==== | ||
+ | ''Setups HDR Infoframe to indicate HDR output with HLG gamma when in HDMI TX mode.'' | ||
+ | * '''Off''': Default SDR output. '''[default]''' | ||
+ | * '''On''': Output is flagged as HDR HLG. Gamma response is not corrected so some accuracy is lost. | ||
+ | |||
+ | ==== Extra AV out ==== | ||
+ | ''Sets the mode for extra_av_out expansion card'' | ||
+ | * '''Off''': No output on extra_av_out '''[default]''' | ||
+ | * '''RGBHV''': Normal RGBHV output via VGA | ||
+ | * '''RGBCS/RGBS''': Normal RGBCS output via VGA or RGBs via an adapter | ||
+ | * '''RGsB''': Sync-on-green RGB output | ||
+ | |||
+ | === Audio opt. === | ||
+ | |||
+ | === Scanline opt. === | ||
+ | |||
+ | === Post-proc. === | ||
+ | |||
+ | === Settings === | ||
== Firmware update == | == Firmware update == |
Revision as of 23:13, 13 November 2023
Contents
- 1 Introduction
- 2 AV inputs
- 3 Basic setup & usage
- 4 Settings
- 4.1 Input select
- 4.2 AV1-3 video in opt.
- 4.3 AV1-3 sync opt.
- 4.4 AV4 video in opt.
- 4.5 Line multiplier opt
- 4.6 Scaler opt.
- 4.6.1 DFP output mode
- 4.6.2 CRT output mode
- 4.6.3 Output type
- 4.6.4 Framelock
- 4.6.5 Aspect ratio
- 4.6.6 Scaling algorithm
- 4.6.7 Edge threshold
- 4.6.8 Deinterlace mode
- 4.6.9 Motion shift
- 4.6.10 240p/288p mode
- 4.6.11 350-400p mode
- 4.6.12 480i/576i mode
- 4.6.13 480p mode
- 4.6.14 576p mode
- 4.6.15 1080p120 out preset
- 4.6.16 Adv. timing
- 4.7 Output opt.
- 4.8 Audio opt.
- 4.9 Scanline opt.
- 4.10 Post-proc.
- 4.11 Settings
- 5 Firmware update
- 6 Firmware changelog and roadmap
- 7 Info for developers
Introduction
OSSC Pro is an advanced low-latency video digitizer, scan converter and scaler designed primarily for connecting retro video game consoles and home computers to modern displays.
If you're new to the OSSC and scalers/processors in general, you may wish to jump to the quick start guide.
Features
- Detection and digitization of various analog SDTV/EDTV/HDTV/PC modes
- Up to ~165MHz sampling clock for both analog and digital video sources, supporting high resolutions like 1080p@60
- Various sampling presets for classic consoles and home computers
- Ultra low latency line multiplication for 240p, 480i, 288p, 576i, 384p, 480p, 576p and 720p sources
- Full-fledged scaler mode with configurable polyphase scaling filter
- Framelocked and free-running scaler modes to select between judder-free or interrupt-free operation
- Deinterlacer supporting motion adaptive, weave and bob algorithms for 480i, 576i, 960i, and 1080i
- All video processing done in RGB domain (8bpc) - no internal conversion to subsampled YCbCr
- Video and sync LPF for less-than optimal input signals
- Various AV input options, both analog and digital (see table below)
- Full-range 24-bit RGB output through DVI/HDMI
- Output from 240p to 2560x1440@60Hz (or to 2880x2160@60Hz with 2x pixel repetition)
- 100Hz and 120Hz output options
- (HD-)CRT output modes including 1920x540 and 1080i
- Expansion card support with 36 GPIOs
- Emulated scanlines with fully configurable strength and interval
- Postprocessing options including masks and BFI
- Character OLED display
- IR control using dedicated remote control, OSSC L336 remote or any other remote supporting NEX IR protocol
- Button & mini-joystick for basic control without remote
- Micro-SD card socket for FW updates and additional profile storage
- USB port (FS) for future expandability
Board versions and availability
Production board
Pre-assembled boards are sold worldwide by:
VideoGamePerfection.com |
---|
List of components (v1.5) |
More information & discussion
- Original forum thread
- Dedicated discussion forums
- Quick Start Guide (PDF)
AV inputs
Input is selected via remote key / OSD input menu. The table below summarizes available inputs and their corresponding remote hotkeys.
AV1 (SCART)
The SCART connector of OSSC Pro supports a number of video/sync formats. SCART-RGB sources can be connected as-is while other formats require passthru cables/adapters.
Input name | Remote hotkey | Notes |
---|---|---|
AV1_RGBS | 1 | For video level c-sync only. Sync can be also extracted from composite video / luma. |
AV1_RGsB | 4 | Use suitable adapter / SCART cable. |
AV1_YPbPr | 4 (tap twice) | Use YPbPr to SCART passthru adapter. Some suitable adapters are sold online (e.g. this) but most don't include audio jacks. |
AV1_RGBHV | 7 | Needs a custom adapter/cable which routes HSYNC to SCART pin 12 and VSYNC to pin 10. |
AV1_RGBCS | 7 (tap twice) | For TTL c-sync only. Needs a custom adapter/cable which routes CSYNC to SCART pin 12. |
AV2 (5xRCA)
The 5xRCA connector set of OSSC Pro supports RGsB or YPbPr sources.
Input name | Remote hotkey | Notes |
---|---|---|
AV2_YPbPr | 2 | Use YPbPr to SCART passthru adapter. Some suitable adapters are sold online (e.g. this) but most don't include audio jacks. |
AV2_RGsB | 2 (tap twice) | Use suitable adapter / SCART cable. |
AV3 (HD-15 "VGA" + 3.5mm jack)
The HD-15 connector allows connecting e.g. a classic PC or Dreamcast to OSSC Pro.
Input name | Remote hotkey | Notes |
---|---|---|
AV3_RGBHV | 3 | Normal VGA pinout |
AV3_RGBCS | 3 (tap twice) | For TTL c-sync only (connected to hsync pin) |
AV3_RGBS | 6 | For video level c-sync only. Sync is connected to HD-15 pin 4 via a custom adapter / cable. |
AV3_RGsB | 9 | Use suitable adapter / cable. |
AV3_YPbPr | 9 (tap twice) | Use suitable adapter / cable. |
AV4 (HDMI)
The HDMI connector allows connecting digital AV sources to OSSC Pro. HDCP is not supported.
Input name | Remote hotkey | Notes |
---|---|---|
AV4 | 5 |
Toslink
The toslink input supports LPCM 44.1/48/96kHz and compressed bitstream (Dolby Digital, DTS) formats. Toslink input can be mapped to any of the above AV inputs. The audio stream is forwarded as-is to HDMI transmitter.
AV input/output adapter
A custom adapter (shown below) can be used to connect
- VGA or component input sources into SCART
- SCART-RGB or component input sources into VGA
A fully wired SCART or VGA cable needs to be connected between the adapter and OSSC Pro board. Design and gerbers are available here. Pre-assembled adapters may become available in future.
Basic setup & usage
Connectivity
Connect your AV sources and display to OSSC Pro.
Power
OSSC requires an external DC power supply. A unit that outputs 5 volts DC with at least 2 Amp (with any expansion cards and/or HDMI adapters 2.5A is highly recommended). The tip must be 2.1 x 5.5mm and centre positive.
Do not use a power supply rated for AC output, or a power supply rated higher than 5 volts DC. An overvoltage protection (5.5V threshold) is present but extensive misuse can damage the board.
After connecting power, OSSC Pro enters standby mode which is indicated by red LED.
Remote control
OSSC Pro operates with a dedicated infrared remote. Key functionality is listed below.
- POWER: Power the device on or off
- INFO: Displays detailed timings of video input and output. Also displays firmware version
- KEYPAD / 0-9: Selects AV source and input format. See remote picture on the side for reference
- MENU: Activates/deactivates OSD menu
- OK: Selects sub-menu or function
- BACK: Returns to previous menu level or from info page to normal source display page
- UP/DOWN: Selects next/previous menu option or next/previous input when not in menu
- LEFT/RIGHT: Option value -/+
- OSD: Switches between different OSD modes (Full, SImple, Off)
- P-LM, A-LM, SCL: Select respective operating mode
- LM.MODE: Select multiplication target for LM modes
- LM.DIL: Select deinterlace mode (Bob / Noninterlace restore) for LM
- SCRSHOT: Reserved for future use
- P.LOAD: Open a menu to load profile
- SL.INT+/-: Hotkeys for adjusting scanline strength
- SL.MODE: Hotkey for scanline mode selection
- SL.TYPE: Hotkey for selecting next "Scanline type" option value
- SL.ALIGN: Hotkey for scanline alignment selection
- PHASE+/-: Hotkeys for sample phase adjustment
- P1-9: Reserved for future use
- SCL.RES: Scaler output resolution selection
- SCL.FL: Scaler framelock selection
- SCL.S.ALG: Scaler scaling algorithm selection
- SCL.D.ALG: Scaler deinterlace algorithm selection
- SCL.AR: Scaler aspect ratio selection
- SCL.ROT: Reserved for future use
- SCL.ZOOM: Open scaler size adjustment menu
- SCL.PAN: Open scaler position adjustment menu
PCB buttons
- BTN: Enter / exit menu
- JOY: 4-directional joystick switches input or test pattern mode when not in menu. Inside menu it provides navigation with the added push function to enter sub-menus
Status LEDs
- Green: Power on. Temporarily off when IR remote code detected
- Red: Standby indicator. When device is on, red LED flashing indicates resyncing to input
- Blue: Framelock
Getting started
Turn on the board by pressing power button on remote or by holding the on-board button for a couple seconds. A 480p test pattern should show up in the monitor. Turn on the video source and select correct input.
The firmware has 2 primary operating modes: line multiplier and scaler. Line multiplier is reminiscent of classic line doublers and OSSC while scaler works more like video processors like VP50 or Framemeister. In general scaler mode offers more flexibility and easier usage via fixed output resolution and (optionally) fixed refresh rate. Some users may prefer to stay with strict multiplication to preserve the original look as much as possible, though. The mode can be switched from "Output opt -> Operating mode" on the menu. Main menu has matching sub-menus for each of the 2 operating modes which are accessible even if the said operating mode is not active. Most important properties of these modes are listed in the table below.
Pure LM | Adaptive LM | Scaler – framelock | Scaler - no framelock | |
---|---|---|---|---|
Latency | max 2 lines | Max 60 lines | ~1 frame | 1-2 frames |
Display compatibility | Variable | Very high | Very high | Full |
Deinterlace alg. | Bob, Noninterlace restore | Bob, Noninterlace restore | Bob, Weave, Motion adaptive | Bob, Weave, Motion adaptive |
Scaling alg. | X: oversample, integer; Y: integer | X: oversample, integer; Y: integer | X: oversample, polyphase; Y: polyphase | X: oversample, polyphase; Y: polyphase |
Input mode switch delay | Very fast | Very fast | Fast | Instant |
Transformations | Pan | Pan | Zoom, Pan, (Rotate) | Zoom, Pan, (Rotate) |
Postprocessing opt. | Scanlines, Border, Masks | Scanlines, Masks | Scanlines, Masks, BFI | Scanlines, Masks, BFI |
Test pattern
Settings
Input select
Selects the source.
AV1-3 video in opt.
Video LPF
Video low-pass filter. Filters out high-frequency noise on video.
- Auto: Suitable LPF is automatically selected based on source mode [default]
- 9-450MHz: Video bandwidth is limited to selected frequency
Reverse LPF
Compensates unintended LPF/bleeding caused by sub-optimal video DAC (e.g. 1st rev SNES consoles) or long cables.
- 0-31: Reverse LPF strength. [default=0]
YPbPr input Color Space
Controls YPbPr->RGB colorspace conversion coefficients.
- Auto: Input colorspace is selected based on resolution. [default]
- Rec. 601: Input is assumed to be in Rec. 601 format, which is generally true for SD video.
- Rec. 709: Input is assumed to be in Rec. 709 format, which is generally true for HD video.
R/Pr / G/Y / B/Pb offset
Fine-adjustment of Red/Pr / G/Y / B/Pb channel offset (brightness).
- 0-1023: [default=512]
R/Pr / G/Y / B/Pb gain
Fine-adjustment of Red/Pr / G/Y / B/Pb channel gain (contrast).
- 0-1023: [default=324]
Clamp strength
Sets the strength of backporch clamp.
- 0-7: [default=7]
Clamp/ALC position
Sets the position of backporch clamp (in percentage of line length).
- 0.1-25%: [default=0.7%]
Clamp width
Sets the width of backporch clamp pulse (in percentage of line length).
- 0.1-10%: [default=2.5%]
Clamp/ALC on coast
Sets whether clamp/ALC is enabled during coast.
- On: Clamp/ALC enabled during coast. [default]
- Off: Clamp/ALC disabled during coast.
Auto level ctl (ALC)
Sets whether ALC is enabled.
- On: ALC enabled. [default]
- Off: ALC disabled.
ALC V filter
ALV vertical filter coefficient. Reduce from default if line/field tilt occurs.
- 32-4096 lines: [default=512 lines]
ALC H filter
ALV horizontal filter coefficient (duration for which ALC is applied after clamp).
- 16-128 pixels: [default=16 pixels]
AV1-3 sync opt.
Analog sync Vth
Sets the sync slicer threshold for video-level sync. May need adjustment if source sync level is not typical and dropouts occur.
- 0-300mV: threshold voltage. [default=120mV]
TTL Hsync Vth
Sets the sync slicer threshold for TTL level sync. May need adjustment if source sync level is not typical and dropouts occur.
- 400-3205mV: threshold voltage. [default=1148mV]
Analog sync pre-STC
Sets sync tip clamp LPF.
- Off
- On (5MHz LPF) [default]
- On (2.5MHz LPF)
- On (0.5MHz LPF)
Sync glitch filt len
Sets the sync glitch filter length. May need to be increased if there are glitches around sync pulses.
- 37-592ns: filter length. [default=111ns]
H-PLL Pre-Coast
Defines when PLL coast (current freq. freeze) is activated.
- 0-5 lines: Number of scanlines before vsync at when coast is activated. [default=4]
H-PLL Post-Coast
Defines when PLL coast (current freq. freeze) is deactivated.
- 0-5 lines: Number of scanlines after vsync at when coast is deactivated. [default=4]
H-PLL Loop Gain
Adjusts loop gain of H-PLL which affects sampling clock stability. A higher value makes the PLL react fast to changes in hsync interval which may make sampling more accurate but at the cost of increased jitter in output pixel clock. A small value ensures best compatibility, but sync jitter in the source (e.g. SNES) may result to sampling jitter on nearby scanlines. Increase for sources with sync jitter if your display is able to tolerate jitter in output clock.
- 0-3: [default=0]
AV4 video in opt.
Default RGB range
Selects the assumed RGB range if source does not explicitly specify it in metadata.
- Limited: Limited range as per CEA spec. [default]
- Adaptive: Full-range RGB.
Pixel de-repetition
Enforces pixel de-repetition for special sources with high horizontal resolution to improve compatibility. Only for advanced users
- Auto: De-repetition follows metadata. [default]
- 1-10: Manual override
Line multiplier opt
Line multiplier mode
Selects how line multiplier mode operates.
- Pure: All lines are multiplied for output, operation like original OSSC. Mainly for backwards compatibility.
- Adaptive: Visible lines are multiplied while amount of blanking lines is adjusted to match selected standard output resolution. [default]
Deinterlace mode
Selects how interlaced content is processed in line multiplier modes.
- Bob: Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. [default]
- Noninterlace restore: Displays fields one after another without any offset by default. Useful for 240p games running in 480i (e.g. classic game collections).
NI restore Y offset
Offsets even field in noninterlace restore mode.
- 0: No offset for even field. [default]
- 1: Even field is offset by a full input line. Needed depending on field order of 240p->480i conversion.
256x240 aspect
Selects the output aspect for 256x240 sampling presets.
- Pseudo 4:3 DAR: Integer-multiplication is handled so that target aspect is close to 4:3. [default]
- 1:1 PAR: Maintains square pixel aspect ratio.
Pure LM opt.
Refer to OSSC#Output_opt..
Adaptive LM opt.
<input_mode> proc
Selects how <input_mode> is processed via output resolution and line multiplication factor.
<input_mode> mode
Selects a sampling preset for <input_mode>.
P-LM Adv. timing
Refer to OSSC#Advanced_timing_tweaker.
A-LM Adv. timing
Allows editing of sampling/output parameters. Sampling preset to edit (default is current mode) is changed via LEFT/RIGHT keys and selected via OK key which then opens editor menu.
Clock & Phase
Enter to fine-tune sampling clock and phase via arrow keys. Only for advanced users.
Size
Enter to adjust bounding box size for input signal (active area) via arrow keys. In scaler mode the active window is scaled to full screen (unless in integer scale mode), effectively enabling zooming in/out.
Position
Enter to adjust bounding box position for input signal via arrow keys.
Reset preset
Resets parameters of selected preset to default values.
Scaler opt.
DFP output mode
Selects output mode for Digital Flat Panel (DFP). Supported output refresh range is shown in braces.
- 720x480 (60Hz): Standard 480p output supported by all HDTVs.
- 720x480 WS (60Hz): Standard widescreen 480p output supported by all HDTVs.
- 720x576 (50Hz): Standard 576p output supported by most HDTVs.
- 720x576 WS (50Hz): Standard widescreen 576p output supported by most HDTVs.
- 1280x720 (50-120Hz): Standard 720p output supported by majority of HDTVs.
- 1280x1024 (60Hz): SXGA mode for 5:4 desktop monitors.
- 1920x1080i (50-60Hz): Standard 1080i output supported by most modern HDTVs.
- 1920x1080 (50-120Hz): Standard 1080p output supported by all modern HDTVs. [default]
- 1600x1200 (60Hz): UXGA mode for 4:3 desktop monitors.
- 1920x1200 (50-60Hz): WUXGA mode for 16:10 desktop monitors. Uses CVT timings (RB for 60Hz).
- 1920x1440 (50-60Hz): 4:3 1440p mode for compatible displays. Uses CVT timings (RB for 60Hz).
- 2560x1440 (50-60Hz): 16:9 1440p mode for compatible displays. Uses CVT-RB timings.
- 2880x2160 (50-60Hz): 4:3 2160p mode for compatible displays. Uses CVT-RB timings and 2x pixel repetition.
CRT output mode
Selects output mode for CRT. Modes are meant for video DACs, not HDMI devices. Supported output refresh range is shown in braces.
- 240p (60-120Hz): Non-interlaced 60Hz SD mode for 15kHz capable CRT TVs. [default]
- 240p WS (60-120Hz): Non-interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs.
- 288p (50-100Hz): Non-interlaced 50Hz SD mode for 15kHz capable CRT TVs.
- 288p WS (50-100Hz): Non-interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs.
- 480i (60Hz): Interlaced 60Hz SD mode for 15kHz capable CRT TVs.
- 480i WS (60Hz): Interlaced 60Hz widescreen SD mode for 15kHz capable CRT TVs.
- 576i (50Hz): Interlaced 50Hz SD mode for 15kHz capable CRT TVs.
- 576i WS (50Hz): Interlaced 50Hz widescreen SD mode for 15kHz capable CRT TVs.
- 480p (60-120Hz): 480-line mode for 31kHz capable CRT monitors.
- 540p (50-60Hz): 540-line mode for 1080i capable HD-CRT TVs.
Output type
Selects which one of the 2 above mode lists is used.
- DFP: Output to Digital Flat Panel via HDMI. [default]
- CRT: Output to CRT via HDMI-VGA/SCART converter.
Framelock
Defines output refresh rate and how it is generated.
- On: Output refresh rate is locked to input. Minimizes latency, but any interruption in input (e.g. video mode change) may temporarily break sync on output side. [default]
- On (2x source Hz): Output refresh rate is locked 2x input. Useful for BFI. Same conditions apply as above.
- Off (source Hz): Output refresh rate is not directly generated from input. A refresh rate matching source is used.
- Off (50Hz): Output refresh rate is not generated from input. Output is 50Hz if supported by the selected output resolution setting.
- Off (60Hz): Output refresh rate is not generated from input. Output is 60Hz if supported by the selected output resolution setting.
- Off (100Hz): Output refresh rate is not generated from input. Output is 100Hz if supported by the selected output resolution setting.
- Off (120Hz): Output refresh rate is not generated from input. Output is 120Hz if supported by the selected output resolution setting.
Aspect ratio
Selects aspect ratio for the source. Currently display is assumed to have square PAR.
- Auto: Selects aspect ratio based on sampling preset. [default]
- 4:3: Standard aspect ratio for most classic console and home computer sources.
- 16:9: Widescreen aspect ratio for consoles/games supporting widescreen.
- 8:7: Special aspect ratio for square pixels with NES/SNES. Most useful with their respective sampling presets.
- 1:1 source PAR: Source is assumed to have 1:1 pixel aspect ratio. Use only with non-generic sampling presets.
- Full: Source is assumed to have same aspect ratio as selected output resolution, i.e. it will be scaled to fit screen both horizontally and vertically.
Scaling algorithm
Selects scaling algorithm/filter applied for the polyphase scaler engine. The engine supports edge-adaptive scaling which is able to use different filter for parts of the picture which are detected as edges. Edge-adaptive modes are denoted with '&' which is followed by the filter used for edge content.
- Auto: Uses Nearest for low-res sources and Lanczos3_sharp for med/high-res. [default]
- Integer (underscan): Integer scaling with underscan priority (in case a small part of picture would be otherwise cut). Mainly usable with non-generic sampling presets.
- Integer (overscan): Integer scaling with overscan priority (in case a small part of picture would be otherwise letter/pillarboxed). Mainly usable with non-generic sampling presets.
- Nearest: Nearest neighbor scaling algorithm. Most appropiate for 2D pixel graphics where more sophisticated filters may add noticeable blur / ringing.
- Lanczos3: High-quality scaling algorithm suitable for general video material and 3D graphics.
- Lanczos3_sharp: Sharpened version of Lanczos3 algorithm.
- Lanczos3&3_sharp: Sharpened version only applied for edges.
- Lanczos4: Similar to Lanczos3 but with reduced smoothening.
- GS sharp: General scaling with sharpen filter.
- Custom scaler1.txt: Scaler coefficients loaded from scaler1.txt file on SD card (Mister format).
- Custom scaler2.txt: Scaler coefficients loaded from scaler2.txt file on SD card (Mister format).
Edge threshold
Sets edge-detection threahold for edge-adaptive scaling algorithms.
- 0-255: [default=7]
Deinterlace mode
Selects the deinterlace mode for interlaced sources.
- Bob: Displays fields one after another with even field being offset by half input line, resembling how interlaced content looks on a CRT. Works well with fast-moving content.
- Weave: Interleaves lines from 2 adjacent fields. Good for static content.
- Motion adaptive: . Uses Bob for moving areas of the picture and weave for static ones. [default]
Motion shift
Sets motion detection threshold for motion adaptive deinterlacer.
- 0-7: [default=3]
240p/288p mode
Selects sampling preset for 240p/288p "15kHz" sources.
350-400p mode
Selects sampling preset for 350-400p "~24kHz" sources.
480i/576i mode
Selects sampling preset for 480i/576i "15kHz" interlaced sources.
480p mode
Selects sampling preset for 480p "31kHz" sources.
576p mode
Selects sampling preset for 576p "31kHz" sources.
1080p120 out preset
Selects timings to be used for 1080p120 output. Compatibility varies between boards and displays.
- CVT-RB: Highest pixel clock, but video stability is not guaranteed on all boards, especially without active cooling. [default]
- CVT-RB2: Further reduced blanking to reduce pixel clock. Audio may not work on all displays.
- Custom min. blank: Blanking is pushed to minimum in order to reduce pixel clock further, but at the price of insufficient space for audio data.
- CEA-861 PR2x: CEA-861 compatible mode which is guaranteed to work on all boards and has highest display compatibility. However, 2x pixel repetition is used.
Adv. timing
Refer to #A-LM Adv. timing.
Output opt.
Operating mode
Selects operating mode of the device. Respective sub-menus under main menu have detailed options for each operating mode
- Line multiplier: Operates in basic line multiplication mode. [default]
- Scaler: Operates in more flexible scaler mode.
Test pattern mode
Selects video mode for test pattern. May be used to test display compatibility.
- 240p...2880x2160_60: Output video mode. [default=480p]
TX mode
Sets the output TX mode.
- HDMI (RGB Full): 24-bit full range RGB output with audio and auxiliary Infoframe packets. [default]
- HDMI (RGB Limited): 24-bit limited range RGB output with audio and auxiliary Infoframe packets.
- HDMI (YCbCr444): 24-bit YCbCr 4:4:4 (Rec. 601) output with audio and auxiliary Infoframe packets.
- DVI: 24-bit full range RGB output. Required if target display does not support HDMI.
HDMI HDR flag
Setups HDR Infoframe to indicate HDR output with HLG gamma when in HDMI TX mode.
- Off: Default SDR output. [default]
- On: Output is flagged as HDR HLG. Gamma response is not corrected so some accuracy is lost.
Extra AV out
Sets the mode for extra_av_out expansion card
- Off: No output on extra_av_out [default]
- RGBHV: Normal RGBHV output via VGA
- RGBCS/RGBS: Normal RGBCS output via VGA or RGBs via an adapter
- RGsB: Sync-on-green RGB output
Audio opt.
Scanline opt.
Post-proc.
Settings
Firmware update
Firmware is updated via microSD card. Download latest release from github, rename the .bin file as ossc_pro.bin and place it at the root of FAT32-formatted SD card. Launch upgrade via Settings menu.
Firmware update via JTAG
Firmware can also be updated via the JTAG connector and a suitable programmer such as the terasIC USB Blaster. A tutorial on how to do this is available here.
Firmware changelog and roadmap
v0.69
- Initial release
Older versions
Scheduled improvements
- Lower scaler mode latency
- Rotation