diff options
author | James Zern <jzern@google.com> | 2018-12-22 09:26:29 -0500 |
---|---|---|
committer | James Zern <jzern@google.com> | 2018-12-22 09:26:29 -0500 |
commit | 06983668cf41f66765528db044419f954e5a5d64 (patch) | |
tree | deed743d30ea80eb8d42fc8bdecb4c2c1be79c3b /vp9/decoder/vp9_job_queue.h | |
parent | 6aa308abfb681b532c67cda0070c98d830db3549 (diff) | |
download | libvpx-06983668cf41f66765528db044419f954e5a5d64.tar libvpx-06983668cf41f66765528db044419f954e5a5d64.tar.gz libvpx-06983668cf41f66765528db044419f954e5a5d64.tar.bz2 libvpx-06983668cf41f66765528db044419f954e5a5d64.zip |
Revert "Add Tile-SB-Row based Multi-threading in Decoder"
This reverts commit 02b3ef7faee5be5ee519856fbb3523d3ab49f6e7.
Reason for revert: fails to build under visual studio
Original change's description:
> Add Tile-SB-Row based Multi-threading in Decoder
>
> Add the multi-thread function that decodes a video row by row instead
> of a tile at a time. Create a job queue for queueing all parse and recon jobs.
> Each SB row of a tile is a job.
>
> Performance Improvement:
>
> Platform Resolution 3 Threads 4 Threads
> ARM 720p 36.81% 18.37%
> 1080p 32.27% 14.76%
>
> ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
>
> Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e
BUG=webm:1587
Change-Id: Ia4c8f5128922a205cd9fd83aaef8a2e73764d4a7
Diffstat (limited to 'vp9/decoder/vp9_job_queue.h')
-rw-r--r-- | vp9/decoder/vp9_job_queue.h | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/vp9/decoder/vp9_job_queue.h b/vp9/decoder/vp9_job_queue.h deleted file mode 100644 index bc23bf9c2..000000000 --- a/vp9/decoder/vp9_job_queue.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2018 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef VPX_VP9_DECODER_VP9_JOB_QUEUE_H_ -#define VPX_VP9_DECODER_VP9_JOB_QUEUE_H_ - -#include "vpx_util/vpx_thread.h" - -typedef struct { - // Pointer to buffer base which contains the jobs - uint8_t *buf_base; - - // Pointer to current address where new job can be added - uint8_t *volatile buf_wr; - - // Pointer to current address from where next job can be obtained - uint8_t *volatile buf_rd; - - // Pointer to end of job buffer - uint8_t *buf_end; - - int terminate; - -#if CONFIG_MULTITHREAD - pthread_mutex_t mutex; - pthread_cond_t cond; -#endif -} JobQueueRowMt; - -void vp9_jobq_init(JobQueueRowMt *jobq, uint8_t *buf, size_t buf_size); -void vp9_jobq_reset(JobQueueRowMt *jobq); -void vp9_jobq_deinit(JobQueueRowMt *jobq); -void vp9_jobq_terminate(JobQueueRowMt *jobq); -int vp9_jobq_queue(JobQueueRowMt *jobq, void *job, size_t job_size); -int vp9_jobq_dequeue(JobQueueRowMt *jobq, void *job, size_t job_size, - int blocking); - -#endif // VPX_VP9_DECODER_VP9_JOB_QUEUE_H_ |