Page 1 of 1

Clock reference comparison in/out

PostPosted: Tue Jul 17, 2018 12:45 pm
by Alvaro
Hi all,
My company is designing a test bench to verify some video requirements from our systems. We have already used Decklink Quad 2 in other projects, but this time we need one particular capability and I would like to confirm that Quad 2 (or Duo 2) can fit.

Is it possible to verify that the clock reference of 1 input video signal matches the frequency and phase of 1 output signal?

I have gone over the SDK information and I wonder if I can do that with these methods:
- IDeckLinkInput::GetHardwareReferenceClock
- IDeckLinkOutput::GetHardwareReferenceClock


I cannot understand clearly what is the information provided through the output parameters: hardwareTime, timeInFrame and ticksPerFrame. Could you explain further, please?

Is there any other method we should use instead of this?

On the other hand. would it be necessary to plug some Genlock to REF IN?

Thanks in advance
KR
Alvaro

Re: Clock reference comparison in/out

PostPosted: Fri Jul 27, 2018 3:51 am
by Cameron Nichols
Hi Alvaro,

The only way you can guarantee that the input and output are phase aligned is with external reference in.

The GetHardwareReferenceClock timestamps are based on the system time captured by the DeckLink driver. It does not account for time delays for the card to capture the frame, nor system delays via PCIe. As such GetHardwareReferenceClock should only be used for long term average stream times or assessing potential bottlenecks that may arise from callback function handling.

Regards
Cameron

Re: Clock reference comparison in/out

PostPosted: Mon Aug 13, 2018 2:05 pm
by Alvaro
Hi Cameron,

First of all, thank you for your answer. I think I undertand now the purpose of the method GetReferenceHardwareClock.

Nevertheless, when I said that I need to "verify that the clock reference of 1 input video signal matches the frequency and phase of 1 output signal" I meant that there are two possible scenarios:

1. The input is synchronized with the output
2. The input is not synchronized with the output

and I need to know in which of these two scenarios we are at each moment.

Do you think that is feasible?

Thank you again
Regards
Alvaro