3 ms·
Modern video codecs use motion prediction algorithms to encode the information between key frames which depends on the entire frame and the ones immediately pre
by throwup238 3y ago
Modern video codecs use motion prediction algorithms to encode the information between key frames which depends on the entire frame and the ones immediately preceding it.
You can encode the independent groups of pictures (the key frame and all the subsequent predictive frames until the next key frame) in parallel but at least with 4k video you hit memory bandwidth limitations quite quickly.
- magicalhippo 3y agoAlso, to get best compression you don't want to do key frames at even intervals, but rather when it pays off (ie large changes between two frames, like a scene change).
- geraldhh 3y agoseems rather obvious and i would imagine most encoding algos act accordingly
- magicalhippo 3y agoThe point was rather that it makes parallel encoding more difficult. With a fixed interval it is trivial, you just split the incoming stream based on the fixed rate, and let each thread work on separate intervals. With adaptive key frame placement you don't know the intervals up front, and they might have wildly different lengths. Some might be hundreds of frames, some might be just a few.
- geraldhh 3y agogood point
- bayindirh 3y agoNot always.DivX, XviD, etc. preferred constant interval key framing to battle with corruption and other transfer hazards.
- geraldhh 3y agointeresting, thanks