Blackmagic Embedded Tally Control Protocol
Version 1.0 (30/04/10)
This section is for third party developers or anybody who may wish to add support for the
Blackmagic Embedded Tally Control Protocol to their products or system. It describes the
protocol for sending tally information embedded in the non-active picture region of a digital
video stream.
Data Flow
A master device such as a broadcast switcher embeds tally information into its program feed
which is broadcast to a number of slave devices such as cameras or camera controllers. The
output from the slave devices is typically fed back to the master device, but may also be sent to
a video monitor.
The primary flow of tally information is from the master device to the slaves. Each slave device
may use its device id to extract and display the relevant tally information.
Slave devices pass through the tally packet on their output and update the monitor tally status,
so that monitor devices connected to that individual output may display tally status without
knowledge of the device id they are monitoring.
Assumptions
Any data alignment / padding is explicit in the protocol. Bit fields are packed from LSB first.
Blanking Encoding
One tally control packet may be sent per video frame. Packets are encoded as a SMPTE 291M
packet with DID/SDID x51/x52 in the active region of VANC line 15. A tally control packet may
contain up to 256 bytes of tally information.
Packet Format
Each tally status consist of 4 bits of information:
uint4
bit 0:
bit 1:
bit 2-3:
The first byte of the tally packet contains the monitor device tally status and a version number.
Subsequent bytes of the tally packet contain tally status for pairs of slave devices. The
master device sends tally status for the number of devices configured/supported, up to a
maximum of 510.
struct tally
uint8
bit 0:
bit 1:
bit 2-3:
bit 4-7:
uint8[0]
bit 0:
bit 1:
bit 2-3:
bit 4:
bit 5:
bit 6-7:
program tally status (0=off, 1=on)
preview tally status (0=off, 1=on)
reserved (0x0)
monitor device program tally status (0=off, 1=on)
monitor device preview tally status (0=off, 1=on)
reserved (0b00)
protocol version (0b0000)
slave device 1 program tally status (0=off, 1=on)
slave device 1 device preview tally status (0=off, 1=on)
reserved (0b00)
slave device 2 program tally status (0=off, 1=on)
slave device 2 preview tally status (0=off, 1=on)
reserved (0b00)
Developer Information
606