diff options
author | James Zern <jzern@google.com> | 2014-06-27 17:31:01 -0700 |
---|---|---|
committer | James Zern <jzern@google.com> | 2014-06-27 19:46:27 -0700 |
commit | 749e0c7b2883139afa14b4886bbd6a940d021f4f (patch) | |
tree | 330d214b21a9353e4dc6f799c399ff044531527b /vp9/decoder | |
parent | 83269ff8ff1b17ebf5abffafd56d1bbf04420f21 (diff) | |
download | libvpx-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.c | 9 | ||||
-rw-r--r-- | vp9/decoder/vp9_dthread.h | 17 |
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); |