Commit 310e3884 authored by Marco Paniconi's avatar Marco Paniconi Committed by Gerrit Code Review
Browse files

Merge "vp9: Adjustments for ARF usage in 1 pass vbr."

parents a80bdfd0 ebb015a5
...@@ -4179,7 +4179,7 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, ThreadData *td, ...@@ -4179,7 +4179,7 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, ThreadData *td,
int sb_offset2 = ((cm->mi_cols + 7) >> 3) * (mi_row >> 3) + (mi_col >> 3); int sb_offset2 = ((cm->mi_cols + 7) >> 3) * (mi_row >> 3) + (mi_col >> 3);
int64_t source_sad = avg_source_sad(cpi, x, shift, sb_offset2); int64_t source_sad = avg_source_sad(cpi, x, shift, sb_offset2);
if (sf->adapt_partition_source_sad && if (sf->adapt_partition_source_sad &&
(cpi->oxcf.rc_mode == VPX_VBR && (cpi->oxcf.rc_mode == VPX_VBR && !cpi->rc.is_src_frame_alt_ref &&
source_sad > sf->adapt_partition_thresh && source_sad > sf->adapt_partition_thresh &&
cpi->refresh_golden_frame)) cpi->refresh_golden_frame))
partition_search_type = REFERENCE_PARTITION; partition_search_type = REFERENCE_PARTITION;
......
...@@ -1669,13 +1669,13 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data, ...@@ -1669,13 +1669,13 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
frame_mv[this_mode][ref_frame].as_int != 0)) frame_mv[this_mode][ref_frame].as_int != 0))
continue; continue;
if (cpi->rc.alt_ref_gf_group && if (cpi->rc.alt_ref_gf_group && cm->show_frame &&
cpi->rc.frames_since_golden > (cpi->rc.baseline_gf_interval >> 1) && cpi->rc.frames_since_golden > (cpi->rc.baseline_gf_interval >> 1) &&
ref_frame == GOLDEN_FRAME && ref_frame == GOLDEN_FRAME &&
frame_mv[this_mode][ref_frame].as_int != 0) frame_mv[this_mode][ref_frame].as_int != 0)
continue; continue;
if (cpi->rc.alt_ref_gf_group && if (cpi->rc.alt_ref_gf_group && cm->show_frame &&
cpi->rc.frames_since_golden < (cpi->rc.baseline_gf_interval >> 1) && cpi->rc.frames_since_golden < (cpi->rc.baseline_gf_interval >> 1) &&
ref_frame == ALTREF_FRAME && ref_frame == ALTREF_FRAME &&
frame_mv[this_mode][ref_frame].as_int != 0) frame_mv[this_mode][ref_frame].as_int != 0)
......
...@@ -523,6 +523,11 @@ static void set_rt_speed_feature_framesize_independent( ...@@ -523,6 +523,11 @@ static void set_rt_speed_feature_framesize_independent(
if (speed >= 6) { if (speed >= 6) {
sf->partition_search_type = VAR_BASED_PARTITION; sf->partition_search_type = VAR_BASED_PARTITION;
if (cpi->oxcf.rc_mode == VPX_VBR && cpi->oxcf.lag_in_frames > 0 &&
cpi->rc.is_src_frame_alt_ref && !is_keyframe) {
sf->partition_search_type = FIXED_PARTITION;
sf->always_this_block_size = BLOCK_64X64;
}
// Turn on this to use non-RD key frame coding mode. // Turn on this to use non-RD key frame coding mode.
sf->use_nonrd_pick_mode = 1; sf->use_nonrd_pick_mode = 1;
sf->mv.search_method = NSTEP; sf->mv.search_method = NSTEP;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment