| Index: source/libvpx/vpx/src/vpx_decoder.c
|
| ===================================================================
|
| --- source/libvpx/vpx/src/vpx_decoder.c (revision 240950)
|
| +++ source/libvpx/vpx/src/vpx_decoder.c (working copy)
|
| @@ -172,7 +172,7 @@
|
| if (!ctx || !cb)
|
| res = VPX_CODEC_INVALID_PARAM;
|
| else if (!ctx->iface || !ctx->priv
|
| - || !(ctx->iface->caps & VPX_CODEC_CAP_PUT_FRAME))
|
| + || !(ctx->iface->caps & VPX_CODEC_CAP_PUT_SLICE))
|
| res = VPX_CODEC_ERROR;
|
| else {
|
| ctx->priv->dec.put_slice_cb.u.put_slice = cb;
|
| @@ -226,3 +226,22 @@
|
|
|
| return SAVE_STATUS(ctx, res);
|
| }
|
| +
|
| +vpx_codec_err_t vpx_codec_set_frame_buffers(
|
| + vpx_codec_ctx_t *ctx,
|
| + vpx_codec_frame_buffer_t *fb_list, int fb_count,
|
| + vpx_realloc_frame_buffer_cb_fn_t cb, void *user_priv) {
|
| + vpx_codec_err_t res;
|
| +
|
| + if (!ctx || !fb_list || fb_count <= 0 || !cb) {
|
| + res = VPX_CODEC_INVALID_PARAM;
|
| + } else if (!ctx->iface || !ctx->priv ||
|
| + !(ctx->iface->caps & VPX_CODEC_CAP_EXTERNAL_FRAME_BUFFER)) {
|
| + res = VPX_CODEC_ERROR;
|
| + } else {
|
| + res = ctx->iface->dec.set_fb(ctx->priv->alg_priv, fb_list, fb_count,
|
| + cb, user_priv);
|
| + }
|
| +
|
| + return SAVE_STATUS(ctx, res);
|
| +}
|
|
|