summaryrefslogtreecommitdiff
path: root/vp8
diff options
context:
space:
mode:
Diffstat (limited to 'vp8')
-rw-r--r--vp8/vp8_cx_iface.c24
-rw-r--r--vp8/vp8_dx_iface.c52
2 files changed, 35 insertions, 41 deletions
diff --git a/vp8/vp8_cx_iface.c b/vp8/vp8_cx_iface.c
index 1654cd821..5be645c71 100644
--- a/vp8/vp8_cx_iface.c
+++ b/vp8/vp8_cx_iface.c
@@ -620,7 +620,6 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,
{
vpx_codec_err_t res = VPX_CODEC_OK;
struct vpx_codec_alg_priv *priv;
- struct VP8_COMP *optr;
vp8_rtcd();
@@ -633,9 +632,8 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,
return VPX_CODEC_MEM_ERROR;
}
- ctx->priv = &priv->base;
- ctx->priv->sz = sizeof(*ctx->priv);
- ctx->priv->alg_priv = priv;
+ ctx->priv = (vpx_codec_priv_t *)priv;
+ ctx->priv->sz = sizeof(struct vpx_codec_alg_priv);
ctx->priv->init_flags = ctx->init_flags;
if (ctx->config.enc)
@@ -643,11 +641,10 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,
/* Update the reference to the config structure to an
* internal copy.
*/
- ctx->priv->alg_priv->cfg = *ctx->config.enc;
- ctx->config.enc = &ctx->priv->alg_priv->cfg;
+ priv->cfg = *ctx->config.enc;
+ ctx->config.enc = &priv->cfg;
}
-
priv->vp8_cfg = default_extracfg;
priv->vp8_cfg.pkt_list = &priv->pkt_list.head;
@@ -671,17 +668,10 @@ static vpx_codec_err_t vp8e_init(vpx_codec_ctx_t *ctx,
if (!res)
{
- set_vp8e_config(&ctx->priv->alg_priv->oxcf,
- ctx->priv->alg_priv->cfg,
- ctx->priv->alg_priv->vp8_cfg,
- mr_cfg);
-
- optr = vp8_create_compressor(&ctx->priv->alg_priv->oxcf);
-
- if (!optr)
+ set_vp8e_config(&priv->oxcf, priv->cfg, priv->vp8_cfg, mr_cfg);
+ priv->cpi = vp8_create_compressor(&priv->oxcf);
+ if (!priv->cpi)
res = VPX_CODEC_MEM_ERROR;
- else
- ctx->priv->alg_priv->cpi = optr;
}
}
diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c
index 05f32ba20..282032055 100644
--- a/vp8/vp8_dx_iface.c
+++ b/vp8/vp8_dx_iface.c
@@ -80,29 +80,32 @@ static unsigned long vp8_priv_sz(const vpx_codec_dec_cfg_t *si, vpx_codec_flags_
static void vp8_init_ctx(vpx_codec_ctx_t *ctx)
{
- ctx->priv =
- (vpx_codec_priv_t *)vpx_memalign(8, sizeof(vpx_codec_alg_priv_t));
- vpx_memset(ctx->priv, 0, sizeof(vpx_codec_alg_priv_t));
+ vpx_codec_alg_priv_t *priv =
+ (vpx_codec_alg_priv_t *)vpx_memalign(8, sizeof(*priv));
+ vpx_memset(priv, 0, sizeof(*priv));
+
+ ctx->priv = (vpx_codec_priv_t *)priv;
ctx->priv->sz = sizeof(*ctx->priv);
- ctx->priv->alg_priv = (vpx_codec_alg_priv_t *)ctx->priv;
- ctx->priv->alg_priv->si.sz = sizeof(ctx->priv->alg_priv->si);
- ctx->priv->alg_priv->decrypt_cb = NULL;
- ctx->priv->alg_priv->decrypt_state = NULL;
- ctx->priv->alg_priv->flushed = 0;
ctx->priv->init_flags = ctx->init_flags;
+ priv->si.sz = sizeof(priv->si);
+ priv->decrypt_cb = NULL;
+ priv->decrypt_state = NULL;
+ priv->flushed = 0;
+
if (ctx->config.dec)
{
/* Update the reference to the config structure to an internal copy. */
- ctx->priv->alg_priv->cfg = *ctx->config.dec;
- ctx->config.dec = &ctx->priv->alg_priv->cfg;
+ priv->cfg = *ctx->config.dec;
+ ctx->config.dec = &priv->cfg;
}
}
static vpx_codec_err_t vp8_init(vpx_codec_ctx_t *ctx,
vpx_codec_priv_enc_mr_cfg_t *data)
{
- vpx_codec_err_t res = VPX_CODEC_OK;
+ vpx_codec_err_t res = VPX_CODEC_OK;
+ vpx_codec_alg_priv_t *priv = NULL;
(void) data;
vp8_rtcd();
@@ -114,29 +117,30 @@ static vpx_codec_err_t vp8_init(vpx_codec_ctx_t *ctx,
if (!ctx->priv)
{
vp8_init_ctx(ctx);
+ priv = (vpx_codec_alg_priv_t *)ctx->priv;
/* initialize number of fragments to zero */
- ctx->priv->alg_priv->fragments.count = 0;
+ priv->fragments.count = 0;
/* is input fragments enabled? */
- ctx->priv->alg_priv->fragments.enabled =
- (ctx->priv->alg_priv->base.init_flags &
- VPX_CODEC_USE_INPUT_FRAGMENTS);
+ priv->fragments.enabled =
+ (priv->base.init_flags & VPX_CODEC_USE_INPUT_FRAGMENTS);
/*post processing level initialized to do nothing */
}
+ else
+ {
+ priv = (vpx_codec_alg_priv_t *)ctx->priv;
+ }
- ctx->priv->alg_priv->yv12_frame_buffers.use_frame_threads =
- (ctx->priv->alg_priv->base.init_flags &
- VPX_CODEC_USE_FRAME_THREADING);
+ priv->yv12_frame_buffers.use_frame_threads =
+ (ctx->priv->init_flags & VPX_CODEC_USE_FRAME_THREADING);
/* for now, disable frame threading */
- ctx->priv->alg_priv->yv12_frame_buffers.use_frame_threads = 0;
+ priv->yv12_frame_buffers.use_frame_threads = 0;
- if(ctx->priv->alg_priv->yv12_frame_buffers.use_frame_threads &&
- (( ctx->priv->alg_priv->base.init_flags &
- VPX_CODEC_USE_ERROR_CONCEALMENT)
- || ( ctx->priv->alg_priv->base.init_flags &
- VPX_CODEC_USE_INPUT_FRAGMENTS) ) )
+ if (priv->yv12_frame_buffers.use_frame_threads &&
+ ((ctx->priv->init_flags & VPX_CODEC_USE_ERROR_CONCEALMENT) ||
+ (ctx->priv->init_flags & VPX_CODEC_USE_INPUT_FRAGMENTS)))
{
/* row-based threading, error concealment, and input fragments will
* not be supported when using frame-based threading */