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
6b250e47
Commit
6b250e47
authored
Mar 31, 2006
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
get_xbits() optimization
Originally committed as revision 5257 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
ad8812be
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
9 deletions
+3
-9
bitstream.h
libavcodec/bitstream.h
+3
-9
No files found.
libavcodec/bitstream.h
View file @
6b250e47
...
...
@@ -574,21 +574,15 @@ static inline int get_bits_count(GetBitContext *s){
* @author BERO
*/
static
inline
int
get_xbits
(
GetBitContext
*
s
,
int
n
){
register
int
tmp
;
register
int
sign
;
register
int32_t
cache
;
OPEN_READER
(
re
,
s
)
UPDATE_CACHE
(
re
,
s
)
cache
=
GET_CACHE
(
re
,
s
);
if
((
int32_t
)
cache
<
0
)
{
//MSB=1
tmp
=
NEG_USR32
(
cache
,
n
);
}
else
{
// tmp = (-1<<n) | NEG_USR32(cache,n) + 1; mpeg12.c algo
// tmp = - (NEG_USR32(cache,n) ^ ((1 << n) - 1)); h263.c algo
tmp
=
-
NEG_USR32
(
~
cache
,
n
);
}
sign
=
(
~
cache
)
>>
31
;
LAST_SKIP_BITS
(
re
,
s
,
n
)
CLOSE_READER
(
re
,
s
)
return
tmp
;
return
(
NEG_USR32
(
sign
^
cache
,
n
)
^
sign
)
-
sign
;
}
static
inline
int
get_sbits
(
GetBitContext
*
s
,
int
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