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
b7a22d84
Commit
b7a22d84
authored
Jan 21, 2003
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup
Originally committed as revision 1487 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
68f593b4
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
25 deletions
+45
-25
avcodec.h
libavcodec/avcodec.h
+1
-0
h263dec.c
libavcodec/h263dec.c
+3
-25
mem.c
libavcodec/mem.c
+11
-0
mpegvideo.c
libavcodec/mpegvideo.c
+29
-0
mpegvideo.h
libavcodec/mpegvideo.h
+1
-0
No files found.
libavcodec/avcodec.h
View file @
b7a22d84
...
...
@@ -1236,6 +1236,7 @@ void *av_mallocz(unsigned int size);
void
av_free
(
void
*
ptr
);
void
__av_freep
(
void
**
ptr
);
#define av_freep(p) __av_freep((void **)(p))
void
*
av_fast_realloc
(
void
*
ptr
,
int
*
size
,
int
min_size
);
/* for static data only */
/* call av_free_static to release all staticaly allocated tables */
void
av_free_static
(
void
);
...
...
libavcodec/h263dec.c
View file @
b7a22d84
...
...
@@ -401,41 +401,19 @@ uint64_t time= rdtsc();
if
(
buf_size
==
0
)
{
return
0
;
}
if
(
s
->
flags
&
CODEC_FLAG_TRUNCATED
){
int
next
;
ParseContext
*
pc
=
&
s
->
parse_context
;
pc
->
last_index
=
pc
->
index
;
if
(
s
->
codec_id
==
CODEC_ID_MPEG4
){
next
=
mpeg4_find_frame_end
(
s
,
buf
,
buf_size
);
}
else
{
fprintf
(
stderr
,
"this codec doesnt support truncated bitstreams
\n
"
);
return
-
1
;
}
if
(
next
==-
1
){
if
(
buf_size
+
FF_INPUT_BUFFER_PADDING_SIZE
+
pc
->
index
>
pc
->
buffer_size
){
pc
->
buffer_size
=
buf_size
+
pc
->
index
+
10
*
1024
;
pc
->
buffer
=
realloc
(
pc
->
buffer
,
pc
->
buffer_size
);
}
memcpy
(
&
pc
->
buffer
[
pc
->
index
],
buf
,
buf_size
);
pc
->
index
+=
buf_size
;
if
(
ff_combine_frame
(
s
,
next
,
&
buf
,
&
buf_size
)
<
0
)
return
buf_size
;
}
if
(
pc
->
index
){
if
(
next
+
FF_INPUT_BUFFER_PADDING_SIZE
+
pc
->
index
>
pc
->
buffer_size
){
pc
->
buffer_size
=
next
+
pc
->
index
+
10
*
1024
;
pc
->
buffer
=
realloc
(
pc
->
buffer
,
pc
->
buffer_size
);
}
memcpy
(
&
pc
->
buffer
[
pc
->
index
],
buf
,
next
+
FF_INPUT_BUFFER_PADDING_SIZE
);
pc
->
index
=
0
;
buf
=
pc
->
buffer
;
buf_size
=
pc
->
last_index
+
next
;
}
}
retry
:
...
...
libavcodec/mem.c
View file @
b7a22d84
...
...
@@ -71,6 +71,17 @@ void *av_malloc(unsigned int size)
return
ptr
;
}
/**
* realloc which does nothing if the block is large enogh
*/
void
*
av_fast_realloc
(
void
*
ptr
,
int
*
size
,
int
min_size
){
if
(
min_size
<
*
size
)
return
ptr
;
*
size
=
min_size
+
10
*
1024
;
return
realloc
(
ptr
,
*
size
);
}
/* NOTE: ptr = NULL is explicetly allowed */
void
av_free
(
void
*
ptr
)
{
...
...
libavcodec/mpegvideo.c
View file @
b7a22d84
...
...
@@ -2627,6 +2627,35 @@ static void encode_mb(MpegEncContext *s, int motion_x, int motion_y)
#endif
}
/**
* combines the (truncated) bitstream to a complete frame
* @returns -1 if no complete frame could be created
*/
int
ff_combine_frame
(
MpegEncContext
*
s
,
int
next
,
uint8_t
**
buf
,
int
*
buf_size
){
ParseContext
*
pc
=
&
s
->
parse_context
;
pc
->
last_index
=
pc
->
index
;
if
(
next
==-
1
){
pc
->
buffer
=
av_fast_realloc
(
pc
->
buffer
,
&
pc
->
buffer_size
,
(
*
buf_size
)
+
pc
->
index
+
FF_INPUT_BUFFER_PADDING_SIZE
);
memcpy
(
&
pc
->
buffer
[
pc
->
index
],
*
buf
,
*
buf_size
);
pc
->
index
+=
*
buf_size
;
return
-
1
;
}
if
(
pc
->
index
){
pc
->
buffer
=
av_fast_realloc
(
pc
->
buffer
,
&
pc
->
buffer_size
,
next
+
pc
->
index
+
FF_INPUT_BUFFER_PADDING_SIZE
);
memcpy
(
&
pc
->
buffer
[
pc
->
index
],
*
buf
,
next
+
FF_INPUT_BUFFER_PADDING_SIZE
);
pc
->
index
=
0
;
*
buf
=
pc
->
buffer
;
*
buf_size
=
pc
->
last_index
+
next
;
}
return
0
;
}
void
ff_copy_bits
(
PutBitContext
*
pb
,
UINT8
*
src
,
int
length
)
{
int
bytes
=
length
>>
4
;
...
...
libavcodec/mpegvideo.h
View file @
b7a22d84
...
...
@@ -604,6 +604,7 @@ void ff_draw_horiz_band(MpegEncContext *s);
void
ff_emulated_edge_mc
(
MpegEncContext
*
s
,
UINT8
*
src
,
int
linesize
,
int
block_w
,
int
block_h
,
int
src_x
,
int
src_y
,
int
w
,
int
h
);
char
ff_get_pict_type_char
(
int
pict_type
);
int
ff_combine_frame
(
MpegEncContext
*
s
,
int
next
,
uint8_t
**
buf
,
int
*
buf_size
);
extern
enum
PixelFormat
ff_yuv420p_list
[
2
];
...
...
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