[FFmpeg-cvslog] bytestream: add more unchecked variants for bytestream2 API

Paul B Mahol git at videolan.org
Thu May 3 00:26:20 CEST 2012


ffmpeg | branch: release/0.10 | Paul B Mahol <onemda at gmail.com> | Tue Mar 13 14:14:59 2012 +0000| [9e24f2a1f06bd902505ddf8860e69b120d39654d] | committer: Reinhard Tartler

bytestream: add more unchecked variants for bytestream2 API

Signed-off-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
(cherry picked from commit f1ce053cd0e0d7dc67fa61f32bcd8b6ee5e5c490)

Signed-off-by: Reinhard Tartler <siretart at tauware.de>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e24f2a1f06bd902505ddf8860e69b120d39654d
---

 libavcodec/bytestream.h |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/libavcodec/bytestream.h b/libavcodec/bytestream.h
index 4d686e5..6814620 100644
--- a/libavcodec/bytestream.h
+++ b/libavcodec/bytestream.h
@@ -170,6 +170,12 @@ static av_always_inline void bytestream2_skip(GetByteContext *g,
     g->buffer += FFMIN(g->buffer_end - g->buffer, size);
 }
 
+static av_always_inline void bytestream2_skipu(GetByteContext *g,
+                                               unsigned int size)
+{
+    g->buffer += size;
+}
+
 static av_always_inline void bytestream2_skip_p(PutByteContext *p,
                                                 unsigned int size)
 {
@@ -257,6 +263,15 @@ static av_always_inline unsigned int bytestream2_get_buffer(GetByteContext *g,
     return size2;
 }
 
+static av_always_inline unsigned int bytestream2_get_bufferu(GetByteContext *g,
+                                                             uint8_t *dst,
+                                                             unsigned int size)
+{
+    memcpy(dst, g->buffer, size);
+    g->buffer += size;
+    return size;
+}
+
 static av_always_inline unsigned int bytestream2_put_buffer(PutByteContext *p,
                                                             const uint8_t *src,
                                                             unsigned int size)
@@ -272,6 +287,15 @@ static av_always_inline unsigned int bytestream2_put_buffer(PutByteContext *p,
     return size2;
 }
 
+static av_always_inline unsigned int bytestream2_put_bufferu(PutByteContext *p,
+                                                             const uint8_t *src,
+                                                             unsigned int size)
+{
+    memcpy(p->buffer, src, size);
+    p->buffer += size;
+    return size;
+}
+
 static av_always_inline void bytestream2_set_buffer(PutByteContext *p,
                                                     const uint8_t c,
                                                     unsigned int size)
@@ -286,6 +310,14 @@ static av_always_inline void bytestream2_set_buffer(PutByteContext *p,
     p->buffer += size2;
 }
 
+static av_always_inline void bytestream2_set_bufferu(PutByteContext *p,
+                                                     const uint8_t c,
+                                                     unsigned int size)
+{
+    memset(p->buffer, c, size);
+    p->buffer += size;
+}
+
 static av_always_inline unsigned int bytestream2_get_eof(PutByteContext *p)
 {
     return p->eof;



More information about the ffmpeg-cvslog mailing list