- Posts: 4
- Joined: Wed Jun 19, 2013 1:17 am
Hey folks,
Sorry if this isn't quite the appropriate place, but my question isn't platform-specific, so I thought the 'off-topic' forum might be best. Some preliminary info: I'm using a DeckLink Duo. I've written an application to read an image stream from disk and output it as video over the SDI interface, and another application which receives that frame using the Duo card's other SDI interface, unpacks it and shows it to the screen. I've been using the 720p60 video format, which I manually pack/unpack into the 10BitYUV pixel format shown in the SDK. Everything is working well so far except for the ancillary data... I've been unable to properly embed timecodes. My current program creates a frame, called nextFrame, like so:
It then packs the buffer with the image data. After that it creates an ancillary object and attaches it as well, (checking for HRESULT == S_OK all the way, of course). I then manually define the 'hours', 'minutes', 'seconds', and 'frames' components of the time code and set it using:
Anybody out there that's done something like this before? Thanks in advance to anybody reading this.
Sorry if this isn't quite the appropriate place, but my question isn't platform-specific, so I thought the 'off-topic' forum might be best. Some preliminary info: I'm using a DeckLink Duo. I've written an application to read an image stream from disk and output it as video over the SDI interface, and another application which receives that frame using the Duo card's other SDI interface, unpacks it and shows it to the screen. I've been using the 720p60 video format, which I manually pack/unpack into the 10BitYUV pixel format shown in the SDK. Everything is working well so far except for the ancillary data... I've been unable to properly embed timecodes. My current program creates a frame, called nextFrame, like so:
- Code: Select all
dlOutput->CreateVideoFrame(frameWidth,frameHeight,bytesPerRow,bmdFormat10BitYUV,bmdVideoOutputVITC,&nextFrame);
It then packs the buffer with the image data. After that it creates an ancillary object and attaches it as well, (checking for HRESULT == S_OK all the way, of course). I then manually define the 'hours', 'minutes', 'seconds', and 'frames' components of the time code and set it using:
- Code: Select all
nextFrame->SetTimecodeFromComponents(bmdTimecodeVITC,hours,minutes,seconds,frames,bmdTimecodeFlagDefault
- Code: Select all
nextFrame->GetTimecode(bmdTimecodeVITC,&timecode);
timecode->GetComponents(...);
Anybody out there that's done something like this before? Thanks in advance to anybody reading this.