diff options
Diffstat (limited to 'vpx/src/vpx_decoder.c')
-rw-r--r-- | vpx/src/vpx_decoder.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/vpx/src/vpx_decoder.c b/vpx/src/vpx_decoder.c index fdcc9c1b1..802d8edd8 100644 --- a/vpx/src/vpx_decoder.c +++ b/vpx/src/vpx_decoder.c @@ -18,6 +18,10 @@ #define SAVE_STATUS(ctx,var) (ctx?(ctx->err = var):var) +static vpx_codec_alg_priv_t *get_alg_priv(vpx_codec_ctx_t *ctx) { + return (vpx_codec_alg_priv_t *)ctx->priv; +} + vpx_codec_err_t vpx_codec_dec_init_ver(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_dec_cfg_t *cfg, @@ -94,7 +98,7 @@ vpx_codec_err_t vpx_codec_get_stream_info(vpx_codec_ctx_t *ctx, si->w = 0; si->h = 0; - res = ctx->iface->dec.get_si(ctx->priv->alg_priv, si); + res = ctx->iface->dec.get_si(get_alg_priv(ctx), si); } return SAVE_STATUS(ctx, res); @@ -115,8 +119,8 @@ vpx_codec_err_t vpx_codec_decode(vpx_codec_ctx_t *ctx, else if (!ctx->iface || !ctx->priv) res = VPX_CODEC_ERROR; else { - res = ctx->iface->dec.decode(ctx->priv->alg_priv, data, data_sz, - user_priv, deadline); + res = ctx->iface->dec.decode(get_alg_priv(ctx), data, data_sz, user_priv, + deadline); } return SAVE_STATUS(ctx, res); @@ -129,7 +133,7 @@ vpx_image_t *vpx_codec_get_frame(vpx_codec_ctx_t *ctx, if (!ctx || !iter || !ctx->iface || !ctx->priv) img = NULL; else - img = ctx->iface->dec.get_frame(ctx->priv->alg_priv, iter); + img = ctx->iface->dec.get_frame(get_alg_priv(ctx), iter); return img; } @@ -185,7 +189,7 @@ vpx_codec_err_t vpx_codec_set_frame_buffer_functions( !(ctx->iface->caps & VPX_CODEC_CAP_EXTERNAL_FRAME_BUFFER)) { res = VPX_CODEC_ERROR; } else { - res = ctx->iface->dec.set_fb_fn(ctx->priv->alg_priv, cb_get, cb_release, + res = ctx->iface->dec.set_fb_fn(get_alg_priv(ctx), cb_get, cb_release, cb_priv); } |