diff options
author | Yunqing Wang <yunqingwang@google.com> | 2016-03-22 10:54:43 -0700 |
---|---|---|
committer | Yunqing Wang <yunqingwang@google.com> | 2016-03-22 16:15:12 -0700 |
commit | dc5f7712f234af8b7e1123610f2569bf54c65684 (patch) | |
tree | c50ad907442a98f9f630328bf87650a84ab2cb73 /vpxenc.c | |
parent | bfc2a7e3a04908e5d82f656bf1723ad4eddff986 (diff) | |
download | libvpx-dc5f7712f234af8b7e1123610f2569bf54c65684.tar libvpx-dc5f7712f234af8b7e1123610f2569bf54c65684.tar.gz libvpx-dc5f7712f234af8b7e1123610f2569bf54c65684.tar.bz2 libvpx-dc5f7712f234af8b7e1123610f2569bf54c65684.zip |
Prevent encoder crash caused by row tile dependencies
In multi-thread case, the encoder may crash if using encoder option
tile-rows > 0. To prevent that, force tile-rows=0 in this situation.
This is a workaround for WebM issue 1095:
https://bugs.chromium.org/p/webm/issues/detail?id=1095
The further fix can be done by adding synchronizations after a tile
row is encoded. But this will hurt multi-threaded encoder performance.
So, it is recommended to use tile-rows=0 while encoding with threads
> 1.
Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
Diffstat (limited to 'vpxenc.c')
-rw-r--r-- | vpxenc.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -380,7 +380,8 @@ static const arg_def_t cpu_used_vp9 = ARG_DEF( static const arg_def_t tile_cols = ARG_DEF( NULL, "tile-columns", 1, "Number of tile columns to use, log2"); static const arg_def_t tile_rows = ARG_DEF( - NULL, "tile-rows", 1, "Number of tile rows to use, log2"); + NULL, "tile-rows", 1, + "Number of tile rows to use, log2 (set to 0 while threads > 1)"); static const arg_def_t lossless = ARG_DEF( NULL, "lossless", 1, "Lossless mode (0: false (default), 1: true)"); static const arg_def_t frame_parallel_decoding = ARG_DEF( |