buffersrc: avoid using AV_PIX_FMT_NB
authorAnton Khirnov <anton@khirnov.net>
Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)
committerAnton Khirnov <anton@khirnov.net>
Mon, 26 May 2014 20:25:41 +0000 (22:25 +0200)
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.

libavfilter/buffersrc.c

index 480dca99a6199ad9dc7621d68f1bba2b2dc64162..00e28f8fd33e7858fddb11f2e82b0055f476f82c 100644 (file)
@@ -264,7 +264,7 @@ static av_cold int init_video(AVFilterContext *ctx)
     if ((c->pix_fmt = av_get_pix_fmt(c->pix_fmt_str)) == AV_PIX_FMT_NONE) {
         char *tail;
         c->pix_fmt = strtol(c->pix_fmt_str, &tail, 10);
     if ((c->pix_fmt = av_get_pix_fmt(c->pix_fmt_str)) == AV_PIX_FMT_NONE) {
         char *tail;
         c->pix_fmt = strtol(c->pix_fmt_str, &tail, 10);
-        if (*tail || c->pix_fmt < 0 || c->pix_fmt >= AV_PIX_FMT_NB) {
+        if (*tail || c->pix_fmt < 0 || !av_pix_fmt_desc_get(c->pix_fmt)) {
             av_log(ctx, AV_LOG_ERROR, "Invalid pixel format string '%s'\n", c->pix_fmt_str);
             return AVERROR(EINVAL);
         }
             av_log(ctx, AV_LOG_ERROR, "Invalid pixel format string '%s'\n", c->pix_fmt_str);
             return AVERROR(EINVAL);
         }