[FFmpeg-devel] [PATCH 2/8] lavfi: move ff_parse_pixel_format() to vf_format, its only caller
Anton Khirnov
anton at khirnov.net
Sat Aug 17 11:13:52 EEST 2024
The only thing this function does beyond calling av_get_pix_fmt() is
falling back onto parsing the argument as a number. No other filters
should need to do this.
---
libavfilter/formats.c | 15 ---------------
libavfilter/internal.h | 11 -----------
libavfilter/vf_format.c | 17 ++++++++++++++++-
3 files changed, 16 insertions(+), 27 deletions(-)
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 15099ac545..18f7b89104 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -939,21 +939,6 @@ int ff_default_query_formats(AVFilterContext *ctx)
/* internal functions for parsing audio format arguments */
-int ff_parse_pixel_format(enum AVPixelFormat *ret, const char *arg, void *log_ctx)
-{
- char *tail;
- int pix_fmt = av_get_pix_fmt(arg);
- if (pix_fmt == AV_PIX_FMT_NONE) {
- pix_fmt = strtol(arg, &tail, 0);
- if (*tail || !av_pix_fmt_desc_get(pix_fmt)) {
- av_log(log_ctx, AV_LOG_ERROR, "Invalid pixel format '%s'\n", arg);
- return AVERROR(EINVAL);
- }
- }
- *ret = pix_fmt;
- return 0;
-}
-
int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx)
{
char *tail;
diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index 4938612593..343bc0b330 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -35,17 +35,6 @@ int ff_fmt_is_regular_yuv(enum AVPixelFormat fmt);
/* Functions to parse audio format arguments */
-/**
- * Parse a pixel format.
- *
- * @param ret pixel format pointer to where the value should be written
- * @param arg string to parse
- * @param log_ctx log context
- * @return >= 0 in case of success, a negative AVERROR code on error
- */
-av_warn_unused_result
-int ff_parse_pixel_format(enum AVPixelFormat *ret, const char *arg, void *log_ctx);
-
/**
* Parse a sample rate.
*
diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c
index 2b88b10f65..83deff7190 100644
--- a/libavfilter/vf_format.c
+++ b/libavfilter/vf_format.c
@@ -86,6 +86,21 @@ static av_cold int invert_formats(AVFilterFormats **fmts,
return 0;
}
+static int parse_pixel_format(enum AVPixelFormat *ret, const char *arg, void *log_ctx)
+{
+ char *tail;
+ int pix_fmt = av_get_pix_fmt(arg);
+ if (pix_fmt == AV_PIX_FMT_NONE) {
+ pix_fmt = strtol(arg, &tail, 0);
+ if (*tail || !av_pix_fmt_desc_get(pix_fmt)) {
+ av_log(log_ctx, AV_LOG_ERROR, "Invalid pixel format '%s'\n", arg);
+ return AVERROR(EINVAL);
+ }
+ }
+ *ret = pix_fmt;
+ return 0;
+}
+
static av_cold int init(AVFilterContext *ctx)
{
FormatContext *s = ctx->priv;
@@ -96,7 +111,7 @@ static av_cold int init(AVFilterContext *ctx)
sep = strchr(cur, '|');
if (sep && *sep)
*sep++ = 0;
- if ((ret = ff_parse_pixel_format(&pix_fmt, cur, ctx)) < 0 ||
+ if ((ret = parse_pixel_format(&pix_fmt, cur, ctx)) < 0 ||
(ret = ff_add_format(&s->formats, pix_fmt)) < 0)
return ret;
}
--
2.43.0
More information about the ffmpeg-devel
mailing list