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
Yushin Cho
aom-rav1e
Commits
b1b6fd85
Commit
b1b6fd85
authored
Sep 30, 2014
by
Yunqing Wang
Committed by
Gerrit Code Review
Sep 30, 2014
Browse files
Merge "Skip the partition search for still frames"
parents
c8d01b1e
1fcbf6ed
Changes
5
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_encodeframe.c
View file @
b1b6fd85
...
...
@@ -2577,7 +2577,7 @@ static void encode_rd_sb_row(VP9_COMP *cpi, const TileInfo *const tile,
sf
->
always_this_block_size
);
rd_use_partition
(
cpi
,
tile
,
mi
,
tp
,
mi_row
,
mi_col
,
BLOCK_64X64
,
&
dummy_rate
,
&
dummy_dist
,
1
,
cpi
->
pc_root
);
}
else
if
(
(
sf
->
use_lastframe_partitioning
&&
cpi
->
skippable_frame
)
||
}
else
if
(
cpi
->
partition_search_
skippable_frame
||
sf
->
partition_search_type
==
VAR_BASED_FIXED_PARTITION
)
{
BLOCK_SIZE
bsize
;
set_offsets
(
cpi
,
tile
,
mi_row
,
mi_col
,
BLOCK_64X64
);
...
...
vp9/encoder/vp9_encoder.c
View file @
b1b6fd85
...
...
@@ -1382,7 +1382,7 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf) {
vp9_rc_init
(
&
cpi
->
oxcf
,
oxcf
->
pass
,
&
cpi
->
rc
);
cm
->
current_video_frame
=
0
;
cpi
->
skippable_frame
=
0
;
cpi
->
partition_search_
skippable_frame
=
0
;
// Create the encoder segmentation map and set all entries to 0
CHECK_MEM_ERROR
(
cm
,
cpi
->
segmentation_map
,
...
...
@@ -3020,9 +3020,9 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
// Check if the current frame is skippable for the partition search in the
// second pass according to the first pass stats
if
(
oxcf
->
pass
==
2
&&
if
(
cpi
->
sf
.
allow_partition_search_skip
&&
oxcf
->
pass
==
2
&&
(
!
cpi
->
use_svc
||
is_two_pass_svc
(
cpi
)))
{
cpi
->
skippable_frame
=
is_skippable_frame
(
cpi
);
cpi
->
partition_search_
skippable_frame
=
is_skippable_frame
(
cpi
);
}
// For 1 pass CBR, check if we are dropping this frame.
...
...
vp9/encoder/vp9_encoder.h
View file @
b1b6fd85
...
...
@@ -241,7 +241,8 @@ typedef struct VP9_COMP {
YV12_BUFFER_CONFIG
*
unscaled_last_source
;
YV12_BUFFER_CONFIG
scaled_last_source
;
int
skippable_frame
;
// For a still frame, this flag is set to 1 to skip partition search.
int
partition_search_skippable_frame
;
int
scaled_ref_idx
[
3
];
int
lst_fb_idx
;
...
...
vp9/encoder/vp9_speed_features.c
View file @
b1b6fd85
...
...
@@ -88,6 +88,8 @@ static void set_good_speed_feature(VP9_COMP *cpi, VP9_COMMON *cm,
else
sf
->
partition_search_breakout_dist_thr
=
(
1
<<
22
);
sf
->
partition_search_breakout_rate_thr
=
700
;
sf
->
allow_partition_search_skip
=
1
;
}
if
(
speed
>=
3
)
{
...
...
@@ -363,6 +365,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
sf
->
max_delta_qindex
=
0
;
sf
->
disable_filter_search_var_thresh
=
0
;
sf
->
adaptive_interp_filter_search
=
0
;
sf
->
allow_partition_search_skip
=
0
;
for
(
i
=
0
;
i
<
TX_SIZES
;
i
++
)
{
sf
->
intra_y_mode_mask
[
i
]
=
INTRA_ALL
;
...
...
vp9/encoder/vp9_speed_features.h
View file @
b1b6fd85
...
...
@@ -437,6 +437,9 @@ typedef struct SPEED_FEATURES {
// Partition search early breakout thresholds.
int64_t
partition_search_breakout_dist_thr
;
int
partition_search_breakout_rate_thr
;
// Allow skipping partition search for still image frame
int
allow_partition_search_skip
;
}
SPEED_FEATURES
;
struct
VP9_COMP
;
...
...
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