Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stefan Strogin
flac
Commits
5b60d026
Commit
5b60d026
authored
Jan 25, 2005
by
Josh Coalson
Browse files
patch from Eric Wong, slight improvement on Miroslav's work
parent
5750b36e
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/libFLAC/bitbuffer.c
View file @
5b60d026
...
...
@@ -2118,7 +2118,7 @@ FLAC__bool FLAC__bitbuffer_read_rice_signed_block(FLAC__BitBuffer *bb, int vals[
{
const
FLAC__blurb
*
buffer
=
bb
->
buffer
;
unsigned
i
,
j
,
val_i
=
0
;
unsigned
i
,
j
,
val_i
=
nvals
;
unsigned
cbits
=
0
,
uval
=
0
,
msbs
=
0
,
lsbs_left
=
0
;
FLAC__blurb
blurb
,
save_blurb
;
unsigned
state
=
0
;
/* 0 = getting unary MSBs, 1 = getting binary LSBs */
...
...
@@ -2132,7 +2132,7 @@ FLAC__bool FLAC__bitbuffer_read_rice_signed_block(FLAC__BitBuffer *bb, int vals[
cbits
=
bb
->
consumed_bits
;
i
=
bb
->
consumed_blurbs
;
while
(
val_i
<
nvals
)
{
while
(
val_i
!=
0
)
{
for
(
;
i
<
bb
->
blurbs
;
i
++
)
{
blurb
=
(
save_blurb
=
buffer
[
i
])
<<
cbits
;
while
(
1
)
{
...
...
@@ -2171,11 +2171,13 @@ FLAC__bool FLAC__bitbuffer_read_rice_signed_block(FLAC__BitBuffer *bb, int vals[
if
(
lsbs_left
==
available_bits
)
{
/* compose the value */
uval
|=
(
msbs
<<
parameter
);
vals
[
val_i
++
]
=
(
int
)(
uval
>>
1
^
-
(
int
)(
uval
&
1
));
if
(
val_i
==
nvals
)
{
*
vals
=
(
int
)(
uval
>>
1
^
-
(
int
)(
uval
&
1
));
--
val_i
;
if
(
val_i
==
0
)
{
i
++
;
goto
break2
;
}
*
(
++
vals
);
msbs
=
0
;
state
=
0
;
...
...
@@ -2192,9 +2194,11 @@ FLAC__bool FLAC__bitbuffer_read_rice_signed_block(FLAC__BitBuffer *bb, int vals[
/* compose the value */
uval
|=
(
msbs
<<
parameter
);
vals
[
val_i
++
]
=
(
int
)(
uval
>>
1
^
-
(
int
)(
uval
&
1
));
if
(
val_i
==
nvals
)
*
vals
=
(
int
)(
uval
>>
1
^
-
(
int
)(
uval
&
1
));
--
val_i
;
if
(
val_i
==
0
)
goto
break2
;
*
(
++
vals
);
msbs
=
0
;
state
=
0
;
...
...
@@ -2206,7 +2210,7 @@ break2:
bb
->
consumed_blurbs
=
i
;
bb
->
consumed_bits
=
cbits
;
bb
->
total_consumed_bits
=
(
i
<<
FLAC__BITS_PER_BLURB_LOG2
)
|
cbits
;
if
(
val_i
<
nvals
)
{
if
(
val_i
!=
0
)
{
if
(
!
bitbuffer_read_from_client_
(
bb
,
read_callback
,
client_data
))
return
false
;
/* these must be zero because we can only get here if we got to the end of the buffer */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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