Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
aom-rav1e
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xiph.Org
aom-rav1e
Commits
60ff1235
Commit
60ff1235
authored
Aug 02, 2013
by
Adrian Grange
Committed by
Gerrit Code Review
Aug 02, 2013
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Fixed typos and added a few explanatory comments"
parents
075b11f0
89e73c63
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
10 deletions
+20
-10
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_encodeframe.c
+18
-8
vp9/encoder/vp9_rdopt.c
vp9/encoder/vp9_rdopt.c
+2
-2
No files found.
vp9/encoder/vp9_encodeframe.c
View file @
60ff1235
...
...
@@ -572,9 +572,12 @@ static void pick_sb_modes(VP9_COMP *cpi, int mi_row, int mi_col,
x
->
rd_search
=
1
;
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
{
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done.
if
(
xd
->
ab_index
!=
0
)
return
;
}
set_offsets
(
cpi
,
mi_row
,
mi_col
,
bsize
);
xd
->
mode_info_context
->
mbmi
.
sb_type
=
bsize
;
...
...
@@ -632,7 +635,7 @@ static void update_stats(VP9_COMP *cpi) {
}
// TODO(jingning): the variables used here are little complicated. need further
// refactoring on organizing the t
he t
emporary buffers, when recursive
// refactoring on organizing the temporary buffers, when recursive
// partition down to 4x4 block size is enabled.
static
PICK_MODE_CONTEXT
*
get_block_context
(
MACROBLOCK
*
x
,
BLOCK_SIZE_TYPE
bsize
)
{
...
...
@@ -766,9 +769,12 @@ static void encode_b(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
if
(
sub_index
!=
-
1
)
*
(
get_sb_index
(
xd
,
bsize
))
=
sub_index
;
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
{
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done.
if
(
xd
->
ab_index
>
0
)
return
;
}
set_offsets
(
cpi
,
mi_row
,
mi_col
,
bsize
);
update_state
(
cpi
,
get_block_context
(
x
,
bsize
),
bsize
,
output_enabled
);
encode_superblock
(
cpi
,
tp
,
output_enabled
,
mi_row
,
mi_col
,
bsize
);
...
...
@@ -1223,6 +1229,8 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
subsize
=
get_subsize
(
bsize
,
partition
);
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
{
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done.
if
(
xd
->
ab_index
!=
0
)
{
*
rate
=
0
;
*
dist
=
0
;
...
...
@@ -1456,7 +1464,7 @@ static BLOCK_SIZE_TYPE max_partition_size[BLOCK_SIZE_TYPES] =
BLOCK_64X64
,
BLOCK_64X64
,
BLOCK_64X64
,
BLOCK_64X64
,
BLOCK_64X64
};
// Look at neighbo
u
ring blocks and set a min and max partition size based on
// Look at neighboring blocks and set a min and max partition size based on
// what they chose.
static
void
rd_auto_partition_range
(
VP9_COMP
*
cpi
,
BLOCK_SIZE_TYPE
*
min_block_size
,
...
...
@@ -1498,7 +1506,7 @@ static void rd_auto_partition_range(VP9_COMP *cpi,
}
// TODO(jingning,jimbankoski,rbultje): properly skip partition types that are
// unlikely to be selected depending on previous
ly
rate-distortion optimization
// unlikely to be selected depending on previous rate-distortion optimization
// results, for encoding speed-up.
static
void
rd_pick_partition
(
VP9_COMP
*
cpi
,
TOKENEXTRA
**
tp
,
int
mi_row
,
int
mi_col
,
BLOCK_SIZE_TYPE
bsize
,
int
*
rate
,
...
...
@@ -1518,12 +1526,15 @@ static void rd_pick_partition(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row,
(
void
)
*
tp_orig
;
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
if
(
bsize
<
BLOCK_SIZE_SB8X8
)
{
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done.
if
(
xd
->
ab_index
!=
0
)
{
*
rate
=
0
;
*
dist
=
0
;
return
;
}
}
assert
(
mi_height_log2
(
bsize
)
==
mi_width_log2
(
bsize
));
save_context
(
cpi
,
mi_row
,
mi_col
,
a
,
l
,
sa
,
sl
,
bsize
);
...
...
@@ -1941,8 +1952,7 @@ static void encode_sb_row(VP9_COMP *cpi, int mi_row, TOKENEXTRA **tp,
}
else
{
// If required set upper and lower partition size limits
if
(
cpi
->
sf
.
auto_min_max_partition_size
)
{
rd_auto_partition_range
(
cpi
,
&
cpi
->
sf
.
min_partition_size
,
rd_auto_partition_range
(
cpi
,
&
cpi
->
sf
.
min_partition_size
,
&
cpi
->
sf
.
max_partition_size
);
}
...
...
vp9/encoder/vp9_rdopt.c
View file @
60ff1235
...
...
@@ -3448,7 +3448,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
}
}
// Select predict
ors
// Select predict
ion reference frames.
for
(
i
=
0
;
i
<
MAX_MB_PLANE
;
i
++
)
{
xd
->
plane
[
i
].
pre
[
0
]
=
yv12_mb
[
ref_frame
][
i
];
if
(
comp_pred
)
...
...
@@ -4043,7 +4043,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
(
cm
->
mcomp_filter_type
==
best_mbmode
.
interp_filter
)
||
(
best_mbmode
.
ref_frame
[
0
]
==
INTRA_FRAME
));
// Updating rd_thresh_freq_fact[] here means that the differnt
// Updating rd_thresh_freq_fact[] here means that the differ
e
nt
// partition/block sizes are handled independently based on the best
// choice for the current partition. It may well be better to keep a scaled
// best rd so far value and update rd_thresh_freq_fact based on the mode/size
...
...
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