[FFmpeg-cvslog] vsrc_color: implement frame rate

John Stebbins git at videolan.org
Wed Nov 11 15:03:31 CET 2015


ffmpeg | branch: master | John Stebbins <stebbins at jetheaddev.com> | Tue Nov  3 09:57:28 2015 -0800| [db9b7321d5dfcbaf521d46beec44cf724776c70d] | committer: Anton Khirnov

vsrc_color: implement frame rate

Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=db9b7321d5dfcbaf521d46beec44cf724776c70d
---

 libavfilter/vsrc_color.c |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/libavfilter/vsrc_color.c b/libavfilter/vsrc_color.c
index 3b506ec..b58c11a 100644
--- a/libavfilter/vsrc_color.c
+++ b/libavfilter/vsrc_color.c
@@ -44,7 +44,7 @@ typedef struct ColorContext {
     const AVClass *class;
     int w, h;
     uint8_t color[4];
-    AVRational time_base;
+    AVRational frame_rate;
     uint8_t *line[4];
     int      line_step[4];
     int hsub, vsub;         ///< chroma subsampling values
@@ -65,13 +65,11 @@ static av_cold int color_init(AVFilterContext *ctx)
         return AVERROR(EINVAL);
     }
 
-    if (av_parse_video_rate(&frame_rate_q, color->framerate_str) < 0 ||
+    if (av_parse_video_rate(&color->frame_rate, color->framerate_str) < 0 ||
         frame_rate_q.den <= 0 || frame_rate_q.num <= 0) {
         av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: %s\n", color->framerate_str);
         return AVERROR(EINVAL);
     }
-    color->time_base.num = frame_rate_q.den;
-    color->time_base.den = frame_rate_q.num;
 
     if ((ret = av_parse_color(color->color, color->color_str, -1, ctx)) < 0)
         return ret;
@@ -132,12 +130,13 @@ static int color_config_props(AVFilterLink *inlink)
                             inlink->format, rgba_color, &is_packed_rgba, NULL);
 
     av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d r:%d/%d color:0x%02x%02x%02x%02x[%s]\n",
-           color->w, color->h, color->time_base.den, color->time_base.num,
+           color->w, color->h, color->frame_rate.num, color->frame_rate.den,
            color->color[0], color->color[1], color->color[2], color->color[3],
            is_packed_rgba ? "rgba" : "yuva");
     inlink->w = color->w;
     inlink->h = color->h;
-    inlink->time_base = color->time_base;
+    inlink->time_base  = av_inv_q(color->frame_rate);
+    inlink->frame_rate = color->frame_rate;
 
     return 0;
 }



More information about the ffmpeg-cvslog mailing list