Evaluation Kit API Toolkit


The API Evaluation Toolkit is software tool for accessing the API of the Carrier Board and Module over UART. The toolkit supports up to two boards connected simultaneously (ex. encoder and decoder). It auto-detects boards connected via UART, and auto-configures IP addresses to get you started quickly.

Download Download Evaluation Kit API Toolkit (.zip)

Install & Run

  1. Extract the contents of the .zip into a folder
  2. Run "api_install.bat"
  3. Run "api_run.bat"

Uninstall/Remove

remove, delete the folder where the archive was extracted. The intallation does not store any files outside of the folder.

Getting Started

  1. Connect codec module(s) to carrier board(s), the module type (encoder/decider) must match the carrier.
  2. Connect cables
    • mini-USB to the PC running this API Toolkit
    • Ethernet cable - carrier board(s) to a network switch, or router, or directly between boards.
    • Encoder HDMI INPUT to a video source (ex. PC, media player)
    • Decoder HDMI OUTPUT to a display (ex. TV, monitor)
    • Power Cable
  3. Power-on the Encoder and/or Decoder boards
  4. Start api_run.bat or type rescan in an open API Toolkit window.
  5. Enter command e-pc 1 - video should start playing.
  6. If player does not start, you can start it manuallyVLC
    1. open VLC > Open Network Stream...
    2. input "udp://@:1234", click "Play".
    FFPLAY
    1. In a CMD terminal run "ffplay.exe -i udp://0.0.0.0:1234"

Troubleshooting
Board does not connect to the network. (No stream received)
It may be that the network speed Jumper setting does not match the network (100mbps/1gbps). Check the Quick-start guide.


Commands Quick-reference

CommandDescription
rescan Close open ports, scan for valid boards.
e Select Encoder as the API target.
d Select Decoder as the API target.
pc [manual_ip]PC's local IP address - If not detected, may be manually set with this cmd.
e-pc [and_play?] Encoder to PC - Configure Encoder board to send stream to PC (open with VLC). If and_play=1 given, play the stream using VLC/FFPLAY.
e-d Encoder to Decoder - Read IP address of Decoder board, configure Encoder board to send stream to Decoder board.
listList the detected API endpoints.

Please note that command parameters are usually optional. When parameter is given, the value is written; when no parameter is provided, the current value is read back.

Encoder-specific Commands

First set API target to Encoder with the "e" command.

CommandDescription
rx [[A.B.C.D][:port]] Board IP address (receiving streams)
tx [[A.B.C.D][:port]] Stream destination IP address (sending streams)
rst Reset encoder core
  • latency [[milliseconds]ms]
  • latency [val] //(in units of 2.48ms)
PCR offset (decode time allowance per frame)
res [[width]x[height]] Check detected resolution, or crop from top-left
fps Read detected frame-rate
decimate [[keep]/[total]] Skip frames (ex. 1/2 = skip every 2nd, 1/3 = skip every 3rd)
vbr [bitrate_mbps] Set target bitrate (called VBR, but implementation is really CRF - encoder is adjuted to meet the target bitrate)
cbr [bitrate_mbps] [null] Set a bitrate ceiling, with optional null padding bytes.
cqp [qp 0-51] Contant-QP
chroma [420/422] Chroma format (4:2:0 or 4:2:2) (if supported)
depth [8/10] Bit-depth 8bit or 10bit (if supported)
gop [value] Set the group-of-pictures [value] values:
  • gop std - standard (default) (1 i-frame, 15 p-frames)
  • gop ionly - i-frame only
  • gop islice - i-sliced-p-frame (no i-frames)
  • gop [length] - GOP length (1 I-frame, [length-1] P-frames)
isize [0-15] I-frame size factor relative to baseline bitrate
stats Print a summary of Encoder paramaters

Decoder-specific Commands

First set API target to Decoder with the "d" command.

CommandDescription
rx [[A.B.C.D][:port]] Board IP address (receiving streams)

Advanced Encoder/Decoder Commands

CommandDescription
r <prefix><address> // or "rd"
  • r 00<address> - Read register on carrier board.
  • r 01<address> - Read register on module.
w <prefix><address> <value>[.d|.h|.b] // or "wr"
  • w 00<address> <value> - Write hex value to register on carrier board
  • w 01<address> <value> - Write hex value to register on module
  • w <prefix><address> <value>.d - Write decimal value to register
  • w <prefix><address> <value>.b - Write binary value to register
.<command>Direct serial command - prefix "." to send string directly (ex. r00aa)

Support


  • Telephone/email support
  • IP Core updates/maintenance subscription