Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
87c21a95
Commit
87c21a95
authored
May 06, 2015
by
hkuang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Optimize the decode_partition. About 0.7% gain on N10.
Change-Id: Ia689c254bd2d4f274abcc451a9b758f62e3a2b1f
parent
9c6eea35
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
6 deletions
+11
-6
vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_decodeframe.c
+11
-6
No files found.
vp9/decoder/vp9_decodeframe.c
View file @
87c21a95
...
...
@@ -381,6 +381,15 @@ static void decode_block(VP9Decoder *const pbi, MACROBLOCKD *const xd,
VP9_COMMON
*
const
cm
=
&
pbi
->
common
;
const
int
less8x8
=
bsize
<
BLOCK_8X8
;
MB_MODE_INFO
*
mbmi
=
set_offsets
(
cm
,
xd
,
tile
,
bsize
,
mi_row
,
mi_col
);
if
(
bsize
>=
BLOCK_8X8
&&
(
cm
->
subsampling_x
||
cm
->
subsampling_y
))
{
const
BLOCK_SIZE
uv_subsize
=
ss_size_lookup
[
bsize
][
cm
->
subsampling_x
][
cm
->
subsampling_y
];
if
(
uv_subsize
==
BLOCK_INVALID
)
vpx_internal_error
(
xd
->
error_info
,
VPX_CODEC_CORRUPT_FRAME
,
"Invalid block size."
);
}
vp9_read_mode_info
(
pbi
,
xd
,
tile
,
mi_row
,
mi_col
,
r
);
if
(
less8x8
)
...
...
@@ -444,18 +453,14 @@ static void decode_partition(VP9Decoder *const pbi, MACROBLOCKD *const xd,
VP9_COMMON
*
const
cm
=
&
pbi
->
common
;
const
int
hbs
=
num_8x8_blocks_wide_lookup
[
bsize
]
/
2
;
PARTITION_TYPE
partition
;
BLOCK_SIZE
subsize
,
uv_
subsize
;
BLOCK_SIZE
subsize
;
if
(
mi_row
>=
cm
->
mi_rows
||
mi_col
>=
cm
->
mi_cols
)
return
;
partition
=
read_partition
(
cm
,
xd
,
hbs
,
mi_row
,
mi_col
,
bsize
,
r
);
subsize
=
get_subsize
(
bsize
,
partition
);
uv_subsize
=
ss_size_lookup
[
subsize
][
cm
->
subsampling_x
][
cm
->
subsampling_y
];
if
(
subsize
>=
BLOCK_8X8
&&
uv_subsize
==
BLOCK_INVALID
)
vpx_internal_error
(
xd
->
error_info
,
VPX_CODEC_CORRUPT_FRAME
,
"Invalid block size."
);
if
(
subsize
<
BLOCK_8X8
)
{
if
(
bsize
==
BLOCK_8X8
)
{
decode_block
(
pbi
,
xd
,
tile
,
mi_row
,
mi_col
,
r
,
subsize
);
}
else
{
switch
(
partition
)
{
...
...
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