diff options
author | James Zern <jzern@google.com> | 2014-07-01 19:02:15 -0700 |
---|---|---|
committer | James Zern <jzern@google.com> | 2014-07-01 19:05:23 -0700 |
commit | 95853db8e2445fec5eaf8cc2de90924167425f54 (patch) | |
tree | f665702b98e6df332d3a070c3cb64920236ffadc | |
parent | bd756699b9785eeca5e6ed9d4a0985e41f88cbea (diff) | |
download | libvpx-95853db8e2445fec5eaf8cc2de90924167425f54.tar.gz libvpx-95853db8e2445fec5eaf8cc2de90924167425f54.tar.bz2 libvpx-95853db8e2445fec5eaf8cc2de90924167425f54.zip |
vpxdec: add --keep-going option
for debugging purposes.
continues decoding after receiving a decode error. will still exit with
an error after the current loop, ignoring remaining --loops
Change-Id: I011a71b866ff493a3f3bbb59e9bff998d19daee3
-rw-r--r-- | vpxdec.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -77,6 +77,8 @@ static const arg_def_t error_concealment = ARG_DEF(NULL, "error-concealment", 0, "Enable decoder error-concealment"); static const arg_def_t scalearg = ARG_DEF("S", "scale", 0, "Scale output frames uniformly"); +static const arg_def_t continuearg = + ARG_DEF("k", "keep-going", 0, "(debug) Continue decoding after error"); static const arg_def_t fb_arg = ARG_DEF(NULL, "frame-buffers", 1, "Number of frame buffers to use"); @@ -88,8 +90,7 @@ static const arg_def_t *all_args[] = { &codecarg, &use_yv12, &use_i420, &flipuvarg, &noblitarg, &progressarg, &limitarg, &skiparg, &postprocarg, &summaryarg, &outputfile, &threadsarg, &verbosearg, &scalearg, &fb_arg, - &md5arg, - &error_concealment, + &md5arg, &error_concealment, &continuearg, NULL }; @@ -497,6 +498,7 @@ int main_loop(int argc, const char **argv_) { int stop_after = 0, postproc = 0, summary = 0, quiet = 1; int arg_skip = 0; int ec_enabled = 0; + int keep_going = 0; const VpxInterface *interface = NULL; const VpxInterface *fourcc_interface = NULL; uint64_t dx_time = 0; @@ -632,6 +634,8 @@ int main_loop(int argc, const char **argv_) { } } else if (arg_match(&arg, &error_concealment, argi)) { ec_enabled = 1; + } else if (arg_match(&arg, &continuearg, argi)) { + keep_going = 1; } #endif @@ -814,7 +818,8 @@ int main_loop(int argc, const char **argv_) { if (detail) warn("Additional information: %s", detail); - goto fail; + if (!keep_going) + goto fail; } vpx_usec_timer_mark(&timer); |