Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2022-02-07 21:03:49 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2022-02-07 21:39:58 +0300
commita363374a83b5961b2526e5e241272f260246e780 (patch)
tree1cff148dd6c8a5547defdafd96deeb425a324c44 /tools
parent1f09a9119fb794ab41b1e527d848c2a210ca43d4 (diff)
tools/dav1d: continue on recoverable bitstream decoding errors
Fixes inconsistent output frame count depending on --threads=X value for the sample in #244.
Diffstat (limited to 'tools')
-rw-r--r--tools/dav1d.c5
1 files changed, 3 insertions, 2 deletions
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;