Question

Can anyone drop me any ideas on how the VP8 encoded frames could be properly decoded in "a non sequential" order. What I mean by this is:

I.e. I have chunk of VP8 encoded frames from "1" to "X".. (An "I" frame is added every 25 frames)

If I play all my frames sequentially from "Frame 1" to "Frame 13" - everything is ok, there are no artifacts.

But let's say I'm interested in decoding only the "Frame 13"... It's not an "I" frame, so at first I'm decoding the "Frame 1" (an "I" frame) and only then "Frame 13". But frame get's decoded with some artifacs, so I'm a bit confused about what's causing this? Encoded frames

A short video displaying what I mean can be found here.

As far as I'm aware VP8 does not use any "B" frames?

Maybe there is some decoder or encoder flags that could be used to overcome this?

It looks like all VP8 encoded frames depend on each other, can this be true?

Any ideas on how i.e. video seeking is done by the WebM capable video players?

Thanks.

Was it helpful?

Solution

in one GOP, there is one I and left are P frames and as you might be knowing P frame depends on I/P frames so they don't have all the data so if you will decode only one frame from a GOP, you will only get the data in that particular frame which you are saying the artifact. The whole is only in the I frame and left all will be like this only and that's why we have GOP.

Video seeking generally goes with GOPs which vary their sizes from 1 sec to max 2-3 secs (very rarely).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top