summaryrefslogtreecommitdiff
path: root/libavformat/avc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-09-25 00:02:52 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-09-25 00:09:42 +0200
commitb8d3f7fc21b987378bb6042e038d7f598374dba8 (patch)
treec6df276c639d6484d75b3bc24ff27a6c5101401f /libavformat/avc.c
parentad26e83f9cb8626346164ca5e794e940e63db32c (diff)
parenta2efbecc4ed12d287cf29856418c4da4a7648d95 (diff)
downloadffmpeg-b8d3f7fc21b987378bb6042e038d7f598374dba8.tar.gz
Merge commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95'
* commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95': libavformat: Move avc mp4 startcode parsing to a shared file Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avc.c')
-rw-r--r--libavformat/avc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libavformat/avc.c b/libavformat/avc.c
index f5c513bb31..c927b47752 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;
+}