]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vsrc_mptestsrc.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavfilter / vsrc_mptestsrc.c
index 98c79888f480f9efeb8a739aef017b37afa61af2..c0b9e436fec2152cae2a224d7afbb93b6138aa3a 100644 (file)
@@ -28,6 +28,9 @@
 #include "libavutil/parseutils.h"
 #include "libavutil/pixdesc.h"
 #include "avfilter.h"
+#include "internal.h"
+#include "formats.h"
+#include "video.h"
 
 #define WIDTH 512
 #define HEIGHT 512
@@ -82,11 +85,7 @@ static const AVOption mptestsrc_options[]= {
     { NULL },
 };
 
-static const AVClass mptestsrc_class = {
-    "MPTestContext",
-    av_default_item_name,
-    mptestsrc_options
-};
+AVFILTER_DEFINE_CLASS(mptestsrc);
 
 static double c[64];
 
@@ -272,8 +271,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
         return ret;
     }
 
-    if ((ret = av_parse_video_rate(&frame_rate_q, test->rate)) < 0 ||
-        frame_rate_q.den <= 0 || frame_rate_q.num <= 0) {
+    if ((ret = av_parse_video_rate(&frame_rate_q, test->rate)) < 0) {
         av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: '%s'\n", test->rate);
         return ret;
     }
@@ -320,7 +318,7 @@ static int query_formats(AVFilterContext *ctx)
         PIX_FMT_YUV420P, PIX_FMT_NONE
     };
 
-    avfilter_set_common_pixel_formats(ctx, avfilter_make_format_list(pix_fmts));
+    ff_set_common_formats(ctx, ff_make_format_list(pix_fmts));
     return 0;
 }
 
@@ -334,7 +332,7 @@ static int request_frame(AVFilterLink *outlink)
 
     if (test->max_pts >= 0 && test->pts > test->max_pts)
         return AVERROR_EOF;
-    picref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE, w, h);
+    picref = ff_get_video_buffer(outlink, AV_PERM_WRITE, w, h);
     picref->pts = test->pts++;
 
     // clean image
@@ -360,9 +358,9 @@ static int request_frame(AVFilterLink *outlink)
 
     test->frame_nb++;
 
-    avfilter_start_frame(outlink, avfilter_ref_buffer(picref, ~0));
-    avfilter_draw_slice(outlink, 0, picref->video->h, 1);
-    avfilter_end_frame(outlink);
+    ff_start_frame(outlink, avfilter_ref_buffer(picref, ~0));
+    ff_draw_slice(outlink, 0, picref->video->h, 1);
+    ff_end_frame(outlink);
     avfilter_unref_buffer(picref);
 
     return 0;