bytestream: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
This commit is contained in:
Aneesh Dogra 2012-02-08 23:37:20 +05:30 committed by Diego Biurrun
parent a16c3a07a6
commit ab9ae40152
1 changed files with 68 additions and 53 deletions

View File

@ -24,6 +24,7 @@
#define AVCODEC_BYTESTREAM_H #define AVCODEC_BYTESTREAM_H
#include <string.h> #include <string.h>
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
@ -36,46 +37,52 @@ typedef struct {
int eof; int eof;
} PutByteContext; } PutByteContext;
#define DEF_T(type, name, bytes, read, write) \ #define DEF_T(type, name, bytes, read, write) \
static av_always_inline type bytestream_get_ ## name(const uint8_t **b){\ static av_always_inline type bytestream_get_ ## name(const uint8_t **b) \
(*b) += bytes;\ { \
return read(*b - bytes);\ (*b) += bytes; \
}\ return read(*b - bytes); \
static av_always_inline void bytestream_put_ ##name(uint8_t **b, const type value){\ } \
write(*b, value);\ static av_always_inline void bytestream_put_ ## name(uint8_t **b, \
(*b) += bytes;\ const type value) \
}\ { \
static av_always_inline void bytestream2_put_ ## name ## u(PutByteContext *p, const type value)\ write(*b, value); \
{\ (*b) += bytes; \
bytestream_put_ ## name(&p->buffer, value);\ } \
}\ static av_always_inline void bytestream2_put_ ## name ## u(PutByteContext *p, \
static av_always_inline void bytestream2_put_ ## name(PutByteContext *p, const type value){\ const type value) \
if (!p->eof && (p->buffer_end - p->buffer >= bytes)) {\ { \
write(p->buffer, value);\ bytestream_put_ ## name(&p->buffer, value); \
p->buffer += bytes;\ } \
} else\ static av_always_inline void bytestream2_put_ ## name(PutByteContext *p, \
p->eof = 1;\ const type value) \
}\ { \
static av_always_inline type bytestream2_get_ ## name ## u(GetByteContext *g)\ if (!p->eof && (p->buffer_end - p->buffer >= bytes)) { \
{\ write(p->buffer, value); \
return bytestream_get_ ## name(&g->buffer);\ p->buffer += bytes; \
}\ } else \
static av_always_inline type bytestream2_get_ ## name(GetByteContext *g)\ p->eof = 1; \
{\ } \
if (g->buffer_end - g->buffer < bytes)\ static av_always_inline type bytestream2_get_ ## name ## u(GetByteContext *g) \
return 0;\ { \
return bytestream2_get_ ## name ## u(g);\ return bytestream_get_ ## name(&g->buffer); \
}\ } \
static av_always_inline type bytestream2_peek_ ## name(GetByteContext *g)\ static av_always_inline type bytestream2_get_ ## name(GetByteContext *g) \
{\ { \
if (g->buffer_end - g->buffer < bytes)\ if (g->buffer_end - g->buffer < bytes) \
return 0;\ return 0; \
return read(g->buffer);\ return bytestream2_get_ ## name ## u(g); \
} \
static av_always_inline type bytestream2_peek_ ## name(GetByteContext *g) \
{ \
if (g->buffer_end - g->buffer < bytes) \
return 0; \
return read(g->buffer); \
} }
#define DEF(name, bytes, read, write) \ #define DEF(name, bytes, read, write) \
DEF_T(unsigned int, name, bytes, read, write) DEF_T(unsigned int, name, bytes, read, write)
#define DEF64(name, bytes, read, write) \ #define DEF64(name, bytes, read, write) \
DEF_T(uint64_t, name, bytes, read, write) DEF_T(uint64_t, name, bytes, read, write)
DEF64(le64, 8, AV_RL64, AV_WL64) DEF64(le64, 8, AV_RL64, AV_WL64)
@ -129,15 +136,17 @@ DEF (byte, 1, AV_RB8 , AV_WB8 )
#endif #endif
static av_always_inline void bytestream2_init(GetByteContext *g, static av_always_inline void bytestream2_init(GetByteContext *g,
const uint8_t *buf, int buf_size) const uint8_t *buf,
int buf_size)
{ {
g->buffer = buf; g->buffer = buf;
g->buffer_start = buf; g->buffer_start = buf;
g->buffer_end = buf + buf_size; g->buffer_end = buf + buf_size;
} }
static av_always_inline void bytestream2_init_writer(PutByteContext *p, static av_always_inline void bytestream2_init_writer(PutByteContext *p,
uint8_t *buf, int buf_size) uint8_t *buf,
int buf_size)
{ {
p->buffer = buf; p->buffer = buf;
p->buffer_start = buf; p->buffer_start = buf;
@ -183,21 +192,22 @@ static av_always_inline int bytestream2_tell_p(PutByteContext *p)
return (int)(p->buffer - p->buffer_start); return (int)(p->buffer - p->buffer_start);
} }
static av_always_inline int bytestream2_seek(GetByteContext *g, int offset, static av_always_inline int bytestream2_seek(GetByteContext *g,
int offset,
int whence) int whence)
{ {
switch (whence) { switch (whence) {
case SEEK_CUR: case SEEK_CUR:
offset = av_clip(offset, -(g->buffer - g->buffer_start), offset = av_clip(offset, -(g->buffer - g->buffer_start),
g->buffer_end - g->buffer); g->buffer_end - g->buffer);
g->buffer += offset; g->buffer += offset;
break; break;
case SEEK_END: case SEEK_END:
offset = av_clip(offset, -(g->buffer_end - g->buffer_start), 0); offset = av_clip(offset, -(g->buffer_end - g->buffer_start), 0);
g->buffer = g->buffer_end + offset; g->buffer = g->buffer_end + offset;
break; break;
case SEEK_SET: case SEEK_SET:
offset = av_clip(offset, 0, g->buffer_end - g->buffer_start); offset = av_clip(offset, 0, g->buffer_end - g->buffer_start);
g->buffer = g->buffer_start + offset; g->buffer = g->buffer_start + offset;
break; break;
default: default:
@ -206,7 +216,8 @@ static av_always_inline int bytestream2_seek(GetByteContext *g, int offset,
return bytestream2_tell(g); return bytestream2_tell(g);
} }
static av_always_inline int bytestream2_seek_p(PutByteContext *p, int offset, static av_always_inline int bytestream2_seek_p(PutByteContext *p,
int offset,
int whence) int whence)
{ {
p->eof = 0; p->eof = 0;
@ -214,20 +225,20 @@ static av_always_inline int bytestream2_seek_p(PutByteContext *p, int offset,
case SEEK_CUR: case SEEK_CUR:
if (p->buffer_end - p->buffer < offset) if (p->buffer_end - p->buffer < offset)
p->eof = 1; p->eof = 1;
offset = av_clip(offset, -(p->buffer - p->buffer_start), offset = av_clip(offset, -(p->buffer - p->buffer_start),
p->buffer_end - p->buffer); p->buffer_end - p->buffer);
p->buffer += offset; p->buffer += offset;
break; break;
case SEEK_END: case SEEK_END:
if (offset > 0) if (offset > 0)
p->eof = 1; p->eof = 1;
offset = av_clip(offset, -(p->buffer_end - p->buffer_start), 0); offset = av_clip(offset, -(p->buffer_end - p->buffer_start), 0);
p->buffer = p->buffer_end + offset; p->buffer = p->buffer_end + offset;
break; break;
case SEEK_SET: case SEEK_SET:
if (p->buffer_end - p->buffer_start < offset) if (p->buffer_end - p->buffer_start < offset)
p->eof = 1; p->eof = 1;
offset = av_clip(offset, 0, p->buffer_end - p->buffer_start); offset = av_clip(offset, 0, p->buffer_end - p->buffer_start);
p->buffer = p->buffer_start + offset; p->buffer = p->buffer_start + offset;
break; break;
default: default:
@ -280,14 +291,18 @@ static av_always_inline unsigned int bytestream2_get_eof(PutByteContext *p)
return p->eof; return p->eof;
} }
static av_always_inline unsigned int bytestream_get_buffer(const uint8_t **b, uint8_t *dst, unsigned int size) static av_always_inline unsigned int bytestream_get_buffer(const uint8_t **b,
uint8_t *dst,
unsigned int size)
{ {
memcpy(dst, *b, size); memcpy(dst, *b, size);
(*b) += size; (*b) += size;
return size; return size;
} }
static av_always_inline void bytestream_put_buffer(uint8_t **b, const uint8_t *src, unsigned int size) static av_always_inline void bytestream_put_buffer(uint8_t **b,
const uint8_t *src,
unsigned int size)
{ {
memcpy(*b, src, size); memcpy(*b, src, size);
(*b) += size; (*b) += size;