Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
e42bb0ee
Commit
e42bb0ee
authored
Dec 17, 2011
by
Mans Rullgard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
get_bits: whitespace (mostly) cosmetics
Signed-off-by:
Mans Rullgard
<
mans@mansr.com
>
parent
ed46a3d8
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
73 additions
and
49 deletions
+73
-49
get_bits.h
libavcodec/get_bits.h
+73
-49
No files found.
libavcodec/get_bits.h
View file @
e42bb0ee
...
...
@@ -125,33 +125,37 @@ for examples see get_bits, show_bits, skip_bits, get_vlc
# define MIN_CACHE_BITS 25
#endif
#
define OPEN_READER(name, gb)
\
#
define OPEN_READER(name, gb)
\
unsigned int name##_index = (gb)->index; \
unsigned int av_unused name##_cache = 0
# define CLOSE_READER(name, gb) (gb)->index = name##_index
#define CLOSE_READER(name, gb) (gb)->index = name##_index
#ifdef ALT_BITSTREAM_READER_LE
# ifdef ALT_BITSTREAM_READER_LE
# ifdef LONG_BITSTREAM_READER
# define UPDATE_CACHE(name, gb) \
name##_cache = AV_RL64((gb)->buffer+(name##_index>>3)) >> (name##_index&0x0
7)
# define UPDATE_CACHE(name, gb)
name##_cache =
\
AV_RL64((gb)->buffer + (name##_index >> 3)) >> (name##_index &
7)
# else
# define UPDATE_CACHE(name, gb) \
name##_cache = AV_RL32((gb)->buffer+(name##_index>>3)) >> (name##_index&0x0
7)
# define UPDATE_CACHE(name, gb)
name##_cache =
\
AV_RL32((gb)->buffer + (name##_index >> 3)) >> (name##_index &
7)
# endif
# define SKIP_CACHE(name, gb, num) name##_cache >>= (num)
# else
#else
# ifdef LONG_BITSTREAM_READER
# define UPDATE_CACHE(name, gb) \
name##_cache = AV_RB64((gb)->buffer+(name##_index >> 3)) >> (32 - (name##_index & 0x0
7))
# define UPDATE_CACHE(name, gb)
name##_cache =
\
AV_RB64((gb)->buffer + (name##_index >> 3)) >> (32 - (name##_index &
7))
# else
# define UPDATE_CACHE(name, gb) \
name##_cache = AV_RB32((gb)->buffer+(name##_index>>3)) << (name##_index&0x0
7)
# define UPDATE_CACHE(name, gb)
name##_cache =
\
AV_RB32((gb)->buffer + (name##_index >> 3)) << (name##_index &
7)
# endif
# define SKIP_CACHE(name, gb, num) name##_cache <<= (num)
# endif
#endif
// FIXME name?
#if UNCHECKED_BITSTREAM_READER
...
...
@@ -161,27 +165,26 @@ for examples see get_bits, show_bits, skip_bits, get_vlc
name##_index = FFMIN((gb)->size_in_bits_plus8, name##_index + (num))
#endif
#
define SKIP_BITS(name, gb, num) do {
\
#
define SKIP_BITS(name, gb, num) do {
\
SKIP_CACHE(name, gb, num); \
SKIP_COUNTER(name, gb, num); \
} while (0)
#
define LAST_SKIP_BITS(name, gb, num) SKIP_COUNTER(name, gb, num)
#
define LAST_SKIP_CACHE(name, gb, num)
#define LAST_SKIP_BITS(name, gb, num) SKIP_COUNTER(name, gb, num)
#define LAST_SKIP_CACHE(name, gb, num)
#
ifdef ALT_BITSTREAM_READER_LE
#ifdef ALT_BITSTREAM_READER_LE
# define SHOW_UBITS(name, gb, num) zero_extend(name##_cache, num)
# define SHOW_SBITS(name, gb, num) sign_extend(name##_cache, num)
#
else
#else
# define SHOW_UBITS(name, gb, num) NEG_USR32(name##_cache, num)
# define SHOW_SBITS(name, gb, num) NEG_SSR32(name##_cache, num)
#
endif
#endif
#
define GET_CACHE(name, gb) ((uint32_t)name##_cache)
#define GET_CACHE(name, gb) ((uint32_t)name##_cache)
static
inline
int
get_bits_count
(
const
GetBitContext
*
s
){
static
inline
int
get_bits_count
(
const
GetBitContext
*
s
)
{
return
s
->
index
;
}
...
...
@@ -199,7 +202,8 @@ static inline void skip_bits_long(GetBitContext *s, int n){
* @param n length in bits
* @author BERO
*/
static
inline
int
get_xbits
(
GetBitContext
*
s
,
int
n
){
static
inline
int
get_xbits
(
GetBitContext
*
s
,
int
n
)
{
register
int
sign
;
register
int32_t
cache
;
OPEN_READER
(
re
,
s
);
...
...
@@ -211,7 +215,8 @@ static inline int get_xbits(GetBitContext *s, int n){
return
(
NEG_USR32
(
sign
^
cache
,
n
)
^
sign
)
-
sign
;
}
static
inline
int
get_sbits
(
GetBitContext
*
s
,
int
n
){
static
inline
int
get_sbits
(
GetBitContext
*
s
,
int
n
)
{
register
int
tmp
;
OPEN_READER
(
re
,
s
);
UPDATE_CACHE
(
re
,
s
);
...
...
@@ -224,7 +229,8 @@ static inline int get_sbits(GetBitContext *s, int n){
/**
* Read 1-25 bits.
*/
static
inline
unsigned
int
get_bits
(
GetBitContext
*
s
,
int
n
){
static
inline
unsigned
int
get_bits
(
GetBitContext
*
s
,
int
n
)
{
register
int
tmp
;
OPEN_READER
(
re
,
s
);
UPDATE_CACHE
(
re
,
s
);
...
...
@@ -237,7 +243,8 @@ static inline unsigned int get_bits(GetBitContext *s, int n){
/**
* Show 1-25 bits.
*/
static
inline
unsigned
int
show_bits
(
GetBitContext
*
s
,
int
n
){
static
inline
unsigned
int
show_bits
(
GetBitContext
*
s
,
int
n
)
{
register
int
tmp
;
OPEN_READER
(
re
,
s
);
UPDATE_CACHE
(
re
,
s
);
...
...
@@ -245,7 +252,8 @@ static inline unsigned int show_bits(GetBitContext *s, int n){
return
tmp
;
}
static
inline
void
skip_bits
(
GetBitContext
*
s
,
int
n
){
static
inline
void
skip_bits
(
GetBitContext
*
s
,
int
n
)
{
//Note gcc seems to optimize this to s->index+=n for the ALT_READER :))
OPEN_READER
(
re
,
s
);
UPDATE_CACHE
(
re
,
s
);
...
...
@@ -253,7 +261,8 @@ static inline void skip_bits(GetBitContext *s, int n){
CLOSE_READER
(
re
,
s
);
}
static
inline
unsigned
int
get_bits1
(
GetBitContext
*
s
){
static
inline
unsigned
int
get_bits1
(
GetBitContext
*
s
)
{
unsigned
int
index
=
s
->
index
;
uint8_t
result
=
s
->
buffer
[
index
>>
3
];
#ifdef ALT_BITSTREAM_READER_LE
...
...
@@ -272,19 +281,23 @@ static inline unsigned int get_bits1(GetBitContext *s){
return
result
;
}
static
inline
unsigned
int
show_bits1
(
GetBitContext
*
s
){
static
inline
unsigned
int
show_bits1
(
GetBitContext
*
s
)
{
return
show_bits
(
s
,
1
);
}
static
inline
void
skip_bits1
(
GetBitContext
*
s
){
static
inline
void
skip_bits1
(
GetBitContext
*
s
)
{
skip_bits
(
s
,
1
);
}
/**
* Read 0-32 bits.
*/
static
inline
unsigned
int
get_bits_long
(
GetBitContext
*
s
,
int
n
){
if
(
n
<=
MIN_CACHE_BITS
)
return
get_bits
(
s
,
n
);
static
inline
unsigned
int
get_bits_long
(
GetBitContext
*
s
,
int
n
)
{
if
(
n
<=
MIN_CACHE_BITS
)
return
get_bits
(
s
,
n
);
else
{
#ifdef ALT_BITSTREAM_READER_LE
int
ret
=
get_bits
(
s
,
16
);
...
...
@@ -299,15 +312,18 @@ static inline unsigned int get_bits_long(GetBitContext *s, int n){
/**
* Read 0-32 bits as a signed integer.
*/
static
inline
int
get_sbits_long
(
GetBitContext
*
s
,
int
n
)
{
static
inline
int
get_sbits_long
(
GetBitContext
*
s
,
int
n
)
{
return
sign_extend
(
get_bits_long
(
s
,
n
),
n
);
}
/**
* Show 0-32 bits.
*/
static
inline
unsigned
int
show_bits_long
(
GetBitContext
*
s
,
int
n
){
if
(
n
<=
MIN_CACHE_BITS
)
return
show_bits
(
s
,
n
);
static
inline
unsigned
int
show_bits_long
(
GetBitContext
*
s
,
int
n
)
{
if
(
n
<=
MIN_CACHE_BITS
)
return
show_bits
(
s
,
n
);
else
{
GetBitContext
gb
=
*
s
;
return
get_bits_long
(
&
gb
,
n
);
...
...
@@ -332,8 +348,8 @@ static inline int check_marker(GetBitContext *s, const char *msg)
* While GetBitContext stores the buffer size, for performance reasons you are
* responsible for checking for the buffer end yourself (take advantage of the padding)!
*/
static
inline
void
init_get_bits
(
GetBitContext
*
s
,
const
uint8_t
*
buffer
,
int
bit_size
)
static
inline
void
init_get_bits
(
GetBitContext
*
s
,
const
uint8_t
*
buffer
,
int
bit_size
)
{
int
buffer_size
=
(
bit_size
+
7
)
>>
3
;
if
(
buffer_size
<
0
||
bit_size
<
0
)
{
...
...
@@ -387,7 +403,8 @@ void free_vlc(VLC *vlc);
* If the vlc code is invalid and max_depth>1, then the number of bits removed
* is undefined.
*/
#define GET_VLC(code, name, gb, table, bits, max_depth) do { \
#define GET_VLC(code, name, gb, table, bits, max_depth) \
do { \
int n, nb_bits; \
unsigned int index; \
\
...
...
@@ -418,7 +435,8 @@ void free_vlc(VLC *vlc);
SKIP_BITS(name, gb, n); \
} while (0)
#define GET_RL_VLC(level, run, name, gb, table, bits, max_depth, need_update) do { \
#define GET_RL_VLC(level, run, name, gb, table, bits, max_depth, need_update) \
do { \
int n, nb_bits; \
unsigned int index; \
\
...
...
@@ -465,7 +483,8 @@ static av_always_inline int get_vlc2(GetBitContext *s, VLC_TYPE (*table)[2],
return
code
;
}
static
inline
int
decode012
(
GetBitContext
*
gb
){
static
inline
int
decode012
(
GetBitContext
*
gb
)
{
int
n
;
n
=
get_bits1
(
gb
);
if
(
n
==
0
)
...
...
@@ -474,7 +493,8 @@ static inline int decode012(GetBitContext *gb){
return
get_bits1
(
gb
)
+
1
;
}
static
inline
int
decode210
(
GetBitContext
*
gb
){
static
inline
int
decode210
(
GetBitContext
*
gb
)
{
if
(
get_bits1
(
gb
))
return
0
;
else
...
...
@@ -489,7 +509,8 @@ static inline int get_bits_left(GetBitContext *gb)
//#define TRACE
#ifdef TRACE
static
inline
void
print_bin
(
int
bits
,
int
n
){
static
inline
void
print_bin
(
int
bits
,
int
n
)
{
int
i
;
for
(
i
=
n
-
1
;
i
>=
0
;
i
--
)
{
...
...
@@ -500,7 +521,8 @@ static inline void print_bin(int bits, int n){
}
static
inline
int
get_bits_trace
(
GetBitContext
*
s
,
int
n
,
char
*
file
,
const
char
*
func
,
int
line
){
const
char
*
func
,
int
line
)
{
int
r
=
get_bits
(
s
,
n
);
print_bin
(
r
,
n
);
...
...
@@ -510,7 +532,8 @@ static inline int get_bits_trace(GetBitContext *s, int n, char *file,
}
static
inline
int
get_vlc_trace
(
GetBitContext
*
s
,
VLC_TYPE
(
*
table
)[
2
],
int
bits
,
int
max_depth
,
char
*
file
,
const
char
*
func
,
int
line
){
const
char
*
func
,
int
line
)
{
int
show
=
show_bits
(
s
,
24
);
int
pos
=
get_bits_count
(
s
);
int
r
=
get_vlc2
(
s
,
table
,
bits
,
max_depth
);
...
...
@@ -524,7 +547,8 @@ static inline int get_vlc_trace(GetBitContext *s, VLC_TYPE (*table)[2],
return
r
;
}
static
inline
int
get_xbits_trace
(
GetBitContext
*
s
,
int
n
,
char
*
file
,
const
char
*
func
,
int
line
){
const
char
*
func
,
int
line
)
{
int
show
=
show_bits
(
s
,
n
);
int
r
=
get_xbits
(
s
,
n
);
...
...
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