summaryrefslogtreecommitdiff
path: root/vp9/decoder
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2014-06-27 17:31:01 -0700
committerJames Zern <jzern@google.com>2014-06-27 19:46:27 -0700
commit749e0c7b2883139afa14b4886bbd6a940d021f4f (patch)
tree330d214b21a9353e4dc6f799c399ff044531527b /vp9/decoder
parent83269ff8ff1b17ebf5abffafd56d1bbf04420f21 (diff)
downloadlibvpx-749e0c7b2883139afa14b4886bbd6a940d021f4f.tar
libvpx-749e0c7b2883139afa14b4886bbd6a940d021f4f.tar.gz
libvpx-749e0c7b2883139afa14b4886bbd6a940d021f4f.tar.bz2
libvpx-749e0c7b2883139afa14b4886bbd6a940d021f4f.zip
Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""
This reverts commit b336356198b8ada50fbb59f04f11cefceaf5ff95. This causes a hang in: VP9/InvalidFileTest.ReturnCode/3 the change to test/user_priv_test.cc remains with a minor update Change-Id: I4a8a272ca37ea329b0f413f0b1cd827a238bd9fd
Diffstat (limited to 'vp9/decoder')
-rw-r--r--vp9/decoder/vp9_decoder.c9
-rw-r--r--vp9/decoder/vp9_dthread.h17
2 files changed, 2 insertions, 24 deletions
diff --git a/vp9/decoder/vp9_decoder.c b/vp9/decoder/vp9_decoder.c
index 245c5f195..84cb84aec 100644
--- a/vp9/decoder/vp9_decoder.c
+++ b/vp9/decoder/vp9_decoder.c
@@ -210,10 +210,7 @@ static void swap_frame_buffers(VP9Decoder *pbi) {
}
cm->frame_to_show = get_frame_new_buffer(cm);
-
- if (!pbi->frame_parallel_decode || !cm->show_frame) {
- --cm->frame_bufs[cm->new_fb_idx].ref_count;
- }
+ cm->frame_bufs[cm->new_fb_idx].ref_count--;
// Invalidate these references until the next frame starts.
for (ref_index = 0; ref_index < 3; ref_index++)
@@ -242,9 +239,7 @@ int vp9_receive_compressed_data(VP9Decoder *pbi,
}
// Check if the previous frame was a frame without any references to it.
- // Release frame buffer if not decoding in frame parallel mode.
- if (!pbi->frame_parallel_decode && cm->new_fb_idx >= 0
- && cm->frame_bufs[cm->new_fb_idx].ref_count == 0)
+ if (cm->new_fb_idx >= 0 && cm->frame_bufs[cm->new_fb_idx].ref_count == 0)
cm->release_fb_cb(cm->cb_priv,
&cm->frame_bufs[cm->new_fb_idx].raw_frame_buffer);
cm->new_fb_idx = get_free_fb(cm);
diff --git a/vp9/decoder/vp9_dthread.h b/vp9/decoder/vp9_dthread.h
index 01c07f1a0..a727e2aef 100644
--- a/vp9/decoder/vp9_dthread.h
+++ b/vp9/decoder/vp9_dthread.h
@@ -40,23 +40,6 @@ typedef struct VP9LfSyncData {
int sync_range;
} VP9LfSync;
-// WorkerData for the FrameWorker thread. It contains all the information of
-// the worker and decode structures for decoding a frame.
-typedef struct FrameWorkerData {
- struct VP9Decoder *pbi;
- const uint8_t *data;
- const uint8_t *data_end;
- size_t data_size;
- void *user_priv;
- int result;
- int worker_id;
-
- // scratch_buffer is used in frame parallel mode only.
- // It is used to make a copy of the compressed data.
- uint8_t *scratch_buffer;
- size_t scratch_buffer_size;
-} FrameWorkerData;
-
// Allocate memory for loopfilter row synchronization.
void vp9_loop_filter_alloc(struct VP9Common *cm, VP9LfSync *lf_sync,
int rows, int width);