
Ancillary Data
Quadro SDI Output PG-03776-001_v06 | 35
sample = ((C & 0x1) << 25) | // AES channel status (C) bit
((U & 0x1) << 24) | // AES user data (U) bit
((V & 0x1) << 23) | // AES sample validity (V) bit
((((NvU32)(*input)) & 0xffff) << 7); // AES sample data
// Add Z / block sync
if (curFrame == 0) {
sample |= (0x1 << 0); // AES block sync (Z bit)
}
The channel numbers are added and the 26-bit even parity are computed by the Quadro
SDI output device prior to embedding the audio data into the Quadro SDI output
stream.
6.4.2 SMPTE 299M – High Definition Audio
SMPTE 299M specifies that up to 24-bits of audio data along with the block sync (Z),
validity (V), user (U), and channel (C) as well as parity (P) bits be packed into four 10-bit
ancillary data words. The API requires that this audio data and related bits sans the
parity bits be packaged into a single 32-bit value for passing to the Quadro SDI output
device. The parity bits are computed by the Quadro SDI output device. This packaging
is shown in Code Listing 33.
Code Listing 33: Formatting SMPTE 299M Audio Data
// HD Audio should be split across 4 ANC words like so:
//
// UDWx:
// b9 - !b8 (Computed by HW)
// b8 - Even parity of b0-b7 (Computed by HW)
// b7 (b7) - aud 3
// b6 (b6) - aud 2
// b5 (b5) - aud 1
// b4 (b4) - aud 0 (LSB)
// b3 (b3) - Z
// b2 (b2) - 0
// b1 (b1) - 0
// b0 (b0) - 0
//
// UDWx+1:
// b9 - !b8 (Computed by HW)
// b8 - Even parity of b0-b7 (Computed by HW)
// b7 (b15) - aud 11
// b6 (b14) - aud 10
// b5 (b13) - aud 9
// b4 (b12) - aud 8
// b3 (b11) - aud 7
// b2 (b10) - aud 6
// b1 (b9) - aud 5
// b0 (b8) - aud 4
//
Comentários a estes Manuais