mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 08:42:39 +00:00
avcodec/utils : add ff_int_from_list_or_default func
to check valid value, or return default_value
This commit is contained in:
parent
aae7e009b3
commit
e53901ba5e
@ -404,6 +404,18 @@ int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
|
||||
*/
|
||||
int64_t ff_guess_coded_bitrate(AVCodecContext *avctx);
|
||||
|
||||
/**
|
||||
* Check if a value is in the list. If not, return the default value
|
||||
*
|
||||
* @param ctx Context for the log msg
|
||||
* @param val_name Name of the checked value, for log msg
|
||||
* @param array_valid_values Array of valid int, ended with INT_MAX
|
||||
* @param default_value Value return if checked value is not in the array
|
||||
* @return Value or default_value.
|
||||
*/
|
||||
int ff_int_from_list_or_default(void *ctx, const char * val_name, int val,
|
||||
const int * array_valid_values, int default_value);
|
||||
|
||||
#if defined(_WIN32) && CONFIG_SHARED && !defined(BUILDING_avcodec)
|
||||
# define av_export_avcodec __declspec(dllimport)
|
||||
#else
|
||||
|
@ -2209,3 +2209,22 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx)
|
||||
|
||||
return bitrate;
|
||||
}
|
||||
|
||||
int ff_int_from_list_or_default(void *ctx, const char * val_name, int val,
|
||||
const int * array_valid_values, int default_value)
|
||||
{
|
||||
int i = 0, ref_val;
|
||||
|
||||
while (1) {
|
||||
ref_val = array_valid_values[i];
|
||||
if (ref_val == INT_MAX)
|
||||
break;
|
||||
if (val == ref_val)
|
||||
return val;
|
||||
i++;
|
||||
}
|
||||
/* val is not a valid value */
|
||||
av_log(ctx, AV_LOG_DEBUG,
|
||||
"%s %d are not supported. Set to default value : %d\n", val_name, val, default_value);
|
||||
return default_value;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user