I am using the MSDK for decoding. I am passing complete frames to the decoder and I expect the timestamps I provide to the bitstream to match those that come out of the decoder. So far this has worked well, but recently I feed much larger values than before and perhaps this is not handled well.
So for each frame, I do the following on the bitstream:
m_bitStream->DataFlag |= MFX_BITSTREAM_COMPLETE_FRAME;
m_bitStream->TimeStamp = reference;
Where reference is a C++ long long (signed 64-bit integer). With the following input sequence of 2 frames:
The first frame output by the decoder has the following timestamp:
Which almost matches the first input but is off by 4. This is very strange and I have not encountered this before. This code used to work fine with lower values. I really need output values to match input values so that I can associate output frames with their corresponding input frame.