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
3c8bd0d3
Commit
3c8bd0d3
authored
Feb 10, 2016
by
Jingning Han
Committed by
Gerrit Code Review
Feb 10, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Resolve conflict between var-tx and super-tx" into nextgenv2
parents
ba1bed68
4c6c82a2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
13 deletions
+36
-13
vp10/encoder/encodeframe.c
vp10/encoder/encodeframe.c
+21
-5
vp10/encoder/rdopt.c
vp10/encoder/rdopt.c
+8
-8
vp10/encoder/rdopt.h
vp10/encoder/rdopt.h
+7
-0
No files found.
vp10/encoder/encodeframe.c
View file @
3c8bd0d3
...
...
@@ -3186,7 +3186,7 @@ static void rd_pick_partition(VP10_COMP *cpi, ThreadData *td,
#if CONFIG_VAR_TX
xd
->
above_txfm_context
=
cm
->
above_txfm_context
+
mi_col
;
xd
->
left_txfm_context
=
xd
->
left_txfm_context_buffer
+
(
mi_row
&
0x07
);
xd
->
left_txfm_context_buffer
+
(
mi_row
&
MI_MASK
);
restore_context
(
x
,
mi_row
,
mi_col
,
a
,
l
,
sa
,
sl
,
ta
,
tl
,
bsize
);
#else
restore_context
(
x
,
mi_row
,
mi_col
,
a
,
l
,
sa
,
sl
,
bsize
);
...
...
@@ -5210,6 +5210,11 @@ static void rd_supertx_sb(VP10_COMP *cpi, ThreadData *td,
ext_tx_set
=
get_ext_tx_set
(
tx_size
,
bsize
,
1
);
#endif // CONFIG_EXT_TX
for
(
tx_type
=
DCT_DCT
;
tx_type
<
TX_TYPES
;
++
tx_type
)
{
#if CONFIG_VAR_TX
ENTROPY_CONTEXT
ctxa
[
16
],
ctxl
[
16
];
const
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
0
];
int
coeff_ctx
=
1
;
#endif // CONFIG_VAR_TX
#if CONFIG_EXT_TX
if
(
!
ext_tx_used_inter
[
ext_tx_set
][
tx_type
])
continue
;
...
...
@@ -5223,12 +5228,23 @@ static void rd_supertx_sb(VP10_COMP *cpi, ThreadData *td,
continue
;
#endif // CONFIG_EXT_TX
mbmi
->
tx_type
=
tx_type
;
vp10_txfm_rd_in_plane_supertx
(
x
,
#if CONFIG_VAR_TX
cpi
,
#endif
&
this_rate
,
&
this_dist
,
&
pnskip
,
this_rate
=
0
;
this_dist
=
0
;
pnsse
=
0
;
pnskip
=
1
;
vp10_get_entropy_contexts
(
bsize
,
tx_size
,
pd
,
ctxa
,
ctxl
);
coeff_ctx
=
combine_entropy_contexts
(
ctxa
[
0
],
ctxl
[
0
]);
vp10_tx_block_rd_b
(
cpi
,
x
,
tx_size
,
0
,
0
,
0
,
0
,
bsize
,
coeff_ctx
,
&
this_rate
,
&
this_dist
,
&
pnsse
,
&
pnskip
);
#else
vp10_txfm_rd_in_plane_supertx
(
x
,
&
this_rate
,
&
this_dist
,
&
pnskip
,
&
pnsse
,
INT64_MAX
,
0
,
bsize
,
tx_size
,
0
);
#endif // CONFIG_VAR_TX
#if CONFIG_EXT_TX
if
(
get_ext_tx_types
(
tx_size
,
bsize
,
1
)
>
1
&&
...
...
vp10/encoder/rdopt.c
View file @
3c8bd0d3
...
...
@@ -2317,10 +2317,10 @@ static int64_t rd_pick_intra_sby_mode(VP10_COMP *cpi, MACROBLOCK *x,
}
#if CONFIG_VAR_TX
static
void
tx_block_rd_b
(
const
VP10_COMP
*
cpi
,
MACROBLOCK
*
x
,
TX_SIZE
tx_size
,
int
blk_row
,
int
blk_col
,
int
plane
,
int
block
,
int
plane_bsize
,
int
coeff_ctx
,
int
*
rate
,
int64_t
*
dist
,
int64_t
*
bsse
,
int
*
skip
)
{
void
vp10_
tx_block_rd_b
(
const
VP10_COMP
*
cpi
,
MACROBLOCK
*
x
,
TX_SIZE
tx_size
,
int
blk_row
,
int
blk_col
,
int
plane
,
int
block
,
int
plane_bsize
,
int
coeff_ctx
,
int
*
rate
,
int64_t
*
dist
,
int64_t
*
bsse
,
int
*
skip
)
{
MACROBLOCKD
*
xd
=
&
x
->
e_mbd
;
const
struct
macroblock_plane
*
const
p
=
&
x
->
plane
[
plane
];
struct
macroblockd_plane
*
const
pd
=
&
xd
->
plane
[
plane
];
...
...
@@ -2531,8 +2531,8 @@ static void select_tx_block(const VP10_COMP *cpi, MACROBLOCK *x,
if
(
cpi
->
common
.
tx_mode
==
TX_MODE_SELECT
||
tx_size
==
TX_4X4
)
{
mbmi
->
inter_tx_size
[
tx_idx
]
=
tx_size
;
tx_block_rd_b
(
cpi
,
x
,
tx_size
,
blk_row
,
blk_col
,
plane
,
block
,
plane_bsize
,
coeff_ctx
,
rate
,
dist
,
bsse
,
skip
);
vp10_
tx_block_rd_b
(
cpi
,
x
,
tx_size
,
blk_row
,
blk_col
,
plane
,
block
,
plane_bsize
,
coeff_ctx
,
rate
,
dist
,
bsse
,
skip
);
if
((
RDCOST
(
x
->
rdmult
,
x
->
rddiv
,
*
rate
,
*
dist
)
>=
RDCOST
(
x
->
rdmult
,
x
->
rddiv
,
zero_blk_rate
,
*
bsse
)
||
*
skip
==
1
)
&&
...
...
@@ -2863,8 +2863,8 @@ static void tx_block_rd(const VP10_COMP *cpi, MACROBLOCK *x,
break
;
}
coeff_ctx
=
combine_entropy_contexts
(
ta
[
0
],
tl
[
0
]);
tx_block_rd_b
(
cpi
,
x
,
tx_size
,
blk_row
,
blk_col
,
plane
,
block
,
plane_bsize
,
coeff_ctx
,
rate
,
dist
,
bsse
,
skip
);
vp10_
tx_block_rd_b
(
cpi
,
x
,
tx_size
,
blk_row
,
blk_col
,
plane
,
block
,
plane_bsize
,
coeff_ctx
,
rate
,
dist
,
bsse
,
skip
);
for
(
i
=
0
;
i
<
(
1
<<
tx_size
);
++
i
)
{
ta
[
i
]
=
!
(
p
->
eobs
[
block
]
==
0
);
tl
[
i
]
=
!
(
p
->
eobs
[
block
]
==
0
);
...
...
vp10/encoder/rdopt.h
View file @
3c8bd0d3
...
...
@@ -74,6 +74,13 @@ void vp10_rd_pick_inter_mode_sub8x8(struct VP10_COMP *cpi,
int64_t
best_rd_so_far
);
#if CONFIG_SUPERTX
#if CONFIG_VAR_TX
void
vp10_tx_block_rd_b
(
const
VP10_COMP
*
cpi
,
MACROBLOCK
*
x
,
TX_SIZE
tx_size
,
int
blk_row
,
int
blk_col
,
int
plane
,
int
block
,
int
plane_bsize
,
int
coeff_ctx
,
int
*
rate
,
int64_t
*
dist
,
int64_t
*
bsse
,
int
*
skip
);
#endif
void
vp10_txfm_rd_in_plane_supertx
(
MACROBLOCK
*
x
,
#if CONFIG_VAR_TX
const
VP10_COMP
*
cpi
,
...
...
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