diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-20 01:03:54 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-20 01:04:03 +0400 |
commit | 330983b728cceaf8f18557f23e333375a76f1a73 (patch) | |
tree | cecbaa72dd42c52833e8a1b57fdc018eb357cebd | |
parent | f61498e1dfbac9f07f826340c00f9caf7235766c (diff) | |
parent | 10bca66101b79954512cd9d8ee20c3bc4513adf3 (diff) |
Merge commit '10bca66101b79954512cd9d8ee20c3bc4513adf3'
* commit '10bca66101b79954512cd9d8ee20c3bc4513adf3':
cmdutils: add a macro to simplify grow_array() calls.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | cmdutils.h | 3 | ||||
-rw-r--r-- | ffmpeg_filter.c | 21 | ||||
-rw-r--r-- | ffmpeg_opt.c | 21 |
3 files changed, 18 insertions, 27 deletions
diff --git a/cmdutils.h b/cmdutils.h index 931b634f4a..a33e33b5ef 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -427,6 +427,9 @@ FILE *get_preset_file(char *filename, size_t filename_size, */ void *grow_array(void *array, int elem_size, int *size, int new_size); +#define GROW_ARRAY(array, nb_elems)\ + array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1) + typedef struct FrameBuffer { uint8_t *base[4]; uint8_t *data[4]; diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index ebf98c6c58..ebd44e30ea 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -179,8 +179,7 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost) exit(1); fg->index = nb_filtergraphs; - fg->outputs = grow_array(fg->outputs, sizeof(*fg->outputs), &fg->nb_outputs, - fg->nb_outputs + 1); + GROW_ARRAY(fg->outputs, fg->nb_outputs); if (!(fg->outputs[0] = av_mallocz(sizeof(*fg->outputs[0])))) exit(1); fg->outputs[0]->ost = ost; @@ -188,19 +187,16 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost) ost->filter = fg->outputs[0]; - fg->inputs = grow_array(fg->inputs, sizeof(*fg->inputs), &fg->nb_inputs, - fg->nb_inputs + 1); + GROW_ARRAY(fg->inputs, fg->nb_inputs); if (!(fg->inputs[0] = av_mallocz(sizeof(*fg->inputs[0])))) exit(1); fg->inputs[0]->ist = ist; fg->inputs[0]->graph = fg; - ist->filters = grow_array(ist->filters, sizeof(*ist->filters), - &ist->nb_filters, ist->nb_filters + 1); + GROW_ARRAY(ist->filters, ist->nb_filters); ist->filters[ist->nb_filters - 1] = fg->inputs[0]; - filtergraphs = grow_array(filtergraphs, sizeof(*filtergraphs), - &nb_filtergraphs, nb_filtergraphs + 1); + GROW_ARRAY(filtergraphs, nb_filtergraphs); filtergraphs[nb_filtergraphs - 1] = fg; return fg; @@ -269,15 +265,13 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in) ist->decoding_needed++; ist->st->discard = AVDISCARD_NONE; - fg->inputs = grow_array(fg->inputs, sizeof(*fg->inputs), - &fg->nb_inputs, fg->nb_inputs + 1); + GROW_ARRAY(fg->inputs, fg->nb_inputs); if (!(fg->inputs[fg->nb_inputs - 1] = av_mallocz(sizeof(*fg->inputs[0])))) exit(1); fg->inputs[fg->nb_inputs - 1]->ist = ist; fg->inputs[fg->nb_inputs - 1]->graph = fg; - ist->filters = grow_array(ist->filters, sizeof(*ist->filters), - &ist->nb_filters, ist->nb_filters + 1); + GROW_ARRAY(ist->filters, ist->nb_filters); ist->filters[ist->nb_filters - 1] = fg->inputs[fg->nb_inputs - 1]; } @@ -772,8 +766,7 @@ int configure_filtergraph(FilterGraph *fg) } else { /* wait until output mappings are processed */ for (cur = outputs; cur;) { - fg->outputs = grow_array(fg->outputs, sizeof(*fg->outputs), - &fg->nb_outputs, fg->nb_outputs + 1); + GROW_ARRAY(fg->outputs, fg->nb_outputs); if (!(fg->outputs[fg->nb_outputs - 1] = av_mallocz(sizeof(*fg->outputs[0])))) exit(1); fg->outputs[fg->nb_outputs - 1]->graph = fg; diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index c846a10e61..de1b75cb94 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -244,8 +244,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg) if (map[0] == '[') { /* this mapping refers to lavfi output */ const char *c = map + 1; - o->stream_maps = grow_array(o->stream_maps, sizeof(*o->stream_maps), - &o->nb_stream_maps, o->nb_stream_maps + 1); + GROW_ARRAY(o->stream_maps, o->nb_stream_maps); m = &o->stream_maps[o->nb_stream_maps - 1]; m->linklabel = av_get_token(&c, "]"); if (!m->linklabel) { @@ -273,8 +272,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg) if (check_stream_specifier(input_files[file_idx]->ctx, input_files[file_idx]->ctx->streams[i], *p == ':' ? p + 1 : p) <= 0) continue; - o->stream_maps = grow_array(o->stream_maps, sizeof(*o->stream_maps), - &o->nb_stream_maps, o->nb_stream_maps + 1); + GROW_ARRAY(o->stream_maps, o->nb_stream_maps); m = &o->stream_maps[o->nb_stream_maps - 1]; m->file_index = file_idx; @@ -302,8 +300,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg) static int opt_attach(void *optctx, const char *opt, const char *arg) { OptionsContext *o = optctx; - o->attachments = grow_array(o->attachments, sizeof(*o->attachments), - &o->nb_attachments, o->nb_attachments + 1); + GROW_ARRAY(o->attachments, o->nb_attachments); o->attachments[o->nb_attachments - 1] = arg; return 0; } @@ -565,7 +562,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic) if (!ist) exit(1); - input_streams = grow_array(input_streams, sizeof(*input_streams), &nb_input_streams, nb_input_streams + 1); + GROW_ARRAY(input_streams, nb_input_streams); input_streams[nb_input_streams - 1] = ist; ist->st = st; @@ -820,7 +817,7 @@ static int opt_input_file(void *optctx, const char *opt, const char *filename) /* dump the file content */ av_dump_format(ic, nb_input_files, filename, 0); - input_files = grow_array(input_files, sizeof(*input_files), &nb_input_files, nb_input_files + 1); + GROW_ARRAY(input_files, nb_input_files); if (!(input_files[nb_input_files - 1] = av_mallocz(sizeof(*input_files[0])))) exit(1); @@ -928,8 +925,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e if (oc->nb_streams - 1 < o->nb_streamid_map) st->id = o->streamid_map[oc->nb_streams - 1]; - output_streams = grow_array(output_streams, sizeof(*output_streams), &nb_output_streams, - nb_output_streams + 1); + GROW_ARRAY(output_streams, nb_output_streams); if (!(ost = av_mallocz(sizeof(*ost)))) exit(1); output_streams[nb_output_streams - 1] = ost; @@ -1667,7 +1663,7 @@ loop_end: avio_close(pb); } - output_files = grow_array(output_files, sizeof(*output_files), &nb_output_files, nb_output_files + 1); + GROW_ARRAY(output_files, nb_output_files); if (!(output_files[nb_output_files - 1] = av_mallocz(sizeof(*output_files[0])))) exit(1); @@ -2160,8 +2156,7 @@ static int opt_audio_qscale(void *optctx, const char *opt, const char *arg) static int opt_filter_complex(void *optctx, const char *opt, const char *arg) { - filtergraphs = grow_array(filtergraphs, sizeof(*filtergraphs), - &nb_filtergraphs, nb_filtergraphs + 1); + GROW_ARRAY(filtergraphs, nb_filtergraphs); if (!(filtergraphs[nb_filtergraphs - 1] = av_mallocz(sizeof(*filtergraphs[0])))) return AVERROR(ENOMEM); filtergraphs[nb_filtergraphs - 1]->index = nb_filtergraphs - 1; |