[FFmpeg-devel] [discussion] AVOptionRange fields

Diederick C. Niehorster dcnieho at gmail.com
Tue Jun 8 09:57:21 EEST 2021


FWIW,

On Sat, Jun 5, 2021 at 11:36 PM Diederick C. Niehorster <dcnieho at gmail.com>
wrote:

> When implementing the avdevice capabilities API, I have run into three
> things regarding the AVOptionRange fields (libavutil/opt.h, lines
> 310-328)
>
> 1. an enum AVOptionType field "type" should be added. Else user cannot
> know how to interpret the returned value(s), which are all doubles.
> NB: for the avdevice capabilities API, option type is an
> implementation detail, and cannot be queried by the user.
>

I turned out to be wrong on this one, the option itself is queryable when
the option range is queryable, of course...


> 2. a field "is_set" should be added. When querying a range of formats
> of an avdevice, sometimes for a given format the queried option is not
> available. This is not an error as the user is asking for a valid
> capability, it just doesn't always apply to all the matching formats
> of the device. This is now communicated through a special value (like
> 0 or -1), but that is not ideal. an is_set field would alleviate the
> use of special values.
>

Added in https://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281123.html


> 3. the component_min, component_max fields should be documented
> better. "Value's component range" is not informative and the only use
> of it in the codebase (av_opt_query_ranges_default() in opt.c, lines
> 1848--1918 or the original commit adding it, a8e0d51b, does not help
> elucidate what its for). for e.g. an fps, the value range would be
> from min_fps to max_fps. What would the associated component range
> (min/max) be?
>

This remains open.

Cheers,
Dee


More information about the ffmpeg-devel mailing list