diff options
author | James Zern <jzern@google.com> | 2015-08-19 19:46:19 -0700 |
---|---|---|
committer | James Zern <jzern@google.com> | 2015-09-04 19:47:33 -0700 |
commit | 2d06b08cbaa1f69ff601e1f5b3e79411ffce0811 (patch) | |
tree | 4335476a6994e4c91617087e6f914d349ebb2c8c /vp9/decoder/vp9_decodeframe.c | |
parent | 0548046ae310a9b73febe54c494aa8a2693de94a (diff) | |
download | libvpx-2d06b08cbaa1f69ff601e1f5b3e79411ffce0811.tar libvpx-2d06b08cbaa1f69ff601e1f5b3e79411ffce0811.tar.gz libvpx-2d06b08cbaa1f69ff601e1f5b3e79411ffce0811.tar.bz2 libvpx-2d06b08cbaa1f69ff601e1f5b3e79411ffce0811.zip |
vp9/decode_tiles_mt: move some inits from inner loop
worker copies of pbi/xd/counts only need to be initialized once
Change-Id: I0081a85b9c82d39573c22d2fd2c670ec2f7b8715
Diffstat (limited to 'vp9/decoder/vp9_decodeframe.c')
-rw-r--r-- | vp9/decoder/vp9_decodeframe.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/vp9/decoder/vp9_decodeframe.c b/vp9/decoder/vp9_decodeframe.c index d81c94af8..867f9b51e 100644 --- a/vp9/decoder/vp9_decodeframe.c +++ b/vp9/decoder/vp9_decodeframe.c @@ -1643,9 +1643,14 @@ static const uint8_t *decode_tiles_mt(VP9Decoder *pbi, // Reset tile decoding hook for (n = 0; n < num_workers; ++n) { VPxWorker *const worker = &pbi->tile_workers[n]; + TileWorkerData *const tile_data = &pbi->tile_worker_data[n]; winterface->sync(worker); + tile_data->pbi = pbi; + tile_data->xd = pbi->mb; + tile_data->xd.counts = + cm->frame_parallel_decoding_mode ? NULL : &tile_data->counts; worker->hook = (VPxWorkerHook)tile_worker_hook; - worker->data1 = &pbi->tile_worker_data[n]; + worker->data1 = tile_data; worker->data2 = &pbi->tile_worker_info[n]; } @@ -1699,11 +1704,7 @@ static const uint8_t *decode_tiles_mt(VP9Decoder *pbi, TileInfo *const tile = (TileInfo*)worker->data2; TileBuffer *const buf = &tile_buffers[0][n]; - tile_data->pbi = pbi; - tile_data->xd = pbi->mb; tile_data->xd.corrupted = 0; - tile_data->xd.counts = cm->frame_parallel_decoding_mode ? - 0 : &tile_data->counts; vp9_zero(tile_data->dqcoeff); vp9_tile_init(tile, cm, 0, buf->col); vp9_tile_init(&tile_data->xd.tile, cm, 0, buf->col); |