diff options
-rw-r--r-- | libavfilter/formats.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 141390f22c..9b4a6a7cfc 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -376,7 +376,7 @@ AVFilterFormats *ff_planar_sample_fmts(void) AVFilterFormats *ret = NULL; int fmt; - for (fmt = 0; fmt < AV_SAMPLE_FMT_NB; fmt++) + for (fmt = 0; av_get_bytes_per_sample(fmt)>0; fmt++) if (av_sample_fmt_is_planar(fmt)) ff_add_format(&ret, fmt); @@ -587,7 +587,7 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx) int sfmt = av_get_sample_fmt(arg); if (sfmt == AV_SAMPLE_FMT_NONE) { sfmt = strtol(arg, &tail, 0); - if (*tail || (unsigned)sfmt >= AV_SAMPLE_FMT_NB) { + if (*tail || av_get_bytes_per_sample(sfmt)<=0) { av_log(log_ctx, AV_LOG_ERROR, "Invalid sample format '%s'\n", arg); return AVERROR(EINVAL); } |