Add VP9 decoder support for external frame buffers

Added support for external frame buffers to libvpx's VP9 decoder.
If the external frame buffer functions are set then libvpx will
call the get function whenever it needs a new frame buffer to
decode a frame into. And it will call the release function
whenever there are no more references to that buffer.

Change-Id: Id2934d005f606af6e052fb6db0d5b7c02f567522
This commit is contained in:
Frank Galligan
2014-02-06 17:13:08 -08:00
parent f860408911
commit a4f30a5023
14 changed files with 720 additions and 22 deletions

View File

@@ -76,6 +76,15 @@ class Decoder {
return detail ? detail : vpx_codec_error(&decoder_);
}
// Passes the external frame buffer information to libvpx.
vpx_codec_err_t SetFrameBufferFunctions(
vpx_get_frame_buffer_cb_fn_t cb_get,
vpx_release_frame_buffer_cb_fn_t cb_release, void *user_priv) {
InitOnce();
return vpx_codec_set_frame_buffer_functions(
&decoder_, cb_get, cb_release, user_priv);
}
protected:
virtual vpx_codec_iface_t* CodecInterface() const = 0;