On Fri, Sep 2, 2011 at 1:22 PM, Anton Khirnov <[email protected]> wrote: > --- > Forgot to remove grow_array() from ffmpeg.c > --- > avconv.c | 20 -------------------- > cmdutils.c | 19 +++++++++++++++++++ > cmdutils.h | 10 ++++++++++ > ffmpeg.c | 20 -------------------- > 4 files changed, 29 insertions(+), 40 deletions(-) > > diff --git a/avconv.c b/avconv.c > index 52a7108..33da836 100644 > --- a/avconv.c > +++ b/avconv.c > @@ -511,26 +511,6 @@ static void assert_codec_experimental(AVCodecContext *c, > int encoder) > } > } > > -/* similar to ff_dynarray_add() and av_fast_realloc() */ > -static void *grow_array(void *array, int elem_size, int *size, int new_size) > -{ > - if (new_size >= INT_MAX / elem_size) { > - fprintf(stderr, "Array too big.\n"); > - exit_program(1); > - } > - if (*size < new_size) { > - uint8_t *tmp = av_realloc(array, new_size*elem_size); > - if (!tmp) { > - fprintf(stderr, "Could not alloc buffer.\n"); > - exit_program(1); > - } > - memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size); > - *size = new_size; > - return tmp; > - } > - return array; > -} > - > static void choose_sample_fmt(AVStream *st, AVCodec *codec) > { > if(codec && codec->sample_fmts){ > diff --git a/cmdutils.c b/cmdutils.c > index a86c55b..9e34e43 100644 > --- a/cmdutils.c > +++ b/cmdutils.c > @@ -931,4 +931,23 @@ int get_filtered_video_frame(AVFilterContext *ctx, > AVFrame *frame, > return 1; > } > > +void *grow_array(void *array, int elem_size, int *size, int new_size) > +{ > + if (new_size >= INT_MAX / elem_size) { > + av_log(NULL, AV_LOG_ERROR, "Array too big.\n"); > + exit_program(1); > + } > + if (*size < new_size) { > + uint8_t *tmp = av_realloc(array, new_size*elem_size); > + if (!tmp) { > + av_log(NULL, AV_LOG_ERROR, "Could not alloc buffer.\n"); > + exit_program(1); > + } > + memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size); > + *size = new_size; > + return tmp; > + } > + return array; > +} > + > #endif /* CONFIG_AVFILTER */ > diff --git a/cmdutils.h b/cmdutils.h > index 65b1ae4..2173f0d 100644 > --- a/cmdutils.h > +++ b/cmdutils.h > @@ -333,4 +333,14 @@ int get_filtered_video_frame(AVFilterContext *sink, > AVFrame *frame, > */ > void exit_program(int ret); > > +/** > + * Realloc array to hold new_size elements of elem_size. > + * Calls exit_program() on failure. > + * > + * @param elem_size size in bytes of each element > + * @param size new element count will be written here > + * @return reallocated array > + */ > +void *grow_array(void *array, int elem_size, int *size, int new_size); > + > #endif /* LIBAV_CMDUTILS_H */ > diff --git a/ffmpeg.c b/ffmpeg.c > index eec028f..242cd3f 100644 > --- a/ffmpeg.c > +++ b/ffmpeg.c > @@ -529,26 +529,6 @@ static void assert_codec_experimental(AVCodecContext *c, > int encoder) > } > } > > -/* similar to ff_dynarray_add() and av_fast_realloc() */ > -static void *grow_array(void *array, int elem_size, int *size, int new_size) > -{ > - if (new_size >= INT_MAX / elem_size) { > - fprintf(stderr, "Array too big.\n"); > - exit_program(1); > - } > - if (*size < new_size) { > - uint8_t *tmp = av_realloc(array, new_size*elem_size); > - if (!tmp) { > - fprintf(stderr, "Could not alloc buffer.\n"); > - exit_program(1); > - } > - memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size); > - *size = new_size; > - return tmp; > - } > - return array; > -} > - > static void choose_sample_fmt(AVStream *st, AVCodec *codec) > { > if(codec && codec->sample_fmts){ > -- > 1.7.5.4 >
OK if you aren't planning on changing the grow_array functionality. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
