---
cmdutils.c | 212 +++++++++++++++++++++++++++++++++--------------------------
1 files changed, 119 insertions(+), 93 deletions(-)
diff --git a/cmdutils.c b/cmdutils.c
index c5c2c1c..0e50870 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -77,19 +77,20 @@ void log_callback_help(void* ptr, int level, const char*
fmt, va_list vl)
vfprintf(stdout, fmt, vl);
}
-double parse_number_or_die(const char *context, const char *numstr, int type,
double min, double max)
+double parse_number_or_die(const char *context, const char *numstr, int type,
+ double min, double max)
{
char *tail;
const char *error;
double d = av_strtod(numstr, &tail);
if (*tail)
- error= "Expected number for %s but found: %s\n";
+ error = "Expected number for %s but found: %s\n";
else if (d < min || d > max)
- error= "The value for %s was %s which is not within %f - %f\n";
- else if(type == OPT_INT64 && (int64_t)d != d)
- error= "Expected int64 for %s but found %s\n";
+ error = "The value for %s was %s which is not within %f - %f\n";
+ else if (type == OPT_INT64 && (int64_t)d != d)
+ error = "Expected int64 for %s but found %s\n";
else if (type == OPT_INT && (int)d != d)
- error= "Expected int for %s but found %s\n";
+ error = "Expected int for %s but found %s\n";
else
return d;
av_log(NULL, AV_LOG_FATAL, error, context, numstr, min, max);
@@ -108,13 +109,14 @@ int64_t parse_time_or_die(const char *context, const char
*timestr, int is_durat
return us;
}
-void show_help_options(const OptionDef *options, const char *msg, int mask,
int value)
+void show_help_options(const OptionDef *options, const char *msg, int mask,
+ int value)
{
const OptionDef *po;
int first;
first = 1;
- for(po = options; po->name != NULL; po++) {
+ for (po = options; po->name != NULL; po++) {
char buf[64];
if ((po->flags & mask) == value) {
if (first) {
@@ -141,7 +143,8 @@ void show_help_children(const AVClass *class, int flags)
show_help_children(child, flags);
}
-static const OptionDef* find_option(const OptionDef *po, const char *name){
+static const OptionDef* find_option(const OptionDef *po, const char *name)
+{
const char *p = strchr(name, ':');
int len = p ? p - name : strlen(name);
@@ -188,8 +191,8 @@ static void prepare_app_arguments(int *argc_ptr, char
***argv_ptr)
buffsize += WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1,
NULL, 0, NULL, NULL);
- win32_argv_utf8 = av_mallocz(sizeof(char*) * (win32_argc + 1) + buffsize);
- argstr_flat = (char*)win32_argv_utf8 + sizeof(char*) * (win32_argc +
1);
+ win32_argv_utf8 = av_mallocz(sizeof(char *) * (win32_argc + 1) + buffsize);
+ argstr_flat = (char *)win32_argv_utf8 + sizeof(char *) * (win32_argc +
1);
if (win32_argv_utf8 == NULL) {
LocalFree(argv_w);
return;
@@ -214,7 +217,8 @@ static inline void prepare_app_arguments(int *argc_ptr,
char ***argv_ptr)
}
#endif /* WIN32 && !__MINGW32CE__ */
-int parse_option(void *optctx, const char *opt, const char *arg, const
OptionDef *options)
+int parse_option(void *optctx, const char *opt, const char *arg,
+ const OptionDef *options)
{
const OptionDef *po;
int bool_val = 1;
@@ -243,7 +247,8 @@ unknown_opt:
/* new-style options contain an offset into optctx, old-style address of
* a global var*/
- dst = po->flags & (OPT_OFFSET|OPT_SPEC) ? (uint8_t*)optctx + po->u.off :
po->u.dst_ptr;
+ dst = po->flags & (OPT_OFFSET|OPT_SPEC) ?
+ (uint8_t*)optctx + po->u.off : po->u.dst_ptr;
if (po->flags & OPT_SPEC) {
SpecifierOpt **so = dst;
@@ -364,9 +369,10 @@ int opt_default(const char *opt, const char *arg)
p = opt + strlen(opt);
av_strlcpy(opt_stripped, opt, FFMIN(sizeof(opt_stripped), p - opt + 1));
- if ((o = av_opt_find(&cc, opt_stripped, NULL, 0,
AV_OPT_SEARCH_CHILDREN|AV_OPT_SEARCH_FAKE_OBJ)) ||
- ((opt[0] == 'v' || opt[0] == 'a' || opt[0] == 's') &&
- (o = av_opt_find(&cc, opt+1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ))))
+ if ((o = av_opt_find(&cc, opt_stripped, NULL, 0, AV_OPT_SEARCH_CHILDREN |
+ AV_OPT_SEARCH_FAKE_OBJ)) ||
+ ((opt[0] == 'v' || opt[0] == 'a' || opt[0] == 's') &&
+ (o = av_opt_find(&cc, opt + 1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ))))
av_dict_set(&codec_opts, opt, arg, FLAGS);
else if ((o = av_opt_find(&fc, opt, NULL, 0, AV_OPT_SEARCH_CHILDREN |
AV_OPT_SEARCH_FAKE_OBJ)))
av_dict_set(&format_opts, opt, arg, FLAGS);
@@ -489,7 +495,8 @@ static void print_all_libs_info(int flags, int level)
void show_banner(void)
{
- av_log(NULL, AV_LOG_INFO, "%s version " LIBAV_VERSION ", Copyright (c)
%d-%d the Libav developers\n",
+ av_log(NULL, AV_LOG_INFO, "%s version " LIBAV_VERSION
+ ", Copyright (c) %d-%d the Libav developers\n",
program_name, program_birth_year, this_year);
av_log(NULL, AV_LOG_INFO, " built on %s %s with %s %s\n",
__DATE__, __TIME__, CC_TYPE, CC_VERSION);
@@ -538,11 +545,13 @@ void show_license(void)
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with %s; if not, write to the Free Software\n"
- "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA\n",
+ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,"
+ " MA 02110-1301 USA\n",
program_name, program_name, program_name
#elif CONFIG_LGPLV3
"%s is free software; you can redistribute it and/or modify\n"
- "it under the terms of the GNU Lesser General Public License as published
by\n"
+ "it under the terms of the GNU Lesser General Public License as "
+ "published by\n"
"the Free Software Foundation; either version 3 of the License, or\n"
"(at your option) any later version.\n"
"\n"
@@ -551,7 +560,8 @@ void show_license(void)
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
"GNU Lesser General Public License for more details.\n"
"\n"
- "You should have received a copy of the GNU Lesser General Public
License\n"
+ "You should have received a copy of the GNU Lesser General Public"
+ "License\n"
"along with %s. If not, see <http://www.gnu.org/licenses/>.\n",
program_name, program_name, program_name
#else
@@ -567,16 +577,16 @@ void show_license(void)
"\n"
"You should have received a copy of the GNU Lesser General Public\n"
"License along with %s; if not, write to the Free Software\n"
- "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA\n",
- program_name, program_name, program_name
+ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, "
+ "MA 02110-1301 USA\n", program_name, program_name, program_name
#endif
);
}
void show_formats(void)
{
- AVInputFormat *ifmt=NULL;
- AVOutputFormat *ofmt=NULL;
+ AVInputFormat *ifmt = NULL;
+ AVOutputFormat *ofmt = NULL;
const char *last_name;
printf(
@@ -584,34 +594,34 @@ void show_formats(void)
" D. = Demuxing supported\n"
" .E = Muxing supported\n"
" --\n");
- last_name= "000";
- for(;;){
- int decode=0;
- int encode=0;
- const char *name=NULL;
- const char *long_name=NULL;
-
- while((ofmt= av_oformat_next(ofmt))) {
- if((name == NULL || strcmp(ofmt->name, name)<0) &&
- strcmp(ofmt->name, last_name)>0){
- name= ofmt->name;
- long_name= ofmt->long_name;
- encode=1;
+ last_name = "000";
+ for (;;) {
+ int decode = 0;
+ int encode = 0;
+ const char *name = NULL;
+ const char *long_name = NULL;
+
+ while ((ofmt = av_oformat_next(ofmt))) {
+ if ((name == NULL || strcmp(ofmt->name, name) < 0) &&
+ strcmp(ofmt->name, last_name) > 0) {
+ name = ofmt->name;
+ long_name = ofmt->long_name;
+ encode = 1;
}
}
- while((ifmt= av_iformat_next(ifmt))) {
- if((name == NULL || strcmp(ifmt->name, name)<0) &&
- strcmp(ifmt->name, last_name)>0){
- name= ifmt->name;
- long_name= ifmt->long_name;
- encode=0;
+ while ((ifmt = av_iformat_next(ifmt))) {
+ if ((name == NULL || strcmp(ifmt->name, name) < 0) &&
+ strcmp(ifmt->name, last_name) > 0) {
+ name = ifmt->name;
+ long_name = ifmt->long_name;
+ encode = 0;
}
- if(name && strcmp(ifmt->name, name)==0)
- decode=1;
+ if (name && strcmp(ifmt->name, name) == 0)
+ decode = 1;
}
- if(name==NULL)
+ if (name == NULL)
break;
- last_name= name;
+ last_name = name;
printf(
" %s%s %-15s %s\n",
@@ -624,7 +634,7 @@ void show_formats(void)
void show_codecs(void)
{
- AVCodec *p=NULL, *p2;
+ AVCodec *p = NULL, *p2;
const char *last_name;
printf(
"Codecs:\n"
@@ -638,30 +648,32 @@ void show_codecs(void)
" .....T = Supports weird frame truncation\n"
" ------\n");
last_name= "000";
- for(;;){
- int decode=0;
- int encode=0;
- int cap=0;
+ for (;;) {
+ int decode = 0;
+ int encode = 0;
+ int cap = 0;
const char *type_str;
- p2=NULL;
- while((p= av_codec_next(p))) {
- if((p2==NULL || strcmp(p->name, p2->name)<0) &&
- strcmp(p->name, last_name)>0){
- p2= p;
- decode= encode= cap=0;
+ p2 = NULL;
+ while ((p = av_codec_next(p))) {
+ if ((p2 == NULL || strcmp(p->name, p2->name) < 0) &&
+ strcmp(p->name, last_name) > 0) {
+ p2 = p;
+ decode = encode = cap = 0;
}
- if(p2 && strcmp(p->name, p2->name)==0){
- if(p->decode) decode=1;
- if(p->encode) encode=1;
+ if (p2 && strcmp(p->name, p2->name) == 0) {
+ if (p->decode)
+ decode = 1;
+ if (p->encode)
+ encode = 1;
cap |= p->capabilities;
}
}
- if(p2==NULL)
+ if (p2 == NULL)
break;
- last_name= p2->name;
+ last_name = p2->name;
- switch(p2->type) {
+ switch (p2->type) {
case AVMEDIA_TYPE_VIDEO:
type_str = "V";
break;
@@ -685,25 +697,27 @@ void show_codecs(void)
cap & CODEC_CAP_TRUNCATED ? "T":" ",
p2->name,
p2->long_name ? p2->long_name : "");
- /* if(p2->decoder && decode==0)
- printf(" use %s for decoding", p2->decoder->name);*/
+ /*if (p2->decoder && decode == 0)
+ printf(" use %s for decoding", p2->decoder->name);*/
printf("\n");
}
printf("\n");
printf(
"Note, the names of encoders and decoders do not always match, so there are\n"
-"several cases where the above table shows encoder only or decoder only
entries\n"
+"several cases where the above table shows encoder only or decoder only "
+"entries\n"
"even though both encoding and decoding are supported. For example, the h263\n"
-"decoder corresponds to the h263 and h263p encoders, for file formats it is
even\n"
+"decoder corresponds to the h263 and h263p encoders, for file formats it is "
+"even\n"
"worse.\n");
}
void show_bsfs(void)
{
- AVBitStreamFilter *bsf=NULL;
+ AVBitStreamFilter *bsf = NULL;
printf("Bitstream filters:\n");
- while((bsf = av_bitstream_filter_next(bsf)))
+ while ((bsf = av_bitstream_filter_next(bsf)))
printf("%s\n", bsf->name);
printf("\n");
}
@@ -792,7 +806,8 @@ int cmdutils_read_file(const char *filename, char **bufptr,
size_t *size)
FILE *f = fopen(filename, "rb");
if (!f) {
- av_log(NULL, AV_LOG_ERROR, "Cannot read file '%s': %s\n", filename,
strerror(errno));
+ av_log(NULL, AV_LOG_ERROR, "Cannot read file '%s': %s\n", filename,
+ strerror(errno));
return AVERROR(errno);
}
fseek(f, 0, SEEK_END);
@@ -854,10 +869,11 @@ FILE *get_preset_file(char *filename, size_t
filename_size,
{
FILE *f = NULL;
int i;
- const char *base[3]= { getenv("AVCONV_DATADIR"),
- getenv("HOME"),
- AVCONV_DATADIR,
- };
+ const char *base[3] = {
+ getenv("AVCONV_DATADIR"),
+ getenv("HOME"),
+ AVCONV_DATADIR,
+ };
if (is_path) {
av_strlcpy(filename, preset_name, filename_size);
@@ -866,11 +882,14 @@ FILE *get_preset_file(char *filename, size_t
filename_size,
for (i = 0; i < 3 && !f; i++) {
if (!base[i])
continue;
- snprintf(filename, filename_size, "%s%s/%s.ffpreset", base[i], i
!= 1 ? "" : "/.avconv", preset_name);
+ snprintf(filename, filename_size, "%s%s/%s.ffpreset", base[i],
+ i != 1 ? "" : "/.avconv", preset_name);
f = fopen(filename, "r");
if (!f && codec_name) {
snprintf(filename, filename_size,
- "%s%s/%s-%s.ffpreset", base[i], i != 1 ? "" :
"/.avconv", codec_name, preset_name);
+ "%s%s/%s-%s.ffpreset",
+ base[i], i != 1 ? "" : "/.avconv", codec_name,
+ preset_name);
f = fopen(filename, "r");
}
}
@@ -883,14 +902,15 @@ int check_stream_specifier(AVFormatContext *s, AVStream
*st, const char *spec)
{
if (*spec <= '9' && *spec >= '0')
/* opt:index */
return strtol(spec, NULL, 0) == st->index;
- else if (*spec == 'v' || *spec == 'a' || *spec == 's' || *spec == 'd' ||
*spec == 't') { /* opt:[vasdt] */
+ else if (*spec == 'v' || *spec == 'a' || *spec == 's' || *spec == 'd' ||
+ *spec == 't') { /* opt:[vasdt] */
enum AVMediaType type;
switch (*spec++) {
- case 'v': type = AVMEDIA_TYPE_VIDEO; break;
- case 'a': type = AVMEDIA_TYPE_AUDIO; break;
- case 's': type = AVMEDIA_TYPE_SUBTITLE; break;
- case 'd': type = AVMEDIA_TYPE_DATA; break;
+ case 'v': type = AVMEDIA_TYPE_VIDEO; break;
+ case 'a': type = AVMEDIA_TYPE_AUDIO; break;
+ case 's': type = AVMEDIA_TYPE_SUBTITLE; break;
+ case 'd': type = AVMEDIA_TYPE_DATA; break;
case 't': type = AVMEDIA_TYPE_ATTACHMENT; break;
}
if (type != st->codec->codec_type)
@@ -934,8 +954,10 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum
CodecID codec_id, AVFor
{
AVDictionary *ret = NULL;
AVDictionaryEntry *t = NULL;
- AVCodec *codec = s->oformat ? avcodec_find_encoder(codec_id) :
avcodec_find_decoder(codec_id);
- int flags = s->oformat ? AV_OPT_FLAG_ENCODING_PARAM :
AV_OPT_FLAG_DECODING_PARAM;
+ AVCodec *codec = s->oformat ? avcodec_find_encoder(codec_id) :
+ avcodec_find_decoder(codec_id);
+ int flags = s->oformat ? AV_OPT_FLAG_ENCODING_PARAM :
+ AV_OPT_FLAG_DECODING_PARAM;
char prefix = 0;
const AVClass *cc = avcodec_get_class();
@@ -960,10 +982,12 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum
CodecID codec_id, AVFor
}
if (av_opt_find(&cc, t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ) ||
- (codec && codec->priv_class && av_opt_find(&codec->priv_class,
t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ)))
+ (codec && codec->priv_class && av_opt_find(&codec->priv_class,
+ t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ)))
av_dict_set(&ret, t->key, t->value, 0);
- else if (t->key[0] == prefix && av_opt_find(&cc, t->key+1, NULL,
flags, AV_OPT_SEARCH_FAKE_OBJ))
- av_dict_set(&ret, t->key+1, t->value, 0);
+ else if (t->key[0] == prefix && av_opt_find(&cc, t->key + 1, NULL,
+ flags, AV_OPT_SEARCH_FAKE_OBJ))
+ av_dict_set(&ret, t->key + 1, t->value, 0);
if (p)
*p = ':';
@@ -980,11 +1004,13 @@ AVDictionary
**setup_find_stream_info_opts(AVFormatContext *s, AVDictionary *cod
return NULL;
opts = av_mallocz(s->nb_streams * sizeof(*opts));
if (!opts) {
- av_log(NULL, AV_LOG_ERROR, "Could not alloc memory for stream
options.\n");
+ av_log(NULL, AV_LOG_ERROR,
+ "Could not alloc memory for stream options.\n");
return NULL;
}
for (i = 0; i < s->nb_streams; i++)
- opts[i] = filter_codec_opts(codec_opts,
s->streams[i]->codec->codec_id, s, s->streams[i]);
+ opts[i] = filter_codec_opts(codec_opts, s->streams[i]->codec->codec_id,
+ s, s->streams[i]);
return opts;
}
@@ -1043,10 +1069,10 @@ int get_filtered_video_frame(AVFilterContext *ctx,
AVFrame *frame,
memcpy(frame->data, picref->data, sizeof(frame->data));
memcpy(frame->linesize, picref->linesize, sizeof(frame->linesize));
- frame->interlaced_frame = picref->video->interlaced;
- frame->top_field_first = picref->video->top_field_first;
- frame->key_frame = picref->video->key_frame;
- frame->pict_type = picref->video->pict_type;
+ frame->interlaced_frame = picref->video->interlaced;
+ frame->top_field_first = picref->video->top_field_first;
+ frame->key_frame = picref->video->key_frame;
+ frame->pict_type = picref->video->pict_type;
frame->sample_aspect_ratio = picref->video->pixel_aspect;
return 1;
--
1.7.7.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel