Hi list,
I've always wondered how seeking works when reading a video file that is encoded with a variable bitrate. I understand that, if there are I frames and P frames, it always has to seek the last I frame before the frames you need to seek and then decode from there, but even so, how does it know what's the position in the file of that I frame, if the bitrate is not constant?
So even considering a codec with all I frames (such as MJPEG), if each frame occupies a different number of bytes, how does it know where to read? Does it seek at an approximate position based on an average bitrate and then correct? Or is there some sort of table at the beginning of the file?
By the way, I encoded a file with MJPEG and the only setting I could change was a "quality" setting, so I guess the resulting bitrate is not constant, is it?
thanks m.