Hi,
On Fri, Sep 30, 2016 at 7:26 AM, <
tanguy...@hotmail.com> wrote:
> Hello,
>
> I'm trying to implement a webm video decoder on an embedded device.
> Because resources are scarce, I'm coding my own webm container demuxer, and
> then using the libvpx decoder to decode the frames.
>
> I have a few questions about libvpx:
>
> 1) Can you force the decoder to always output the decoded frames in a
> certain format (eg: VPX_IMG_FMT_I420 or VPX_IMG_FMT_RGB24)
> - If you can't force this setting, will it always be the same inside
> of one video/file?
>
The decoder will output what's appropriate for the profile
(420/422/444/440). For 8-bit video 420 is the only output, you can't
request a conversion, the other formats are an anachronism.
> 2) The documentation isn't clear on whether there is only one encoded frame
> in a simpleblock structure, or if there can be multiple.
> - If the answer is multiple, can they be interlaced?
>
There's only one displayable frame for each simpleblock. The decoder
can handle multiple frames as packed in a vp9 superframe which is
usually 1 alternate reference frame (non-displayable) and 1 dependent
(displayable) frame.
> 3) If the frames are stored in Decoding Order, but the decoder outputs them
> in Displaying order; How do I know if I've given enough frames to the
> decoder? Or how does the decoder know that there isn't another frame that
> needs to be shown first, but that it has not received yet?
>
There's no frame reordering in vp8 and vp9. In vp8's case if you
provide a non-displayable frame (alternate reference) as input you
won't receive any output and should proceed to the next frame.