Commit 17ee8f66 authored by Anssi Hannula's avatar Anssi Hannula Committed by Carl Eugen Hoyos

Add function put_nbyte() to speed up padding in SPDIF muxer.

Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26193 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent d2995eb9
...@@ -353,6 +353,7 @@ ByteIOContext *av_alloc_put_byte( ...@@ -353,6 +353,7 @@ ByteIOContext *av_alloc_put_byte(
int64_t (*seek)(void *opaque, int64_t offset, int whence)); int64_t (*seek)(void *opaque, int64_t offset, int whence));
void put_byte(ByteIOContext *s, int b); void put_byte(ByteIOContext *s, int b);
void put_nbyte(ByteIOContext *s, int b, int count);
void put_buffer(ByteIOContext *s, const unsigned char *buf, int size); void put_buffer(ByteIOContext *s, const unsigned char *buf, int size);
void put_le64(ByteIOContext *s, uint64_t val); void put_le64(ByteIOContext *s, uint64_t val);
void put_be64(ByteIOContext *s, uint64_t val); void put_be64(ByteIOContext *s, uint64_t val);
......
...@@ -113,6 +113,20 @@ void put_byte(ByteIOContext *s, int b) ...@@ -113,6 +113,20 @@ void put_byte(ByteIOContext *s, int b)
flush_buffer(s); flush_buffer(s);
} }
void put_nbyte(ByteIOContext *s, int b, int count)
{
while (count > 0) {
int len = FFMIN(s->buf_end - s->buf_ptr, count);
memset(s->buf_ptr, b, len);
s->buf_ptr += len;
if (s->buf_ptr >= s->buf_end)
flush_buffer(s);
count -= len;
}
}
void put_buffer(ByteIOContext *s, const unsigned char *buf, int size) void put_buffer(ByteIOContext *s, const unsigned char *buf, int size)
{ {
while (size > 0) { while (size > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment