I'm struggling with the implementation of the reverse playback feature of a
video playback engine. I use ffmpeg's libavcodec and MPEG4 encoded videos.
My idea is to decode the video from the last I-frame before the current frame
to the current frame. If gopsize is high then it can consume much memory so I
store every 8th frame in a list and in an other list store the frames between
the actual two "8-frames" of the first list. But the result isn't acceptable.
I think that the internal states of the codec (context) should be stored
somehow, but I don't know how. What is if the P or B-frames are encoded to the
last I-frame not the P-frame?
Could anybody point me on the right solution or give me links?