diff options
author | Martin Storsjö <martin@martin.st> | 2014-09-24 11:17:04 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2014-09-24 23:33:17 +0300 |
commit | a2efbecc4ed12d287cf29856418c4da4a7648d95 (patch) | |
tree | aa2f845409536374b7502ecbe1bec549bd73f7c7 /libavformat/avc.c | |
parent | c463dfc7e49929a9891884312b23b27d14729c51 (diff) | |
download | ffmpeg-a2efbecc4ed12d287cf29856418c4da4a7648d95.tar.gz |
libavformat: Move avc mp4 startcode parsing to a shared file
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/avc.c')
-rw-r--r-- | libavformat/avc.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libavformat/avc.c b/libavformat/avc.c index 2fd5ac807b..e639ed5593 100644 --- a/libavformat/avc.c +++ b/libavformat/avc.c @@ -191,3 +191,20 @@ int ff_avc_write_annexb_extradata(const uint8_t *in, uint8_t **buf, int *size) *size = out_size; return 0; } + +const uint8_t *ff_avc_mp4_find_startcode(const uint8_t *start, + const uint8_t *end, + int nal_length_size) +{ + unsigned int res = 0; + + if (end - start < nal_length_size) + return NULL; + while (nal_length_size--) + res = (res << 8) | *start++; + + if (res > end - start) + return NULL; + + return start + res; +} |