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
00b3331e
Commit
00b3331e
authored
Nov 16, 2016
by
Nathan E. Egge
Committed by
Nathan Egge
Jan 05, 2017
Browse files
Use switchable_interp_cdf with CONFIG_EC_MULTISYMBOL.
Change-Id: I3f7eeff102fc30e2cef59c2c07df94826587d100
parent
29ccee03
Changes
5
Hide whitespace changes
Inline
Side-by-side
av1/common/entropymode.c
View file @
00b3331e
...
...
@@ -1775,14 +1775,14 @@ static void init_mode_probs(FRAME_CONTEXT *fc) {
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_inter_mode_tree
,
fc
->
inter_mode_probs
,
fc
->
inter_mode_cdf
,
INTER_MODE_CONTEXTS
);
av1_tree_to_cdf_2D
(
av1_intra_mode_tree
,
av1_kf_y_mode_prob
,
av1_kf_y_mode_cdf
,
INTRA_MODES
,
INTRA_MODES
);
#endif
#if CONFIG_EC_MULTISYMBOL
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
,
PARTITION_CONTEXTS
);
#if !CONFIG_EXT_TX
...
...
@@ -1798,12 +1798,10 @@ static void init_mode_probs(FRAME_CONTEXT *fc) {
#endif
}
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
int
av1_switchable_interp_ind
[
SWITCHABLE_FILTERS
];
int
av1_switchable_interp_inv
[
SWITCHABLE_FILTERS
];
#endif
#if CONFIG_EC_MULTISYMBOL
void
av1_set_mode_cdfs
(
struct
AV1Common
*
cm
)
{
FRAME_CONTEXT
*
fc
=
cm
->
fc
;
int
i
,
j
;
...
...
@@ -1816,6 +1814,10 @@ void av1_set_mode_cdfs(struct AV1Common *cm) {
av1_tree_to_cdf
(
av1_partition_tree
,
fc
->
partition_prob
[
i
],
fc
->
partition_cdf
[
i
]);
for
(
j
=
0
;
j
<
SWITCHABLE_FILTER_CONTEXTS
;
++
j
)
av1_tree_to_cdf
(
av1_switchable_interp_tree
,
fc
->
switchable_interp_prob
[
j
],
fc
->
switchable_interp_cdf
[
j
]);
#if !CONFIG_EXT_TX
for
(
i
=
TX_4X4
;
i
<
EXT_TX_SIZES
;
++
i
)
for
(
j
=
0
;
j
<
TX_TYPES
;
++
j
)
...
...
@@ -1836,10 +1838,6 @@ void av1_set_mode_cdfs(struct AV1Common *cm) {
av1_tree_to_cdf
(
av1_intra_mode_tree
,
cm
->
kf_y_prob
[
i
][
j
],
cm
->
kf_y_cdf
[
i
][
j
]);
for
(
j
=
0
;
j
<
SWITCHABLE_FILTER_CONTEXTS
;
++
j
)
av1_tree_to_cdf
(
av1_switchable_interp_tree
,
fc
->
switchable_interp_prob
[
j
],
fc
->
switchable_interp_cdf
[
j
]);
for
(
i
=
0
;
i
<
INTER_MODE_CONTEXTS
;
++
i
)
av1_tree_to_cdf
(
av1_inter_mode_tree
,
fc
->
inter_mode_probs
[
i
],
fc
->
inter_mode_cdf
[
i
]);
...
...
av1/common/entropymode.h
View file @
00b3331e
...
...
@@ -168,12 +168,12 @@ typedef struct frame_contexts {
#if CONFIG_DAALA_EC
aom_cdf_prob
y_mode_cdf
[
BLOCK_SIZE_GROUPS
][
INTRA_MODES
];
aom_cdf_prob
uv_mode_cdf
[
INTRA_MODES
][
INTRA_MODES
];
aom_cdf_prob
switchable_interp_cdf
[
SWITCHABLE_FILTER_CONTEXTS
]
[
SWITCHABLE_FILTERS
];
aom_cdf_prob
inter_mode_cdf
[
INTER_MODE_CONTEXTS
][
INTER_MODES
];
#endif
#if CONFIG_EC_MULTISYMBOL
aom_cdf_prob
partition_cdf
[
PARTITION_CONTEXTS
][
PARTITION_TYPES
];
aom_cdf_prob
switchable_interp_cdf
[
SWITCHABLE_FILTER_CONTEXTS
]
[
SWITCHABLE_FILTERS
];
#if !CONFIG_EXT_TX
aom_cdf_prob
intra_ext_tx_cdf
[
EXT_TX_SIZES
][
TX_TYPES
][
TX_TYPES
];
aom_cdf_prob
inter_ext_tx_cdf
[
EXT_TX_SIZES
][
TX_TYPES
];
...
...
@@ -358,11 +358,10 @@ extern const aom_tree_index av1_motion_mode_tree[TREE_SIZE(MOTION_MODES)];
extern
const
aom_tree_index
av1_switchable_restore_tree
[
TREE_SIZE
(
RESTORE_SWITCHABLE_TYPES
)];
#endif // CONFIG_LOOP_RESTORATION
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
extern
int
av1_switchable_interp_ind
[
SWITCHABLE_FILTERS
];
extern
int
av1_switchable_interp_inv
[
SWITCHABLE_FILTERS
];
#endif
#if CONFIG_EC_MULTISYMBOL
void
av1_set_mode_cdfs
(
struct
AV1Common
*
cm
);
#endif
...
...
av1/decoder/decodemv.c
View file @
00b3331e
...
...
@@ -1082,7 +1082,7 @@ static INLINE void read_mb_interp_filter(AV1_COMMON *const cm,
if
(
has_subpel_mv_component
(
xd
->
mi
[
0
],
xd
,
dir
)
||
(
mbmi
->
ref_frame
[
1
]
>
INTRA_FRAME
&&
has_subpel_mv_component
(
xd
->
mi
[
0
],
xd
,
dir
+
2
)))
{
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
mbmi
->
interp_filter
[
dir
]
=
(
InterpFilter
)
av1_switchable_interp_inv
[
aom_read_symbol
(
r
,
cm
->
fc
->
switchable_interp_cdf
[
ctx
],
SWITCHABLE_FILTERS
,
...
...
@@ -1112,7 +1112,7 @@ static INLINE void read_mb_interp_filter(AV1_COMMON *const cm,
mbmi
->
interp_filter
=
cm
->
interp_filter
;
}
else
{
const
int
ctx
=
av1_get_pred_context_switchable_interp
(
xd
);
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
mbmi
->
interp_filter
=
(
InterpFilter
)
av1_switchable_interp_inv
[
aom_read_symbol
(
r
,
cm
->
fc
->
switchable_interp_cdf
[
ctx
],
SWITCHABLE_FILTERS
,
...
...
av1/decoder/decoder.c
View file @
00b3331e
...
...
@@ -51,14 +51,14 @@ static void initialize_dec(void) {
#endif // CONFIG_EXT_INTER
init_done
=
1
;
#if CONFIG_DAALA_EC
av1_indices_from_tree
(
av1_switchable_interp_ind
,
av1_switchable_interp_inv
,
SWITCHABLE_FILTERS
,
av1_switchable_interp_tree
);
av1_indices_from_tree
(
av1_intra_mode_ind
,
av1_intra_mode_inv
,
INTRA_MODES
,
av1_intra_mode_tree
);
av1_indices_from_tree
(
av1_inter_mode_ind
,
av1_inter_mode_inv
,
INTER_MODES
,
av1_inter_mode_tree
);
#endif
#if CONFIG_EC_MULTISYMBOL
av1_indices_from_tree
(
av1_switchable_interp_ind
,
av1_switchable_interp_inv
,
SWITCHABLE_FILTERS
,
av1_switchable_interp_tree
);
#if !CONFIG_EXT_TX
av1_indices_from_tree
(
av1_ext_tx_ind
,
av1_ext_tx_inv
,
TX_TYPES
,
av1_ext_tx_tree
);
...
...
av1/encoder/bitstream.c
View file @
00b3331e
...
...
@@ -1111,7 +1111,7 @@ static void write_mb_interp_filter(AV1_COMP *cpi, const MACROBLOCKD *xd,
#else
{
const
int
ctx
=
av1_get_pred_context_switchable_interp
(
xd
);
#if CONFIG_
DAALA_EC
#if CONFIG_
EC_MULTISYMBOL
aom_write_symbol
(
w
,
av1_switchable_interp_ind
[
mbmi
->
interp_filter
],
cm
->
fc
->
switchable_interp_cdf
[
ctx
],
SWITCHABLE_FILTERS
);
#else
...
...
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