Chapter 1 Overview
This manual describes RV's implementation of the BlackMagic and AJA SDI hardware as a presentation mode device. For more information on presentation mode and how it relates to RV in general see the RV User's Manual.
RV can be used to output either to the Blackmagic or the AJA SDI hardware.
- RV 7.5.0+: RV and RVSDI executables have been merged, you can now use RV executable for both applications.
- RVSDI 7.2.0+: Suppport for NVIDIA-SDI has been removed from RVSDI. Please use RVSDI executable for versions prior to RV 7.5.0.
1.1 Getting Started
1.1.1 Quick Start
- Start RVSDI go to the RV → Preferences → Video prefs.
- For SDI select the Blackmagic or AJA video module.
- Select the SDI device (e.g. the DeckLink 8K Pro or Kona5 or Io 4K in the AJA case)
- Select the video and data formats and sync method.
- Click the Use as Presentation Device check box.
- If you want audio output to SDI check Output audio to this device.
- Exit preferences.
- Select View → Presentation Mode to start SDI output.
Chapter 2 AJA
2.1 The “AJA” and “AJA (Control Panel)” SDI Modules
- The “AJA” module operates like the NVIDIA SDI module; it allows you to set all aspects of the video and data output formats as well as set up stereo output and ancillary HDMI output.
- The “AJA (Control Panel)” module does not set up the hardware formats itself, but will use the current settings from the AJA control panel and/or cables program. This makes it possible to set up unique routing on the AJA card.
2.2 HD, DCI 2K, UHD, DCI 4K, UHD2, and 8K Output
AJA products may support mono and stereo HD (1920 x 1080), DCI 2K (2048 x 1080), quad UHD 4K (3840 x 2160), quad DCI 4K (4096 x 2160), quad UHD2 8K (7680 x 2160), and quad DCI 8K (8192 x 2160) depending on the hardware and the installed firmware.
Not all formats are available on all platforms and devices.
Starting with AJA SDK 15.5 4K/UHD/8K/UHD2 SDI output can use two different modes:
- quadrant mode : the image is split into 4 quadrants, one quadrant per cable; the receiving device will then combine these four quadrants into a single image. This is the “traditional” way of outputting 4K.
- two-sample-interleave (aka 2SI aka TSI) mode: the image is split into 4 HD-resolution images, one image per cable; the receiving device, if it supports 2SI, can then combine these four images into a full 4K-resolution image. Note that each cable then provides a valid HD image that can be fed to non-2SI equipment (the HD image is formed by taking one out of every four pixels of the original 4K image, therefore the result is not as good as if going through a more elaborate downconverter).
This also affects HDMI: in quadrant-mode, HDMI will be downconverted to HD by the AJA board; in two-sample-interleave mode, HDMI will be a proper full-resolution 4K image. This is a limitation imposed by the AJA board.
To select Quadrant vs Two-sample-interleave mode, use the “4K Transport” drop-down menu in the Video preferences.
Note that this only affects 4K/UHD/8K/UHD2 resolutions.
2.3 High Frame Rate (HFR) DCI 2K and 4K at 60hz and 48hz
2.4 AJA Specific Configuration Options
AJA NTV2 Device Options:
-h [ --help ] Usage Message
-v [ --verbose ] Verbose
--rec601 Use Rec.601 Color Matrix (default is
Rec.709)
--limiting-broadcast-range Force limiting to broadcast video range
--limiting-legal-range Force limiting to legal SDI range
--limiting-full-range Force limiting to full SDI range (no limiting)
-p [ --profile ] Output Debugging Profile
(twk_aja_profile_<ID>.dat)
-m [ --method ] arg Method (dvp, sdvp, ipbo, ppbo, basic, p2p)
--flip Flip Image Orientation
--hdmi-stereo-mode arg HDMI stereo mode (side-by-side, top-and-bottom,
Or frame-packed)
--hdmi-hdr-metadata arg HDMI HDR Metadata - comma-separated values:
rx,ry,gx,gy,bx,by,wx,wy,minML,maxML,mCLL,
mFALL,eotf,smdID
--no-set-desired-frame Don’t set desiredFrame field in transfer struct
--enable-hardware-pause Enable hardware pause states
--allow-segmented-transfer Enable segmented DMA transfers
--simple-routing Omit all but minimal routing requirements
-s [--ring-buffer-size] arg(=3) Ring Buffer Size
-n [--no-acquire] Do not attempt to acquire device from AJA
control panel
-a [ --level-a ] Enable Level A timing when possible.
--disable-tasks Set card control to ‘Disable tasks’ mode.
--rec601 --ring-buffer-size 4
TWK_AJA_HELP TWK_AJA_VERBOSE TWK_AJA_REC601_MATRIX TWK_AJA_PROFILE TWK_AJA_METHOD <method> TWK_AJA_FLIP
TWK_AJA_ENABLE_HARDWARE_PAUSE
TWK_AJA_RING_BUFFER_SIZE <size>
TWK_AJA_NO_ACQUIRE
TWK_AJA_LEVEL_A
TWK_AJA_DISABLE_TASKS
TWK_AJA_HDMI_HDR_METADATA
2.4.1 Method
Method
|
Description
|
dvp
|
Use NVIDIA DVP when available (default on Windows)
|
sdvp
|
Use NVIDIA DVP without overlapping DMA (useful for profiling only)
|
ipbo
|
Use immediate copy OpenGL PBOs for read back
|
ppbo
|
Use shared pointer OpenGL PBOs for read back (mac only)
|
basic
|
Use simplest possible GL read back scheme (not recommended)
|
p2p
|
Use SDI-Link (AMD firepro only)
|
2.4.2 Ring Buffer Size
There is a minimum and maximum ring buffer size for a given hardware setup. The lowest possible value is 2, but in practice 3 or 4 is usually required. The maximum value is 4 to 6 depending on the format being used. For example 10-bit DCI 2K stereo requires extra memory limiting the ring buffer size to a maximum of 4. The ring buffer size should be set to the lowest possible value in order to reduce latency.
When the size is set too small, playback will be slow and will stutter.
2.5 HDMI Output
RV will hook up HDMI output on devices that have HDMI to mimic the SDI settings. In most cases you should be able to hook the output up to an HDMI capable device and get the same output that SDI is providing.
On the Io4K Plus, Io4K and Kona4 the HDMI output in UHD and DCI 4K will depend on the transport mode selected (quadrant vs two-sample-interleave) - see section 2.2. For devices which cannot do 4K HDMI the HDMI will have a downconverted image where available.
In stereo modes HDMI is currently set up to show the first eye.
2.6 AJA Device Firmware
2.6.1 Kona 5 available 4K/8K Firmwares
The Kona5 comes with 2 possible firmwares. Make sure to select the firmware that matches your needs otherwise your required video format won’t be listed in the RV -> Preferences -> Video preferences.
KONA 5 (4K) |
Supported = 4K/UHD over 3G/12G. Color Space Conversion. Keyer Unsupported = 8K/UHD2 video |
KONA 5 (8K) |
Supported = 8K/UHD2 video Unsupported = 4K/UHD over 3G/12G. Color Space Conversion. Keyer |
2.6.2 Enabling 4K on the Kona 3G
The standard Kona 3G firmware is not able to output 4K formats. In order to enable 4K “Quad” firmware must be loaded onto the Kona card. This converts the card into either four inputs or four outputs but no mixed inputs and outputs (like the standard firmware can do).
RV only ever uses the Kona 3G for output. When the Quad firmware is detected, RV will enable 4K output in the Video preferences for the Kona device. The usual HD and DCI 2K formats are still available with the Quad firmware installed.
The Kona4 and Io4K support 4K with their standard firmware.
2.7 Rendering and Hardware Configuration
Throughput from main memory to the GPU, back to main memory, and finally to the AJA hardware requires fine tuning of RV's rendering options. There are a number of requirements that need to be met in order to obtain best results:
Most importantly, when using a Kona 3G/Kona 4 card in a PCIe2 or PCIe3 slot, make sure that the GPU and the Kona card reside in slots which have different controllers. For example in an HP z800 or z820 workstation the GPU is frequently used in slot #2. By putting the Kona card in slot #4 which is not serviced by the same controller maximum bandwidth between the two cards can be achieved. AJA's website has a page describing recommend configurations for various hardware:
2.7.1 NVIDIA Fermi and Kepler Quadros (Windows and Linux)
Supported Quadros with a properly installed Kona 3G on a fast machine (z800) is currently the only option for DCI and UHD 4K output.
NVIDIA fermi and kepler quadro GPUs allow the use of GPUDirect (called DVP in video applications) to transfer data between the GPU and an external video card like the Kona on Windows and Linux. RV can use DVP to parallelize IO between the two cards and main memory. This can result in a huge performance win if set up properly.
However, in order to fully utilize the bandwidth to and from the GPU multithreaded upload, prefetch, and PBOs must be enabled in RV's render preferences when the GPU has dual copy engines. Fermi 4000 and 6000 Quadros and Kepler 5000 and 6000 Quadros all have dual copy engines. The Kepler 4000 has only a single copy engine so using multithreaded upload is not a good idea on that card when using DVP.
In addition vertical sync (v-sync) must be enabled in the NVIDIA driver and disabled in RV on Linux.
2.7.2 AMD FirePro on Windows
2.7.3 Geforce and Low end Quadro NVIDIA cards (Windows and Linux)
Geforce and lower end Quadro cards without dual copy engines are not supported for AJA SDI output on Windows and Linux. However, these may work using non-DVP methods (ipbo method). GPUs with one copy engine (k4000) are preferable to those with none.
With these GPUs try multithreaded upload, PBOs, and prefetch on in the Render preferences. If the results are not good try turning off multithreaded uploads.
In some cases you may get a GPU to work by increasing the size of the ring buffer. The maximum size for HD formats is 6.
2.7.4 NVIDIA Kepler GPUs on Apple Computers
On Apple computers PBOs with prefetch are also recommended, but multithreaded upload may or may not be helpful. Alternatively, using Apple Client Storage (also in the Render tab of the preferences) instead of PBOs may be more beneficial with some GPUs.
RV will use a specialized asynchronous read back scheme on Apple computers (corresponding to the “ppbo” method).
Thunderbolt AJA devices are supported along with Kona 3G in older Mac Pro desktop machines.
2.7.5 AMD GPUs on Apple Computers
On Apple machines with AMD GPU always use Apple Client Storage (with prefetch) instead of PBOs.
RV will use a specialized asynchronous read back scheme on Apple computers (corresponding to the “ppbo” method).
Thunderbolt AJA devices are supported along with Kona 3G in older Mac Pro desktop machines.
2.7.6 Intel Graphics on Apple Computers
Chapter 3 Blackmagic Design
RV can output to Blackmagic Design devices which use the DeckLink API. This includes the DeckLink capture and playback cards and thunderbolt UltraStudio devices. Although it may work with other devices like the UltraStudio for USB 3.0 they have not yet been tested.
RV can drive stereo SDI and HDMI when available.
As of RV 7.7.0, for the Blackmagic Design Decklink SDI hardware to be recognized by RV, the Decklink 11.5 drivers must be installed. Please refer to the Blackmagic Design documentation to install those drivers.3.1 HD, DCI 2K, UHD, DCI 4K, UHD2, and 8K Output
Blackmagic's DCI 2K and 4K output is supported when available but only on machines capable of sustaining 4K throughput from the GPU to the SDI device.
Not all formats are available on all platforms and devices.
3.2 Blackmagic Specific Configuration Options
There are additional options which can be passed to the AJA device via environment variables or from the preferences Additional Options field.
The preferences field takes command line-like syntax:
Blackmagic Device Options: -h [ --help ] Usage -v [ --verbose ] Verbose -m [ --method ] arg Method (dvp, ipbo, basic) -s [ --ring-buffer-size ] arg (=4) Ring Buffer Size
TWK_BLACKMAGIC_HELP TWK_BLACKMAGIC_VERBOSE TWK_BLACKMAGIC_METHOD <method> TWK_BLACKMAGIC_RING_BUFFER_SIZE <size>
3.2.1 Method
Method
|
Description
|
ipbo
|
Use immediate copy OpenGL PBOs for read back
|
basic
|
Use simplest possible GL read back scheme (not recommended)
|
3.2.2 Ring Buffer Size
3.3 HDMI Output
3.4 Rendering and Hardware Configuration
Throughput from main memory to the GPU, back to main memory, and finally to the Blackmagic hardware requires fine tuning of RV's rendering options. There are a number of requirements that need to be met in order to obtain best results:
Most importantly, when using a DeckLink card in a PCIe2 or PCIe3 slot, make sure that the GPU and the DeckLink card reside in slots which have different controllers. For example in an HP z800 or z820 workstation the GPU is frequently used in slot #2. By putting the DeckLink card in slot #4 which is not serviced by the same controller maximum bandwidth between the two cards can be achieved.
3.4.1 NVIDIA Fermi and Kepler Quadros (Windows and Linux)
Supported Quadros with a properly installed DeckLink on a fast machine (z800) is currently the only option for DCI and UHD 4K output.
NVIDIA fermi and kepler quadro GPUs allow the use of GPUDirect (called DVP in video applications) to transfer data between the GPU and an external video device. RV can use DVP to parallelize IO between the two cards and main memory. This can result in a huge performance win if set up properly.
However, in order to fully utilize the bandwidth to and from the GPU multithreaded upload, prefetch, and PBOs must be enabled in RV's render preferences when the GPU has dual copy engines. Fermi 4000 and 6000 Quadros and Kepler 5000 and 6000 Quadros all have dual copy engines. The Kepler 4000 has only a single copy engine so using multithreaded upload is not a good idea on that card when using DVP.
In addition vertical sync (v-sync) must be enabled in the NVIDIA driver and disabled in RV on Linux.
3.4.2 AMD FirePro on Windows
3.4.3 Geforce and Low end Quadro NVIDIA cards (Windows and Linux)
Geforce and lower end Quadro cards without dual copy engines are not supported for Blackmagic SDI output on Windows and Linux. However, these may work using non-DVP methods (ipbo method). GPUs with one copy engine (k4000) are preferable to those with none.
With these GPUs try multithreaded upload, PBOs, and prefetch on in the Render preferences. If the results are not good try turning off multithreaded uploads.
In some cases you may get a GPU to work by increasing the size of the ring buffer. The maximum size for HD formats is 6.
3.4.4 NVIDIA Kepler GPUs on Apple Computers
On Apple computers PBOs with prefetch are also recommended, but multithreaded upload may or may not be helpful. Alternately, using Apple Client Storage (also in the Render tab of the preferences) instead of PBOs may be more beneficial with some GPUs.
RV will use a specialized asynchronous read back scheme on Apple computers (corresponding to the “ppbo” method).
Thunderbolt UltraStudio devices are supported along with DeckLink cards for older Mac Pro desktop machines.
3.4.5 AMD GPUs on Apple Computers
On Apple machines with AMD GPU always use Apple Client Storage (with prefetch) instead of PBOs.
RV will use a specialized asynchronous read back scheme on Apple computers (corresponding to the “ppbo” method).
Thunderbolt UltraStudio devices are supported along with DeckLink cards for older Mac Pro desktop machines.
3.4.6 Intel Graphics on Apple Computers
Chapter 4 Configuring the SDI Device
In the Video preferences tab choose the AJA/Blackmagic video module. Make sure you understand what data and video formats your output device will accept. In the case of stereo, make sure it can use dual SDI outputs — one for each eye.
The AJA hardware can output progressive, interlaced, and progressive segmented frame (PsF) video formats up to 4096x2160 resolution.


- Output Module
- This should be set to Blackmagic or AJA. If you don't see Blackmagic or AJA as an option you may be using the vanilla rv binary or you don't have SDI hardware drivers installed. Make sure you are using rv on a machine with the proper hardware.
- Output Device
- In the AJA/Blackmagic case the hardware product name will be displayed for each device detected.
- Output Video Format
- The video format determines the resolution, frame rate, and whether or not the video scanlines are sent interlaced or progressive. Most projectors will use either a progressive or progressive segmented frame (PsF) format.
- Output Data Format
- The data format indicates how the the pixels are to be presented to the device. This can include the numerical precision as well as color space (e.g. RGB or YCbCr). The current version of RV can output stereo via dual SDI outputs by choosing the Stereo Dual 4:2:2 data format. This is the only stereo SDI format which we currently support. You can still use the typical anaglyph, side-by-side, and similar formats found under the View → Stereo menu; these will work regardless of SDI data format.
- Sync Method
- Typically in the scenarios RV is used in this will be set to free running.
- Sync Source
- If the synchronization can come from an external device it can be configured here. This option will usually change depending on the sync method.
- Use as Presentation Device
- Check this box to make RV use the SDI device for presentation mode.
- Output Audio to this Device
- If checked, audio will be packaged as ancillary data in the SDI frames. Otherwise, audio will be output through the selected audio device on the computer. RV currently will output audio data on the first four audio channels. Only a left and right channel is supported and each is duplicated.
- Incorporate Video Latency into Audio Offset
- If checked, the total latency as indicated in the Configure Latency dialog box will be applied to the audio offset – but only if audio is being played by the controller instead of the output device (i.e. Output Audio to this Device is not checked). This is especially useful with SDI output because the device can have up to five frames of latency. The buffer size can vary over time so RVSDI can measure and automatically add latency to the computer's audio output to aid in keeping audio synced with video. When outputting the audio in the SDI packets directly (Output Audio to this Device) then this is not an issue. If you have additional SDI devices that also buffer frames connected to the output, you may have incorporate that into the total latency in the Configure Latency dialog box.
4.1 Issues with Stereo
When using SDI stereo you do not need to set any of the stereo modes under the View → Stereo menu; you should leave this off for most situations.
The View → Stereo → Hardware mode is not only unnecessary, but can be confusing in this situation. That mode is for use only by the controller window — it has no effect on the SDI output. This mode enables Quad-Buffered Stereo which is only available with Quadro cards connected to 120 Hz or faster DVI or DisplayPort monitors.
The other stereo emulation modes (anaglyph, etc) will function with SDI when not using the dual output format. When the dual stereo output format is selected, the stereo emulation modes will output images for each eye. So for example, anaglyph will output a red left eye image and cyan right eye image for each SDI output. Right and left eye only modes will duplicate the eye on each output.
Chapter 5 Command Line Invocation
rv -presentDevice AJA/Kona3GQuad
These can also be set using the prefs by selecting the "Use as Presentation Device" check box.
The -presentVideoFormat and -presentDataFormat will search for a video or data format that contains the passed in string. So for SDI you could do:
rv -presentVideoFormat "1080p 24Hz" -presentDataFormat "Dual"
rv -presentVideoFormat "720p" -presentDataFormat "4:4:4"
rv -presentVideoFormat "720p 60Hz" -presentDataFormat "10 Bit YCrCb 4:4:4"
rv -presentAudio 1
rv -presentAudio 0