I'm working to make an application to read VANC data from the SDI input of my Black Magic DeckLink Studio card. I have used Black Magic Design to set lines 1, 2 and 3 with Line 9 VANC Data. I have a simple DirectShow filter that takes the the first line of data and outputs the first 200 pixels luma values into a text file. The values aren't what I expect them to be but more bizarre is I see variations in the data where I would expect there to be none. For instance I see 0x51,0x51,0x51,0x51 then all the sudden I'll see a 0x50 when no change should have occurred. I thought there was some interference and a bit got flipped somewhere along the way. But then I'll see 0x7F 0X7F, 0X80, which is not a bit flip but more so a rounding of 0x7f to 0x80. The final oddity is that my source is 59.94 and but I only get exactly 30 FPS in my graph.
If you're looking at closed-caption information, and possibly other VANC data,
you'll need to use a 10 bit mode. The CC data has eight significant bits (and
two check bits), but they're at the opposite end of the 10 bit word than the
active picture and get stripped in the 10 to 8 bit conversion.
Please contact Blackmagic Developer Support at email@example.com for
any DirectShow or other development related issues.
It's a little tricky because the luma and chroma data positions alternate every four byte word. I chunked out the stream as an array of int's alternating between extracting one bye and two byte based on the modulo of the position.
One other thing is that in order to get every byte its fairly hardware intensive I modified my graph so that no video is displayed and I still drop frames when I move a window or basically anything else.