summaryrefslogtreecommitdiff
path: root/vpxenc.c
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2016-03-22 10:54:43 -0700
committerYunqing Wang <yunqingwang@google.com>2016-03-22 16:15:12 -0700
commitdc5f7712f234af8b7e1123610f2569bf54c65684 (patch)
treec50ad907442a98f9f630328bf87650a84ab2cb73 /vpxenc.c
parentbfc2a7e3a04908e5d82f656bf1723ad4eddff986 (diff)
downloadlibvpx-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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vpxenc.c b/vpxenc.c
index f24b1805b..50e7c7fc7 100644
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -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(