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
ac889707
Commit
ac889707
authored
Aug 23, 2017
by
Zoe Liu
Browse files
Add encoder support for ext-comp-refs + altref2
Change-Id: I9d26f288657a15e3d0ec4c5a11e80aecc1a829ad
parent
b5e48d94
Changes
1
Hide whitespace changes
Inline
Side-by-side
av1/encoder/rdopt.c
View file @
ac889707
...
...
@@ -146,9 +146,15 @@ static const int filter_sets[DUAL_FILTER_SET_SIZE][2] = {
#if CONFIG_EXT_REFS
#if CONFIG_EXT_COMP_REFS
#if CONFIG_ALTREF2
#define SECOND_REF_FRAME_MASK \
((1 << ALTREF_FRAME) | (1 << ALTREF2_FRAME) | (1 << BWDREF_FRAME) | \
(1 << GOLDEN_FRAME) | (1 << LAST2_FRAME) | 0x01)
#else // !CONFIG_ALTREF2
#define SECOND_REF_FRAME_MASK \
((1 << ALTREF_FRAME) | (1 << BWDREF_FRAME) | (1 << GOLDEN_FRAME) | \
(1 << LAST2_FRAME) | 0x01) // NOLINT
#endif // CONFIG_ALTREF2
#else // !CONFIG_EXT_COMP_REFS
#if CONFIG_ALTREF2
#define SECOND_REF_FRAME_MASK \
...
...
@@ -6751,7 +6757,11 @@ static void estimate_ref_frame_costs(
#else
base_cost;
#endif // USE_UNI_COMP_REFS
ref_bicomp_costs[BWDREF_FRAME] = ref_bicomp_costs[ALTREF_FRAME] = 0;
ref_bicomp_costs[BWDREF_FRAME] =
#if CONFIG_ALTREF2
ref_bicomp_costs[ALTREF2_FRAME] = 0;
#endif // CONFIG_ALTREF2
ref_bicomp_costs[ALTREF_FRAME] = 0;
ref_bicomp_costs[LAST_FRAME] += av1_cost_bit(ref_comp_p, 0);
ref_bicomp_costs[LAST2_FRAME] += av1_cost_bit(ref_comp_p, 0);
...
...
@@ -6765,14 +6775,22 @@ static void estimate_ref_frame_costs(
ref_bicomp_costs[GOLDEN_FRAME] += av1_cost_bit(ref_comp_p2, 1);
ref_bicomp_costs[BWDREF_FRAME] += av1_cost_bit(bwdref_comp_p, 0);
#if CONFIG_ALTREF2
ref_bicomp_costs[ALTREF2_FRAME] += av1_cost_bit(bwdref_comp_p, 0);
#endif // CONFIG_ALTREF2
ref_bicomp_costs[ALTREF_FRAME] += av1_cost_bit(bwdref_comp_p, 1);
int ref0;
#if CONFIG_ALTREF2
ref_bicomp_costs[BWDREF_FRAME] += av1_cost_bit(bwdref_comp_p1, 0);
ref_bicomp_costs[ALTREF2_FRAME] += av1_cost_bit(bwdref_comp_p1, 1);
#endif // CONFIG_ALTREF2
int ref0, ref1;
for (ref0 = LAST_FRAME; ref0 <= GOLDEN_FRAME; ++ref0) {
ref_costs_comp[ref0][BWDREF_FRAME] =
ref_
bicomp_costs[ref0] + ref_bicomp_costs[BWDREF_FRAME];
ref_costs_comp[ref0][ALTREF_FRAME] =
ref_bicomp_costs[ref0] + ref_bicomp_costs[ALTREF_FRAME];
for (ref1 = BWDREF_FRAME; ref1 <= ALTREF_FRAME; ++ref1) {
ref_
costs_comp[ref0][ref1] =
ref_bicomp_costs[ref0] + ref_bicomp_costs[ref1];
}
}
aom_prob uni_comp_ref_p = av1_get_pred_prob_uni_comp_ref_p(cm, xd);
...
...
@@ -6842,10 +6860,10 @@ static void estimate_ref_frame_costs(
#endif // CONFIG_EXT_COMP_REFS
} else {
#if CONFIG_EXT_COMP_REFS
int ref0;
int ref0
, ref1
;
for (ref0 = LAST_FRAME; ref0 <= GOLDEN_FRAME; ++ref0) {
ref_costs_comp[ref0][BWDREF_FRAME] = 512;
ref_costs_comp[ref0][
ALTREF_FRAME
] = 512;
for (ref1 = BWDREF_FRAME; ref1 <= ALTREF_FRAME; ++ref1)
ref_costs_comp[ref0][
ref1
] = 512;
}
ref_costs_comp[LAST_FRAME][LAST2_FRAME] = 512;
ref_costs_comp[LAST_FRAME][LAST3_FRAME] = 512;
...
...
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