diff options
author | Vignesh Venkatasubramanian <vigneshv@google.com> | 2016-11-29 16:28:47 -0800 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2017-01-20 13:45:23 -0800 |
commit | e7da1ede8792cfd44789f9204b56272cdcbd8423 (patch) | |
tree | 00600826f981928fc8a74e6f41e1cbf2be08fcb2 | |
parent | 0603d0cb98502451ddf696cb538da625ec0e3b48 (diff) | |
download | libvpx-android-7.1.1_r33.tar.gz |
libvpx: Cherry-pick 1961a92 from upstreamandroid-7.1.1_r39android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r24
Description from upstream:
vp9,tile_worker_hook: correctly set jmp target
vp9_init_macroblockd() resets the error_info to cm's global copy; this
needs to be set to the thread-level target to avoid jumping to the
incorrect stack, resulting in hang or crash.
broken since:
1f4a6c8 vp9/tile_worker_hook: add multiple tile decoding
includes v1.5.0, v1.6.0
Bug: 32589224
Change-Id: Iab62663fcfa9db2a5ef4bb8de6d9ef1c17d0c882
(cherry picked from commit d620aa3a2907f6bf218425c98c89426036c80e47)
(cherry picked from commit 57e9ae1497cab99b0c87847a64055242deb396df)
-rw-r--r-- | libvpx/vp9/decoder/vp9_decodeframe.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libvpx/vp9/decoder/vp9_decodeframe.c b/libvpx/vp9/decoder/vp9_decodeframe.c index f1916639b..d0ba63136 100644 --- a/libvpx/vp9/decoder/vp9_decodeframe.c +++ b/libvpx/vp9/decoder/vp9_decodeframe.c @@ -1585,7 +1585,6 @@ static int tile_worker_hook(TileWorkerData *const tile_data, return 0; } - tile_data->xd.error_info = &tile_data->error_info; tile_data->xd.corrupted = 0; do { @@ -1597,6 +1596,8 @@ static int tile_worker_hook(TileWorkerData *const tile_data, &tile_data->error_info, &tile_data->bit_reader, pbi->decrypt_cb, pbi->decrypt_state); vp9_init_macroblockd(&pbi->common, &tile_data->xd, tile_data->dqcoeff); + // init resets xd.error_info + tile_data->xd.error_info = &tile_data->error_info; for (mi_row = tile->mi_row_start; mi_row < tile->mi_row_end; mi_row += MI_BLOCK_SIZE) { |