[10/12] avfilter/vf_showinfo: show timebase & framerate too

Message ID 1445977054-15625-11-git-send-email-stebbins@jetheaddev.com
State New
Headers show

Commit Message

John Stebbins Oct. 27, 2015, 8:17 p.m.
From: Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fdb93996811bacfa7b82995cdc0f93c46f3dc6cc)
---
 libavfilter/vf_showinfo.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

Patch

diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
index ede1765..9b60408 100644
--- a/libavfilter/vf_showinfo.c
+++ b/libavfilter/vf_showinfo.c
@@ -140,12 +140,37 @@  static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
     return ff_filter_frame(inlink->dst->outputs[0], frame);
 }
 
+static int config_props(AVFilterContext *ctx, AVFilterLink *link, int is_out)
+{
+
+    av_log(ctx, AV_LOG_INFO, "config %s time_base: %d/%d, frame_rate: %d/%d\n",
+           is_out ? "out" :"in",
+           link->time_base.num, link->time_base.den,
+           link->frame_rate.num, link->frame_rate.den
+    );
+
+    return 0;
+}
+
+static int config_props_in(AVFilterLink *link)
+{
+    AVFilterContext *ctx = link->dst;
+    return config_props(ctx, link, 0);
+}
+
+static int config_props_out(AVFilterLink *link)
+{
+    AVFilterContext *ctx = link->src;
+    return config_props(ctx, link, 1);
+}
+
 static const AVFilterPad avfilter_vf_showinfo_inputs[] = {
     {
         .name             = "default",
         .type             = AVMEDIA_TYPE_VIDEO,
         .get_video_buffer = ff_null_get_video_buffer,
         .filter_frame     = filter_frame,
+        .config_props     = config_props_in,
     },
     { NULL }
 };
@@ -153,7 +178,8 @@  static const AVFilterPad avfilter_vf_showinfo_inputs[] = {
 static const AVFilterPad avfilter_vf_showinfo_outputs[] = {
     {
         .name = "default",
-        .type = AVMEDIA_TYPE_VIDEO
+        .type = AVMEDIA_TYPE_VIDEO,
+        .config_props  = config_props_out,
     },
     { NULL }
 };