Is there any way to setup the decoder to perform "trick play" such as you would find on any modern DVR? For example, I would like to play back 1080p video at 32x speed or play it in reverse. I think for the high-speed playback, we would need some way to setup the decoder so it skips certain frames without decoding them to speed it up. For very high speeds, it should just return I-frames. For slower speeds, it should skip b-frames. If we're only decoding I-frames, then reverse playback would also be simple since there are no inter-frame dependencies to deal with.
Intel Media SDK does not provide specific controls for "trick play", but the decoder API has a call named "SetSkipMode" which can be used to achieve fast forward behavior as you described.
There are no features in the Media SDK API designed for backwards playback. Such feature would have the be implemented in application layer. For suggestions on how to implement stream repositioning, please refer to the Media SDK Developers Guide document which is part of the SDK package.
Somehow I missed that SetSkipMode() function when reading the manual. That should work fine for what I need.
I'll have to see how well reverse playback works by constantly repositioning the stream manually on i-frames and re-ordering the frames before display.
Thanks for your help.