Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
e94767ae
Commit
e94767ae
authored
Oct 19, 2016
by
Yaowu Xu
Committed by
Gerrit Code Review
Oct 19, 2016
Browse files
Merge "Change return type of tell and tell_frac to uint32_t." into nextgenv2
parents
66b1fcc9
b244f396
Changes
5
Hide whitespace changes
Inline
Side-by-side
aom_dsp/bitreader.h
View file @
e94767ae
...
...
@@ -103,7 +103,7 @@ static INLINE int aom_reader_has_error(aom_reader *r) {
}
// Returns the position in the bit reader in bits.
static
INLINE
ptrdiff
_t
aom_reader_tell
(
const
aom_reader
*
r
)
{
static
INLINE
uint32
_t
aom_reader_tell
(
const
aom_reader
*
r
)
{
#if CONFIG_ANS
(
void
)
r
;
assert
(
0
&&
"aom_reader_tell() is unimplemented for ANS"
);
...
...
@@ -116,7 +116,7 @@ static INLINE ptrdiff_t aom_reader_tell(const aom_reader *r) {
}
// Returns the position in the bit reader in 1/8th bits.
static
INLINE
ptrdiff
_t
aom_reader_tell_frac
(
const
aom_reader
*
r
)
{
static
INLINE
uint32
_t
aom_reader_tell_frac
(
const
aom_reader
*
r
)
{
#if CONFIG_ANS
(
void
)
r
;
assert
(
0
&&
"aom_reader_tell_frac() is unimplemented for ANS"
);
...
...
aom_dsp/daalaboolreader.c
View file @
e94767ae
...
...
@@ -28,10 +28,10 @@ const uint8_t *aom_daala_reader_find_end(daala_reader *r) {
return
r
->
buffer_end
;
}
ptrdiff
_t
aom_daala_reader_tell
(
const
daala_reader
*
r
)
{
uint32
_t
aom_daala_reader_tell
(
const
daala_reader
*
r
)
{
return
od_ec_dec_tell
(
&
r
->
ec
);
}
ptrdiff
_t
aom_daala_reader_tell_frac
(
const
daala_reader
*
r
)
{
uint32
_t
aom_daala_reader_tell_frac
(
const
daala_reader
*
r
)
{
return
od_ec_dec_tell_frac
(
&
r
->
ec
);
}
aom_dsp/daalaboolreader.h
View file @
e94767ae
...
...
@@ -36,8 +36,8 @@ typedef struct daala_reader daala_reader;
int
aom_daala_reader_init
(
daala_reader
*
r
,
const
uint8_t
*
buffer
,
int
size
);
const
uint8_t
*
aom_daala_reader_find_end
(
daala_reader
*
r
);
ptrdiff
_t
aom_daala_reader_tell
(
const
daala_reader
*
r
);
ptrdiff
_t
aom_daala_reader_tell_frac
(
const
daala_reader
*
r
);
uint32
_t
aom_daala_reader_tell
(
const
daala_reader
*
r
);
uint32
_t
aom_daala_reader_tell_frac
(
const
daala_reader
*
r
);
static
INLINE
int
aom_daala_read
(
daala_reader
*
r
,
int
prob
)
{
if
(
prob
==
128
)
{
...
...
aom_dsp/dkboolreader.h
View file @
e94767ae
...
...
@@ -12,6 +12,7 @@
#ifndef AOM_DSP_DKBOOLREADER_H_
#define AOM_DSP_DKBOOLREADER_H_
#include
<assert.h>
#include
<stddef.h>
#include
<limits.h>
...
...
@@ -67,10 +68,11 @@ void aom_dk_reader_fill(struct aom_dk_reader *r);
const
uint8_t
*
aom_dk_reader_find_end
(
struct
aom_dk_reader
*
r
);
static
INLINE
ptrdiff
_t
aom_dk_reader_tell
(
const
struct
aom_dk_reader
*
r
)
{
const
size
_t
bits_read
=
(
r
->
buffer
-
r
->
buffer_start
)
*
CHAR_BIT
;
static
INLINE
uint32
_t
aom_dk_reader_tell
(
const
struct
aom_dk_reader
*
r
)
{
const
uint32
_t
bits_read
=
(
r
->
buffer
-
r
->
buffer_start
)
*
CHAR_BIT
;
const
int
count
=
(
r
->
count
<
LOTS_OF_BITS
)
?
r
->
count
:
r
->
count
-
LOTS_OF_BITS
;
assert
(
r
->
buffer
>=
r
->
buffer_start
);
return
bits_read
-
(
count
+
CHAR_BIT
);
}
...
...
@@ -78,7 +80,7 @@ static INLINE ptrdiff_t aom_dk_reader_tell(const struct aom_dk_reader *r) {
3 => 1/8th bits.*/
#define DK_BITRES (3)
static
INLINE
ptrdiff
_t
aom_dk_reader_tell_frac
(
const
struct
aom_dk_reader
*
r
)
{
static
INLINE
uint32
_t
aom_dk_reader_tell_frac
(
const
struct
aom_dk_reader
*
r
)
{
uint32_t
num_bits
;
uint32_t
range
;
int
l
;
...
...
test/boolcoder_test.cc
View file @
e94767ae
...
...
@@ -110,15 +110,15 @@ TEST(AV1, TestTell) {
aom_stop_encode
(
&
bw
);
aom_reader
br
;
aom_reader_init
(
&
br
,
bw_buffer
,
kBufferSize
,
NULL
,
NULL
);
ptrdiff
_t
last_tell
=
aom_reader_tell
(
&
br
);
ptrdiff
_t
last_tell_frac
=
aom_reader_tell_frac
(
&
br
);
uint32
_t
last_tell
=
aom_reader_tell
(
&
br
);
uint32
_t
last_tell_frac
=
aom_reader_tell_frac
(
&
br
);
double
frac_diff_total
=
0
;
GTEST_ASSERT_GE
(
aom_reader_tell
(
&
br
),
0
);
GTEST_ASSERT_LE
(
aom_reader_tell
(
&
br
),
1
);
GTEST_ASSERT_GE
(
aom_reader_tell
(
&
br
),
0
u
);
GTEST_ASSERT_LE
(
aom_reader_tell
(
&
br
),
1
u
);
for
(
int
i
=
0
;
i
<
kSymbols
;
i
++
)
{
aom_read
(
&
br
,
p
,
NULL
);
ptrdiff
_t
tell
=
aom_reader_tell
(
&
br
);
ptrdiff
_t
tell_frac
=
aom_reader_tell_frac
(
&
br
);
uint32
_t
tell
=
aom_reader_tell
(
&
br
);
uint32
_t
tell_frac
=
aom_reader_tell_frac
(
&
br
);
GTEST_ASSERT_GE
(
tell
,
last_tell
)
<<
"tell: "
<<
tell
<<
", last_tell: "
<<
last_tell
;
GTEST_ASSERT_GE
(
tell_frac
,
last_tell_frac
)
...
...
@@ -131,7 +131,7 @@ TEST(AV1, TestTell) {
fabs
(((
tell_frac
-
last_tell_frac
)
/
8.0
)
+
log2
(
probability
));
last_tell_frac
=
tell_frac
;
}
const
int
expected
=
(
int
)(
-
kSymbols
*
log2
(
probability
));
const
u
int
32_t
expected
=
(
u
int
32_t
)(
-
kSymbols
*
log2
(
probability
));
// Last tell should be close to the expected value.
GTEST_ASSERT_LE
(
last_tell
-
expected
,
20
)
<<
" last_tell: "
<<
last_tell
;
// The average frac_diff error should be pretty small.
...
...
Write
Preview
Supports
Markdown
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