mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-05-27 15:09:18 +00:00
cmdutils: move grow_array() from avconv to cmdutils.
This commit is contained in:
parent
dad09ff93f
commit
cac651c834
4 changed files with 29 additions and 40 deletions
19
cmdutils.c
19
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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue