Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Stefan Westerfeld
ffmpeg
Commits
ab9ae401
Commit
ab9ae401
authored
Feb 08, 2012
by
Aneesh Dogra
Committed by
Diego Biurrun
Feb 09, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bytestream: K&R formatting cosmetics
Signed-off-by:
Diego Biurrun
<
diego@biurrun.de
>
parent
a16c3a07
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
53 deletions
+68
-53
bytestream.h
libavcodec/bytestream.h
+68
-53
No files found.
libavcodec/bytestream.h
View file @
ab9ae401
...
...
@@ -24,6 +24,7 @@
#define AVCODEC_BYTESTREAM_H
#include <string.h>
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
...
...
@@ -36,46 +37,52 @@ typedef struct {
int
eof
;
}
PutByteContext
;
#define DEF_T(type, name, bytes, read, write) \
static av_always_inline type bytestream_get_ ## name(const uint8_t **b){\
(*b) += bytes;\
return read(*b - bytes);\
}\
static av_always_inline void bytestream_put_ ##name(uint8_t **b, const type value){\
write(*b, value);\
(*b) += bytes;\
}\
static av_always_inline void bytestream2_put_ ## name ## u(PutByteContext *p, const type value)\
{\
bytestream_put_ ## name(&p->buffer, value);\
}\
static av_always_inline void bytestream2_put_ ## name(PutByteContext *p, const type value){\
if (!p->eof && (p->buffer_end - p->buffer >= bytes)) {\
write(p->buffer, value);\
p->buffer += bytes;\
} else\
p->eof = 1;\
}\
static av_always_inline type bytestream2_get_ ## name ## u(GetByteContext *g)\
{\
return bytestream_get_ ## name(&g->buffer);\
}\
static av_always_inline type bytestream2_get_ ## name(GetByteContext *g)\
{\
if (g->buffer_end - g->buffer < bytes)\
return 0;\
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_T(type, name, bytes, read, write) \
static av_always_inline type bytestream_get_ ## name(const uint8_t **b) \
{ \
(*b) += bytes; \
return read(*b - bytes); \
} \
static av_always_inline void bytestream_put_ ## name(uint8_t **b, \
const type value) \
{ \
write(*b, value); \
(*b) += bytes; \
} \
static av_always_inline void bytestream2_put_ ## name ## u(PutByteContext *p, \
const type value) \
{ \
bytestream_put_ ## name(&p->buffer, value); \
} \
static av_always_inline void bytestream2_put_ ## name(PutByteContext *p, \
const type value) \
{ \
if (!p->eof && (p->buffer_end - p->buffer >= bytes)) { \
write(p->buffer, value); \
p->buffer += bytes; \
} else \
p->eof = 1; \
} \
static av_always_inline type bytestream2_get_ ## name ## u(GetByteContext *g) \
{ \
return bytestream_get_ ## name(&g->buffer); \
} \
static av_always_inline type bytestream2_get_ ## name(GetByteContext *g) \
{ \
if (g->buffer_end - g->buffer < bytes) \
return 0; \
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)
#define DEF64(name, bytes, read, write) \
#define DEF64(name, bytes, read, write)
\
DEF_T(uint64_t, name, bytes, read, write)
DEF64
(
le64
,
8
,
AV_RL64
,
AV_WL64
)
...
...
@@ -129,15 +136,17 @@ DEF (byte, 1, AV_RB8 , AV_WB8 )
#endif
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_end
=
buf
+
buf_size
;
g
->
buffer_end
=
buf
+
buf_size
;
}
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_start
=
buf
;
...
...
@@ -183,21 +192,22 @@ static av_always_inline int bytestream2_tell_p(PutByteContext *p)
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
)
{
switch
(
whence
)
{
case
SEEK_CUR
:
offset
=
av_clip
(
offset
,
-
(
g
->
buffer
-
g
->
buffer_start
),
g
->
buffer_end
-
g
->
buffer
);
offset
=
av_clip
(
offset
,
-
(
g
->
buffer
-
g
->
buffer_start
),
g
->
buffer_end
-
g
->
buffer
);
g
->
buffer
+=
offset
;
break
;
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
;
break
;
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
;
break
;
default
:
...
...
@@ -206,7 +216,8 @@ static av_always_inline int bytestream2_seek(GetByteContext *g, int offset,
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
)
{
p
->
eof
=
0
;
...
...
@@ -214,20 +225,20 @@ static av_always_inline int bytestream2_seek_p(PutByteContext *p, int offset,
case
SEEK_CUR
:
if
(
p
->
buffer_end
-
p
->
buffer
<
offset
)
p
->
eof
=
1
;
offset
=
av_clip
(
offset
,
-
(
p
->
buffer
-
p
->
buffer_start
),
p
->
buffer_end
-
p
->
buffer
);
offset
=
av_clip
(
offset
,
-
(
p
->
buffer
-
p
->
buffer_start
),
p
->
buffer_end
-
p
->
buffer
);
p
->
buffer
+=
offset
;
break
;
case
SEEK_END
:
if
(
offset
>
0
)
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
;
break
;
case
SEEK_SET
:
if
(
p
->
buffer_end
-
p
->
buffer_start
<
offset
)
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
;
break
;
default
:
...
...
@@ -280,14 +291,18 @@ static av_always_inline unsigned int bytestream2_get_eof(PutByteContext *p)
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
);
(
*
b
)
+=
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
);
(
*
b
)
+=
size
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment