summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2015-01-16 13:02:47 +0000
committerBen Murdoch <benm@google.com>2015-01-16 13:02:47 +0000
commit6eaf29054986a2ae8a18b3c56d42e63371dc7e3f (patch)
tree48f1a4284af2818ba90ad2e1088b25ced3612961
parent32a0cf4f842b1d152dda353e89bb0a5114b54a6c (diff)
parent715db78484f91a05fbd0584c0ed6e9d2ffc9be06 (diff)
downloadlibvpx-6eaf29054986a2ae8a18b3c56d42e63371dc7e3f.tar.gz
Merge third_party/libvpx from https://chromium.googlesource.com/chromium/deps/libvpx.git at 715db78484f91a05fbd0584c0ed6e9d2ffc9be06
This commit was generated by merge_from_chromium.py. Change-Id: I90ac6108f49e7607f35328c51ae6fde86c22e679
-rw-r--r--source/libvpx/vp9/decoder/vp9_decoder.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/libvpx/vp9/decoder/vp9_decoder.c b/source/libvpx/vp9/decoder/vp9_decoder.c
index baf6ab7..78eb36f 100644
--- a/source/libvpx/vp9/decoder/vp9_decoder.c
+++ b/source/libvpx/vp9/decoder/vp9_decoder.c
@@ -241,8 +241,19 @@ int vp9_receive_compressed_data(VP9Decoder *pbi,
cm->new_fb_idx = get_free_fb(cm);
if (setjmp(cm->error.jmp)) {
+ const VP9WorkerInterface *const winterface = vp9_get_worker_interface();
+ int i;
+
pbi->need_resync = 1;
cm->error.setjmp = 0;
+
+ // Synchronize all threads immediately as a subsequent decode call may
+ // cause a resize invalidating some allocations.
+ winterface->sync(&pbi->lf_worker);
+ for (i = 0; i < pbi->num_tile_workers; ++i) {
+ winterface->sync(&pbi->tile_workers[i]);
+ }
+
vp9_clear_system_state();
// We do not know if the missing frame(s) was supposed to update