From: Nicolas George <[email protected]>
(cherry picked from commit 7b42036b3b23c85f473bf9369e37fa8da22eaf93)
---
libavfilter/avfilter.c | 2 ++
libavfilter/avfilter.h | 12 ++++++++++++
2 files changed, 14 insertions(+)
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 64b2645..cd98d16 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -195,6 +195,8 @@ int avfilter_config_links(AVFilterContext *filter)
link->src->inputs[0]->sample_aspect_ratio :
(AVRational){1,1};
if (link->src->nb_inputs) {
+ if (!link->frame_rate.num && !link->frame_rate.den)
+ link->frame_rate = link->src->inputs[0]->frame_rate;
if (!link->w)
link->w = link->src->inputs[0]->w;
if (!link->h)
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 9dbfeea..0b670e0 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -375,6 +375,18 @@ struct AVFilterLink {
AVLINK_STARTINIT, ///< started, but incomplete
AVLINK_INIT ///< complete
} init_state;
+
+ /**
+ * Frame rate of the stream on the link, or 1/0 if unknown;
+ * if left to 0/0, will be automatically be copied from the first input
+ * of the source filter if it exists.
+ *
+ * Sources should set it to the best estimation of the real frame rate.
+ * Filters should update it if necessary depending on their function.
+ * Sinks can use it to set a default output frame rate.
+ * It is similar to the r_frae_rate field in AVStream.
+ */
+ AVRational frame_rate;
};
/**
--
2.4.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel