aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/avc.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-09-24 11:17:04 +0300
committerMartin Storsjö <martin@martin.st>2014-09-24 23:33:17 +0300
commita2efbecc4ed12d287cf29856418c4da4a7648d95 (patch)
treeaa2f845409536374b7502ecbe1bec549bd73f7c7 /libavformat/avc.c
parentc463dfc7e49929a9891884312b23b27d14729c51 (diff)
downloadffmpeg-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.c17
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;
+}