summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_job_queue.h
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2018-12-22 09:26:29 -0500
committerJames Zern <jzern@google.com>2018-12-22 09:26:29 -0500
commit06983668cf41f66765528db044419f954e5a5d64 (patch)
treedeed743d30ea80eb8d42fc8bdecb4c2c1be79c3b /vp9/decoder/vp9_job_queue.h
parent6aa308abfb681b532c67cda0070c98d830db3549 (diff)
downloadlibvpx-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.h45
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_