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
580d29bd
Commit
580d29bd
authored
May 30, 2013
by
Ronald S. Bultje
Browse files
Remove one (unused) entry from mvref tables.
Change-Id: Ieb4669ae564bec9f3051485ecdf186cb4e00decb
parent
e6485581
Changes
8
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_entropymode.c
View file @
580d29bd
...
...
@@ -178,7 +178,7 @@ void vp9_init_mode_contexts(VP9_COMMON *pc) {
void
vp9_accum_mv_refs
(
VP9_COMMON
*
pc
,
MB_PREDICTION_MODE
m
,
const
int
context
)
{
unsigned
int
(
*
mv_ref_ct
)[
4
][
2
]
=
pc
->
fc
.
mv_ref_ct
;
unsigned
int
(
*
mv_ref_ct
)[
VP9_MVREFS
-
1
][
2
]
=
pc
->
fc
.
mv_ref_ct
;
if
(
m
==
ZEROMV
)
{
++
mv_ref_ct
[
context
][
0
][
0
];
...
...
@@ -201,8 +201,8 @@ void vp9_accum_mv_refs(VP9_COMMON *pc,
#define MVREF_MAX_UPDATE_FACTOR 128
void
vp9_adapt_mode_context
(
VP9_COMMON
*
pc
)
{
int
i
,
j
;
unsigned
int
(
*
mv_ref_ct
)[
4
][
2
]
=
pc
->
fc
.
mv_ref_ct
;
int
(
*
mode_context
)[
4
]
=
pc
->
fc
.
vp9_mode_contexts
;
unsigned
int
(
*
mv_ref_ct
)[
VP9_MVREFS
-
1
][
2
]
=
pc
->
fc
.
mv_ref_ct
;
int
(
*
mode_context
)[
VP9_MVREFS
-
1
]
=
pc
->
fc
.
vp9_mode_contexts
;
for
(
j
=
0
;
j
<
INTER_MODE_CONTEXTS
;
j
++
)
{
for
(
i
=
0
;
i
<
4
;
i
++
)
{
...
...
vp9/common/vp9_modecont.c
View file @
580d29bd
...
...
@@ -11,12 +11,12 @@
#include
"vp9/common/vp9_entropy.h"
const
int
vp9_default_mode_contexts
[
INTER_MODE_CONTEXTS
][
4
]
=
{
{
2
,
173
,
34
,
229
},
// 0 = both zero mv
{
7
,
145
,
85
,
225
},
// 1 = one zero mv + one a predicted mv
{
7
,
166
,
63
,
231
},
// 2 = two predicted mvs
{
7
,
94
,
66
,
219
},
// 3 = one predicted/zero and one new mv
{
8
,
64
,
46
,
213
},
// 4 = two new mvs
{
17
,
81
,
31
,
231
},
// 5 = one intra neighbour + x
{
25
,
29
,
30
,
246
},
// 6 = two intra neighbours
const
int
vp9_default_mode_contexts
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
]
=
{
{
2
,
173
,
34
},
// 0 = both zero mv
{
7
,
145
,
85
},
// 1 = one zero mv + one a predicted mv
{
7
,
166
,
63
},
// 2 = two predicted mvs
{
7
,
94
,
66
},
// 3 = one predicted/zero and one new mv
{
8
,
64
,
46
},
// 4 = two new mvs
{
17
,
81
,
31
},
// 5 = one intra neighbour + x
{
25
,
29
,
30
},
// 6 = two intra neighbours
};
vp9/common/vp9_modecont.h
View file @
580d29bd
...
...
@@ -13,6 +13,6 @@
#include
"vp9/common/vp9_entropy.h"
extern
const
int
vp9_default_mode_contexts
[
INTER_MODE_CONTEXTS
][
4
];
extern
const
int
vp9_default_mode_contexts
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
];
#endif // VP9_COMMON_VP9_MODECONT_H_
vp9/common/vp9_onyxc_int.h
View file @
580d29bd
...
...
@@ -79,8 +79,8 @@ typedef struct frame_contexts {
vp9_prob
switchable_interp_prob
[
VP9_SWITCHABLE_FILTERS
+
1
]
[
VP9_SWITCHABLE_FILTERS
-
1
];
int
vp9_mode_contexts
[
INTER_MODE_CONTEXTS
][
4
];
unsigned
int
mv_ref_ct
[
INTER_MODE_CONTEXTS
][
4
][
2
];
int
vp9_mode_contexts
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
];
unsigned
int
mv_ref_ct
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
][
2
];
}
FRAME_CONTEXT
;
typedef
enum
{
...
...
vp9/decoder/vp9_decodframe.c
View file @
580d29bd
...
...
@@ -1067,7 +1067,7 @@ int vp9_decode_frame(VP9D_COMP *pbi, const uint8_t **p_data_end) {
if
(
!
keyframe
)
{
int
i
,
j
;
for
(
i
=
0
;
i
<
INTER_MODE_CONTEXTS
;
++
i
)
for
(
j
=
0
;
j
<
4
;
++
j
)
for
(
j
=
0
;
j
<
VP9_MVREFS
-
1
;
++
j
)
if
(
vp9_read
(
&
header_bc
,
252
))
pc
->
fc
.
vp9_mode_contexts
[
i
][
j
]
=
vp9_read_prob
(
&
header_bc
);
}
...
...
vp9/encoder/vp9_bitstream.c
View file @
580d29bd
...
...
@@ -321,15 +321,15 @@ static void update_refpred_stats(VP9_COMP *cpi) {
// The branch counts table is re-populated during the actual pack stage and in
// the decoder to facilitate backwards update of the context.
static
void
update_inter_mode_probs
(
VP9_COMMON
*
cm
,
int
mode_context
[
INTER_MODE_CONTEXTS
][
4
])
{
int
mode_context
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
])
{
int
i
,
j
;
unsigned
int
(
*
mv_ref_ct
)[
4
][
2
]
=
cm
->
fc
.
mv_ref_ct
;
unsigned
int
(
*
mv_ref_ct
)[
VP9_MVREFS
-
1
][
2
]
=
cm
->
fc
.
mv_ref_ct
;
vpx_memcpy
(
mode_context
,
cm
->
fc
.
vp9_mode_contexts
,
sizeof
(
cm
->
fc
.
vp9_mode_contexts
));
for
(
i
=
0
;
i
<
INTER_MODE_CONTEXTS
;
i
++
)
{
for
(
j
=
0
;
j
<
4
;
j
++
)
{
for
(
j
=
0
;
j
<
VP9_MVREFS
-
1
;
j
++
)
{
int
new_prob
,
old_cost
,
new_cost
;
// Work out cost of coding branches with the old and optimal probability
...
...
@@ -1637,7 +1637,7 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, unsigned long *size) {
// changes in the bitstream.
if
(
pc
->
frame_type
!=
KEY_FRAME
)
{
int
i
,
j
;
int
new_context
[
INTER_MODE_CONTEXTS
][
4
];
int
new_context
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
];
if
(
!
cpi
->
dummy_packing
)
{
update_inter_mode_probs
(
pc
,
new_context
);
}
else
{
...
...
@@ -1647,7 +1647,7 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, unsigned long *size) {
}
for
(
i
=
0
;
i
<
INTER_MODE_CONTEXTS
;
i
++
)
{
for
(
j
=
0
;
j
<
4
;
j
++
)
{
for
(
j
=
0
;
j
<
VP9_MVREFS
-
1
;
j
++
)
{
if
(
new_context
[
i
][
j
]
!=
pc
->
fc
.
vp9_mode_contexts
[
i
][
j
])
{
vp9_write
(
&
header_bc
,
1
,
252
);
vp9_write_prob
(
&
header_bc
,
new_context
[
i
][
j
]);
...
...
vp9/encoder/vp9_onyx_if.c
View file @
580d29bd
...
...
@@ -537,7 +537,7 @@ void vp9_update_mode_context_stats(VP9_COMP *cpi) {
// Add in the values for this frame
for
(
i
=
0
;
i
<
INTER_MODE_CONTEXTS
;
i
++
)
{
for
(
j
=
0
;
j
<
4
;
j
++
)
{
for
(
j
=
0
;
j
<
VP9_MVREFS
-
1
;
j
++
)
{
mv_ref_stats
[
i
][
j
][
0
]
+=
(
int64_t
)
mv_ref_ct
[
i
][
j
][
0
];
mv_ref_stats
[
i
][
j
][
1
]
+=
(
int64_t
)
mv_ref_ct
[
i
][
j
][
1
];
}
...
...
@@ -554,12 +554,13 @@ void print_mode_context(VP9_COMP *cpi) {
int
i
,
j
;
fprintf
(
f
,
"#include
\"
vp9_entropy.h
\"\n
"
);
fprintf
(
f
,
"const int vp9_mode_contexts[INTER_MODE_CONTEXTS][4] ="
);
fprintf
(
f
,
"const int vp9_mode_contexts[INTER_MODE_CONTEXTS][VP9_MVREFS - 1] ="
);
fprintf
(
f
,
"{
\n
"
);
for
(
j
=
0
;
j
<
INTER_MODE_CONTEXTS
;
j
++
)
{
fprintf
(
f
,
" {/* %d */ "
,
j
);
fprintf
(
f
,
" "
);
for
(
i
=
0
;
i
<
4
;
i
++
)
{
for
(
i
=
0
;
i
<
VP9_MVREFS
-
1
;
i
++
)
{
int
this_prob
;
int64_t
count
=
cpi
->
mv_ref_stats
[
j
][
i
][
0
]
+
cpi
->
mv_ref_stats
[
j
][
i
][
1
];
if
(
count
)
...
...
vp9/encoder/vp9_onyx_int.h
View file @
580d29bd
...
...
@@ -88,8 +88,8 @@ typedef struct {
vp9_prob
switchable_interp_prob
[
VP9_SWITCHABLE_FILTERS
+
1
]
[
VP9_SWITCHABLE_FILTERS
-
1
];
int
mv_ref_ct
[
INTER_MODE_CONTEXTS
][
4
][
2
];
int
vp9_mode_contexts
[
INTER_MODE_CONTEXTS
][
4
];
int
mv_ref_ct
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
][
2
];
int
vp9_mode_contexts
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
];
}
CODING_CONTEXT
;
...
...
@@ -615,7 +615,7 @@ typedef struct VP9_COMP {
#endif
#ifdef ENTROPY_STATS
int64_t
mv_ref_stats
[
INTER_MODE_CONTEXTS
][
4
][
2
];
int64_t
mv_ref_stats
[
INTER_MODE_CONTEXTS
][
VP9_MVREFS
-
1
][
2
];
#endif
}
VP9_COMP
;
...
...
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