From: hkuang Date: Wed, 11 Jun 2014 23:06:50 +0000 (-0700) Subject: Initially add frame_parallel_decode flag. X-Git-Tag: v1.4.0~1410^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=537cb060360941e753ce30cf34a062054f3de4a5;p=libvpx Initially add frame_parallel_decode flag. Stub flag temporarily set to 0 until frame parallel decoding implementations are finished. Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea --- diff --git a/vp9/decoder/vp9_decoder.h b/vp9/decoder/vp9_decoder.h index a6edf0cbd..ab4f9a2c3 100644 --- a/vp9/decoder/vp9_decoder.h +++ b/vp9/decoder/vp9_decoder.h @@ -43,6 +43,8 @@ typedef struct VP9Decoder { int refresh_frame_flags; + int frame_parallel_decode; // frame-based threading. + VP9Worker lf_worker; VP9Worker *tile_workers; int num_tile_workers; diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c index 48110b414..98faa7f65 100644 --- a/vp9/vp9_dx_iface.c +++ b/vp9/vp9_dx_iface.c @@ -39,6 +39,7 @@ struct vpx_codec_alg_priv { void *decrypt_state; vpx_image_t img; int invert_tile_order; + int frame_parallel_decode; // frame-based threading. // External frame buffer info to save for VP9 common. void *ext_priv; // Private data associated with the external frame buffers. @@ -66,6 +67,11 @@ static vpx_codec_err_t decoder_init(vpx_codec_ctx_t *ctx, ctx->priv->alg_priv = alg_priv; ctx->priv->alg_priv->si.sz = sizeof(ctx->priv->alg_priv->si); ctx->priv->init_flags = ctx->init_flags; + ctx->priv->alg_priv->frame_parallel_decode = + (ctx->init_flags & VPX_CODEC_USE_FRAME_THREADING); + + // Disable frame parallel decoding for now. + ctx->priv->alg_priv->frame_parallel_decode = 0; if (ctx->config.dec) { // Update the reference to the config structure to an internal copy. @@ -231,6 +237,7 @@ static void init_decoder(vpx_codec_alg_priv_t *ctx) { ctx->pbi->max_threads = ctx->cfg.threads; ctx->pbi->inv_tile_order = ctx->invert_tile_order; + ctx->pbi->frame_parallel_decode = ctx->frame_parallel_decode; // If postprocessing was enabled by the application and a // configuration has not been provided, default it.