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
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2018-10-27 16:50:25 +0300
committerJames Almer <jamrial@gmail.com>2018-10-27 16:50:25 +0300
commit8d5a812190ce13b329d3b0f826d78f8aaa503714 (patch)
tree1bea3e1d4e18ebcc0e42429e3ea0649c9d9991d7 /tools/output
parent2118bc9fa326ffcfd59080868d95bd7b4bf94889 (diff)
tools/dav1d: don't call write_header and write_trailer when it's not needed
Diffstat (limited to 'tools/output')
-rw-r--r--tools/output/null.c12
-rw-r--r--tools/output/output.c5
2 files changed, 3 insertions, 14 deletions
diff --git a/tools/output/null.c b/tools/output/null.c
index bbc4e41..f8633f3 100644
--- a/tools/output/null.c
+++ b/tools/output/null.c
@@ -31,26 +31,14 @@
typedef struct MuxerPriv NullOutputContext;
-static int null_open(NullOutputContext *const c, const char *const file,
- const Dav1dPictureParameters *const p,
- const unsigned fps[2])
-{
- return 0;
-}
-
static int null_write(NullOutputContext *const c, Dav1dPicture *const p) {
dav1d_picture_unref(p);
return 0;
}
-static void null_close(NullOutputContext *const c) {
-}
-
const Muxer null_muxer = {
.priv_data_size = 0,
.name = "null",
.extension = "null",
- .write_header = null_open,
.write_picture = null_write,
- .write_trailer = null_close,
};
diff --git a/tools/output/output.c b/tools/output/output.c
index 444a097..1dfa52f 100644
--- a/tools/output/output.c
+++ b/tools/output/output.c
@@ -118,7 +118,7 @@ int output_open(MuxerContext **const c_out,
}
c->impl = impl;
c->data = (MuxerPriv *) &c[1];
- if ((res = impl->write_header(c->data, filename, p, fps)) < 0) {
+ if (impl->write_header && (res = impl->write_header(c->data, filename, p, fps)) < 0) {
free(c);
return res;
}
@@ -137,6 +137,7 @@ int output_write(MuxerContext *const ctx, Dav1dPicture *const p) {
}
void output_close(MuxerContext *const ctx) {
- ctx->impl->write_trailer(ctx->data);
+ if (ctx->impl->write_trailer)
+ ctx->impl->write_trailer(ctx->data);
free(ctx);
}