Evaluation Kit API Toolkit


The API Evaluation Toolkit is a collection of scripts that simplify API register reads/writes into text-based commands. The tool supports up to two boards (encoder and decoder) to be connected simultaneously. It auto-detects carrier-boards connected, and auto-configures IP addresses to get you started quickly.

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

uninstall, simply remove the container folder. The intallation does not store any files outside of the main folder.

Getting Started

  1. Connect codec module(s) to carrier board(s), the module type (encoder/decider) must match the carrier.
  2. Connect cables
    • Power
    • Ethernet cable carrier board(s) to a network switch or router (or Encoder to Decoder directly)
    • mini-USB to PC with API Toolkit for API access
    • HDMI cable from PC to Encoder HDMI input port
  3. Power-on the Encoder and/or Decoder boards
  4. Start api_run.bat or type rescan in already open terminal
  5. Enter command e-pc 1 - video should start playing


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 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 = half frame-rate)
vbr [target] Target bitrate (VBR)
cbr [target] Target and maximum bitrate (CBR)
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