Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
cac651c8
Commit
cac651c8
authored
Aug 29, 2011
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmdutils: move grow_array() from avconv to cmdutils.
parent
dad09ff9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
40 deletions
+29
-40
avconv.c
avconv.c
+0
-20
cmdutils.c
cmdutils.c
+19
-0
cmdutils.h
cmdutils.h
+10
-0
ffmpeg.c
ffmpeg.c
+0
-20
No files found.
avconv.c
View file @
cac651c8
...
...
@@ -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
){
...
...
cmdutils.c
View file @
cac651c8
...
...
@@ -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 */
cmdutils.h
View file @
cac651c8
...
...
@@ -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 */
ffmpeg.c
View file @
cac651c8
...
...
@@ -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
){
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment