NTV2 device FPGA firmware implements several types of Widgets for receiving, processing and transmitting video data. These can be classified as follows:
Most widgets typically have one or more registers associated with them for reporting status, or to control their operation. Rather than calling CNTV2Card::ReadRegister or CNTV2Card::WriteRegister, client applications should use the appropriate widget-related API calls in the CNTV2Card class to inquire about and/or control the widget of interest.
End-to-End (E-E) Routing
There are two demonstration applications that incorporate some E-E operation, but they’re not “pure” E-E applications — i.e., they both involve the Mixer/Keyer (see Mixer/Keyer Operation):
SD/HD YCbCr SDI End-to-End Pass-Through
This is very easy to do with AJA NTV2 devices and the SDK. Simply connect the primary (Data Stream 1) output crosspoint of the SDI Input widget to the primary (DS1) input crosspoint of the SDI Output widget.
theDevice.Connect (sdiInToSdiOut);
For E-E mode to work, other steps may need to be taken:
- Devices that have bi-directional SDI connectors must be configured correctly. The designated input SDI connector must be configured to receive, not transmit (and vice-versa for the SDI output):
if (theDevice.features().HasBiDirectionalSDI())
{
theDevice.SetSDITransmitEnable(sdiIn1, false);
theDevice.SetSDITransmitEnable(sdiOut3, true);
}
- E-E operation requires the device’s video format to match the input signal video format. (See Video Output Clocking & Synchronization for details, particulary “End-to-End” (“E-E”).)
- E-E operation requires the device’s output clock reference to be set to the SDI input. If this is not done, the output video will drift, and the video signal will look skewed. (See Video Output Clocking & Synchronization for details, particulary “End-to-End” (“E-E”).)
- To ensure embedded audio from the SDI input is also embedded into the SDI output signal:
- Be sure the SDI input’s audio de-embedder and the SDI output’s audio embedder are both tied to the same Audio System.
- Enable “loopback” on the Audio System. (See Audio System Operation for details.)
Routing for Capture
Please see the Capture Demos for examples of how to route for video input:
Routing for Playout
Please see the Playout Demos for examples of how to route for video output:
SD/HD YCbCr Playout From YCbCr Frame Buffer
theDevice.SetFrameBufferFormat (chan, fbf);
SD/HD YCbCr Playout From RGB Frame Buffer
theDevice.SetFrameBufferFormat (chan, fbf);
HD RGB Playout Over 1 × 3G Dual-Link SDI From RGB Frame Buffer
theDevice.SetFrameBufferFormat (chan, fbf);