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:
authorRonald S. Bultje <rsbultje@gmail.com>2019-11-17 17:32:09 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2022-01-08 01:04:24 +0300
commit068697556fc784e088b351f56df26fab04d503c2 (patch)
tree1eedf215ada4965bef7649a64f3061a245725599 /src/decode.c
parent36beb8185dd9de5450c9a4cbcd0d969901a6b0cc (diff)
Add interface to output invisible (alt-ref) frames
Addresses part of #310.
Diffstat (limited to 'src/decode.c')
-rw-r--r--src/decode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/decode.c b/src/decode.c
index 6773b51..e0cc584 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -3493,7 +3493,9 @@ int dav1d_submit_frame(Dav1dContext *const c) {
if (out_delayed->p.data[0]) {
const unsigned progress = atomic_load_explicit(&out_delayed->progress[1],
memory_order_relaxed);
- if (out_delayed->visible && progress != FRAME_ERROR) {
+ if ((out_delayed->visible || c->output_invisible_frames) &&
+ progress != FRAME_ERROR)
+ {
dav1d_picture_ref(&c->out, &out_delayed->p);
c->event_flags |= dav1d_picture_get_event_flags(out_delayed);
}
@@ -3667,7 +3669,7 @@ int dav1d_submit_frame(Dav1dContext *const c) {
// move f->cur into output queue
if (c->n_fc == 1) {
- if (f->frame_hdr->show_frame) {
+ if (f->frame_hdr->show_frame || c->output_invisible_frames) {
dav1d_picture_ref(&c->out, &f->sr_cur.p);
c->event_flags |= dav1d_picture_get_event_flags(&f->sr_cur);
}