[FFmpeg-devel] [PATCH 2/4] lavfi/vf_crop: use ff_formats_pixdesc_filter().

Nicolas George george at nsup.org
Thu Apr 16 18:28:58 EEST 2020


Signed-off-by: Nicolas George <george at nsup.org>
---
 libavfilter/vf_crop.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c
index 502defd0a5..3d5cb95f78 100644
--- a/libavfilter/vf_crop.c
+++ b/libavfilter/vf_crop.c
@@ -94,24 +94,11 @@ typedef struct CropContext {
 static int query_formats(AVFilterContext *ctx)
 {
     AVFilterFormats *formats = NULL;
-    int fmt, ret;
-
-    for (fmt = 0; av_pix_fmt_desc_get(fmt); fmt++) {
-        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt);
-        if (desc->flags & AV_PIX_FMT_FLAG_BITSTREAM)
-            continue;
-        if (!(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
-            // Not usable if there is any subsampling but the format is
-            // not planar (e.g. YUYV422).
-            if ((desc->log2_chroma_w || desc->log2_chroma_h) &&
-                !(desc->flags & AV_PIX_FMT_FLAG_PLANAR))
-                continue;
-        }
-        ret = ff_add_format(&formats, fmt);
-        if (ret < 0)
-            return ret;
-    }
+    int ret;
 
+    ret = ff_formats_pixdesc_filter(&formats, 0, AV_PIX_FMT_FLAG_BITSTREAM | FF_PIX_FMT_FLAG_SW_FLAT_SUB);
+    if (ret < 0)
+        return ret;
     return ff_set_common_formats(ctx, formats);
 }
 
-- 
2.25.1



More information about the ffmpeg-devel mailing list