Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
dd28aed8
Commit
dd28aed8
authored
Nov 16, 2016
by
Nathan E. Egge
Committed by
Nathan Egge
Jan 05, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use uv_mode_cdf with CONFIG_EC_MULTISYMBOL.
Change-Id: I0cacd4e8cdd07458b36bbdd56e4f005327854b34
parent
10ba2bed
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
19 additions
and
32 deletions
+19
-32
av1/common/entropymode.c
av1/common/entropymode.c
+6
-10
av1/common/entropymode.h
av1/common/entropymode.h
+1
-3
av1/decoder/decodemv.c
av1/decoder/decodemv.c
+10
-17
av1/encoder/bitstream.c
av1/encoder/bitstream.c
+2
-2
No files found.
av1/common/entropymode.c
View file @
dd28aed8
...
...
@@ -1772,13 +1772,11 @@ static void init_mode_probs(FRAME_CONTEXT *fc) {
#if CONFIG_LOOP_RESTORATION
av1_copy
(
fc
->
switchable_restore_prob
,
default_switchable_restore_prob
);
#endif // CONFIG_LOOP_RESTORATION
#if CONFIG_DAALA_EC
av1_tree_to_cdf_1D
(
av1_intra_mode_tree
,
fc
->
uv_mode_prob
,
fc
->
uv_mode_cdf
,
INTRA_MODES
);
#endif
#if CONFIG_EC_MULTISYMBOL
av1_tree_to_cdf_1D
(
av1_intra_mode_tree
,
fc
->
y_mode_prob
,
fc
->
y_mode_cdf
,
BLOCK_SIZE_GROUPS
);
av1_tree_to_cdf_1D
(
av1_intra_mode_tree
,
fc
->
uv_mode_prob
,
fc
->
uv_mode_cdf
,
INTRA_MODES
);
av1_tree_to_cdf_1D
(
av1_switchable_interp_tree
,
fc
->
switchable_interp_prob
,
fc
->
switchable_interp_cdf
,
SWITCHABLE_FILTER_CONTEXTS
);
av1_tree_to_cdf_1D
(
av1_partition_tree
,
fc
->
partition_prob
,
fc
->
partition_cdf
,
...
...
@@ -1812,6 +1810,10 @@ void av1_set_mode_cdfs(struct AV1Common *cm) {
cm
->
fc
->
seg
.
tree_cdf
);
}
for
(
i
=
0
;
i
<
INTRA_MODES
;
++
i
)
av1_tree_to_cdf
(
av1_intra_mode_tree
,
fc
->
uv_mode_prob
[
i
],
fc
->
uv_mode_cdf
[
i
]);
for
(
i
=
0
;
i
<
PARTITION_CONTEXTS
;
++
i
)
av1_tree_to_cdf
(
av1_partition_tree
,
fc
->
partition_prob
[
i
],
fc
->
partition_cdf
[
i
]);
...
...
@@ -1842,12 +1844,6 @@ void av1_set_mode_cdfs(struct AV1Common *cm) {
av1_tree_to_cdf
(
av1_ext_tx_tree
,
fc
->
inter_ext_tx_prob
[
i
],
fc
->
inter_ext_tx_cdf
[
i
]);
#endif
#if CONFIG_DAALA_EC
for
(
i
=
0
;
i
<
INTRA_MODES
;
++
i
)
av1_tree_to_cdf
(
av1_intra_mode_tree
,
fc
->
uv_mode_prob
[
i
],
fc
->
uv_mode_cdf
[
i
]);
#endif
}
#endif
...
...
av1/common/entropymode.h
View file @
dd28aed8
...
...
@@ -165,11 +165,9 @@ typedef struct frame_contexts {
#if CONFIG_LOOP_RESTORATION
aom_prob
switchable_restore_prob
[
RESTORE_SWITCHABLE_TYPES
-
1
];
#endif // CONFIG_LOOP_RESTORATION
#if CONFIG_DAALA_EC
aom_cdf_prob
uv_mode_cdf
[
INTRA_MODES
][
INTRA_MODES
];
#endif
#if CONFIG_EC_MULTISYMBOL
aom_cdf_prob
y_mode_cdf
[
BLOCK_SIZE_GROUPS
][
INTRA_MODES
];
aom_cdf_prob
uv_mode_cdf
[
INTRA_MODES
][
INTRA_MODES
];
aom_cdf_prob
partition_cdf
[
PARTITION_CONTEXTS
][
PARTITION_TYPES
];
aom_cdf_prob
switchable_interp_cdf
[
SWITCHABLE_FILTER_CONTEXTS
]
[
SWITCHABLE_FILTERS
];
...
...
av1/decoder/decodemv.c
View file @
dd28aed8
...
...
@@ -47,7 +47,7 @@ static INLINE int read_uniform(aom_reader *r, int n) {
}
#endif // CONFIG_EXT_INTRA || CONFIG_FILTER_INTRA || CONFIG_PALETTE
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
static
PREDICTION_MODE
read_intra_mode
(
aom_reader
*
r
,
aom_cdf_prob
*
cdf
)
{
return
(
PREDICTION_MODE
)
av1_intra_mode_inv
[
aom_read_symbol
(
r
,
cdf
,
INTRA_MODES
,
ACCT_STR
)];
...
...
@@ -57,12 +57,6 @@ static PREDICTION_MODE read_intra_mode(aom_reader *r, const aom_prob *p) {
return
(
PREDICTION_MODE
)
aom_read_tree
(
r
,
av1_intra_mode_tree
,
p
,
ACCT_STR
);
}
#endif
#if CONFIG_EC_MULTISYMBOL
static
PREDICTION_MODE
read_intra_mode_cdf
(
aom_reader
*
r
,
aom_cdf_prob
*
cdf
)
{
return
(
PREDICTION_MODE
)
av1_intra_mode_inv
[
aom_read_symbol
(
r
,
cdf
,
INTRA_MODES
,
ACCT_STR
)];
}
#endif
#if CONFIG_DELTA_Q
static
int
read_delta_qindex
(
AV1_COMMON
*
cm
,
MACROBLOCKD
*
xd
,
aom_reader
*
r
,
...
...
@@ -104,7 +98,7 @@ static PREDICTION_MODE read_intra_mode_y(AV1_COMMON *cm, MACROBLOCKD *xd,
aom_reader
*
r
,
int
size_group
)
{
const
PREDICTION_MODE
y_mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
cm
->
fc
->
y_mode_cdf
[
size_group
]);
read_intra_mode
(
r
,
cm
->
fc
->
y_mode_cdf
[
size_group
]);
#else
read_intra_mode
(
r
,
cm
->
fc
->
y_mode_prob
[
size_group
]);
#endif
...
...
@@ -117,7 +111,7 @@ static PREDICTION_MODE read_intra_mode_uv(AV1_COMMON *cm, MACROBLOCKD *xd,
aom_reader
*
r
,
PREDICTION_MODE
y_mode
)
{
const
PREDICTION_MODE
uv_mode
=
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
read_intra_mode
(
r
,
cm
->
fc
->
uv_mode_cdf
[
y_mode
]);
#else
read_intra_mode
(
r
,
cm
->
fc
->
uv_mode_prob
[
y_mode
]);
...
...
@@ -813,7 +807,7 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
(
void
)
i
;
mbmi
->
mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#endif
...
...
@@ -823,8 +817,7 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
for
(
i
=
0
;
i
<
4
;
++
i
)
mi
->
bmi
[
i
].
as_mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
i
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
i
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
i
));
#endif
...
...
@@ -833,13 +826,13 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
case
BLOCK_4X8
:
mi
->
bmi
[
0
].
as_mode
=
mi
->
bmi
[
2
].
as_mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#endif
mi
->
bmi
[
1
].
as_mode
=
mi
->
bmi
[
3
].
as_mode
=
mbmi
->
mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
1
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
1
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
1
));
#endif
...
...
@@ -847,13 +840,13 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
case
BLOCK_8X4
:
mi
->
bmi
[
0
].
as_mode
=
mi
->
bmi
[
1
].
as_mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#endif
mi
->
bmi
[
2
].
as_mode
=
mi
->
bmi
[
3
].
as_mode
=
mbmi
->
mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
2
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
2
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
2
));
#endif
...
...
@@ -861,7 +854,7 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
default:
mbmi
->
mode
=
#if CONFIG_EC_MULTISYMBOL
read_intra_mode
_cdf
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
read_intra_mode
(
r
,
get_y_mode_cdf
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#else
read_intra_mode
(
r
,
get_y_mode_probs
(
cm
,
mi
,
above_mi
,
left_mi
,
0
));
#endif
...
...
av1/encoder/bitstream.c
View file @
dd28aed8
...
...
@@ -1370,7 +1370,7 @@ static void pack_inter_mode_mvs(AV1_COMP *cpi, const MODE_INFO *mi,
}
}
}
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
aom_write_symbol
(
w
,
av1_intra_mode_ind
[
mbmi
->
uv_mode
],
cm
->
fc
->
uv_mode_cdf
[
mode
],
INTRA_MODES
);
#else
...
...
@@ -1725,7 +1725,7 @@ static void write_mb_modes_kf(AV1_COMMON *cm, const MACROBLOCKD *xd,
}
}
}
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
aom_write_symbol
(
w
,
av1_intra_mode_ind
[
mbmi
->
uv_mode
],
cm
->
fc
->
uv_mode_cdf
[
mbmi
->
mode
],
INTRA_MODES
);
#else
...
...
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