From a363374a83b5961b2526e5e241272f260246e780 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Mon, 7 Feb 2022 13:03:49 -0500 Subject: tools/dav1d: continue on recoverable bitstream decoding errors Fixes inconsistent output frame count depending on --threads=X value for the sample in #244. --- tools/dav1d.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/dav1d.c b/tools/dav1d.c index 5087180..6f57faa 100644 --- a/tools/dav1d.c +++ b/tools/dav1d.c @@ -272,7 +272,7 @@ int main(const int argc, char *const *const argv) { if (res != DAV1D_ERR(EAGAIN)) { fprintf(stderr, "Error decoding frame: %s\n", strerror(DAV1D_ERR(res))); - break; + if (res != DAV1D_ERR(EINVAL)) break; } } @@ -280,7 +280,7 @@ int main(const int argc, char *const *const argv) { if (res != DAV1D_ERR(EAGAIN)) { fprintf(stderr, "Error decoding frame: %s\n", strerror(DAV1D_ERR(res))); - break; + if (res == DAV1D_ERR(EINVAL)) break; } res = 0; } else { @@ -316,6 +316,7 @@ int main(const int argc, char *const *const argv) { if (res != DAV1D_ERR(EAGAIN)) { fprintf(stderr, "Error decoding frame: %s\n", strerror(DAV1D_ERR(res))); + if (res != DAV1D_ERR(EINVAL)) break; } else { res = 0; break; -- cgit v1.2.3