fftools: move check_avoptions and remove_avoptions to cmdutils

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2024-05-18 15:55:18 +02:00
parent 169b6ee732
commit f9810be5d3
4 changed files with 26 additions and 23 deletions

View File

@ -1146,3 +1146,23 @@ char *file_read(const char *filename)
return NULL; return NULL;
return str; return str;
} }
void remove_avoptions(AVDictionary **a, AVDictionary *b)
{
const AVDictionaryEntry *t = NULL;
while ((t = av_dict_iterate(b, t))) {
av_dict_set(a, t->key, NULL, AV_DICT_MATCH_CASE);
}
}
int check_avoptions(AVDictionary *m)
{
const AVDictionaryEntry *t = av_dict_iterate(m, NULL);
if (t) {
av_log(NULL, AV_LOG_FATAL, "Option %s not found.\n", t->key);
return AVERROR_OPTION_NOT_FOUND;
}
return 0;
}

View File

@ -483,4 +483,10 @@ double get_rotation(const int32_t *displaymatrix);
/* read file contents into a string */ /* read file contents into a string */
char *file_read(const char *filename); char *file_read(const char *filename);
/* Remove keys in dictionary b from dictionary a */
void remove_avoptions(AVDictionary **a, AVDictionary *b);
/* Check if any keys exist in dictionary m */
int check_avoptions(AVDictionary *m);
#endif /* FFTOOLS_CMDUTILS_H */ #endif /* FFTOOLS_CMDUTILS_H */

View File

@ -473,26 +473,6 @@ const FrameData *packet_data_c(AVPacket *pkt)
return ret < 0 ? NULL : (const FrameData*)pkt->opaque_ref->data; return ret < 0 ? NULL : (const FrameData*)pkt->opaque_ref->data;
} }
void remove_avoptions(AVDictionary **a, AVDictionary *b)
{
const AVDictionaryEntry *t = NULL;
while ((t = av_dict_iterate(b, t))) {
av_dict_set(a, t->key, NULL, AV_DICT_MATCH_CASE);
}
}
int check_avoptions(AVDictionary *m)
{
const AVDictionaryEntry *t = av_dict_iterate(m, NULL);
if (t) {
av_log(NULL, AV_LOG_FATAL, "Option %s not found.\n", t->key);
return AVERROR_OPTION_NOT_FOUND;
}
return 0;
}
void update_benchmark(const char *fmt, ...) void update_benchmark(const char *fmt, ...)
{ {
if (do_benchmark_all) { if (do_benchmark_all) {

View File

@ -710,9 +710,6 @@ void term_exit(void);
void show_usage(void); void show_usage(void);
void remove_avoptions(AVDictionary **a, AVDictionary *b);
int check_avoptions(AVDictionary *m);
int assert_file_overwrite(const char *filename); int assert_file_overwrite(const char *filename);
AVDictionary *strip_specifiers(const AVDictionary *dict); AVDictionary *strip_specifiers(const AVDictionary *dict);
int find_codec(void *logctx, const char *name, int find_codec(void *logctx, const char *name,