vp9_firstpass.c : clear warning re: use of null lc
Change-Id: I80f81f6f4f15766f504c15f8c20258a84bbaa9ac
This commit is contained in:
@@ -432,6 +432,8 @@ void vp9_first_pass(VP9_COMP *cpi) {
|
||||
TWO_PASS *twopass = &cpi->twopass;
|
||||
const MV zero_mv = {0, 0};
|
||||
const YV12_BUFFER_CONFIG *first_ref_buf = lst_yv12;
|
||||
LAYER_CONTEXT *const lc = is_spatial_svc(cpi) ?
|
||||
&cpi->svc.layer_context[cpi->svc.spatial_layer_id] : 0;
|
||||
|
||||
#if CONFIG_FP_MB_STATS
|
||||
if (cpi->use_fp_mb_stats) {
|
||||
@@ -444,15 +446,14 @@ void vp9_first_pass(VP9_COMP *cpi) {
|
||||
set_first_pass_params(cpi);
|
||||
vp9_set_quantizer(cm, find_fp_qindex());
|
||||
|
||||
if (is_spatial_svc(cpi)) {
|
||||
if (lc != NULL) {
|
||||
MV_REFERENCE_FRAME ref_frame = LAST_FRAME;
|
||||
const YV12_BUFFER_CONFIG *scaled_ref_buf = NULL;
|
||||
twopass = &cpi->svc.layer_context[cpi->svc.spatial_layer_id].twopass;
|
||||
twopass = &lc->twopass;
|
||||
|
||||
if (cpi->common.current_video_frame == 0) {
|
||||
cpi->ref_frame_flags = 0;
|
||||
} else {
|
||||
LAYER_CONTEXT *lc = &cpi->svc.layer_context[cpi->svc.spatial_layer_id];
|
||||
if (lc->current_video_frame_in_layer == 0)
|
||||
cpi->ref_frame_flags = VP9_GOLD_FLAG;
|
||||
else
|
||||
@@ -613,7 +614,7 @@ void vp9_first_pass(VP9_COMP *cpi) {
|
||||
&unscaled_last_source_buf_2d);
|
||||
|
||||
// TODO(pengchong): Replace the hard-coded threshold
|
||||
if (raw_motion_error > 25 || is_spatial_svc(cpi)) {
|
||||
if (raw_motion_error > 25 || lc != NULL) {
|
||||
// Test last reference frame using the previous best mv as the
|
||||
// starting point (best reference) for the search.
|
||||
first_pass_motion_search(cpi, x, &best_ref_mv.as_mv, &mv.as_mv,
|
||||
@@ -895,7 +896,7 @@ void vp9_first_pass(VP9_COMP *cpi) {
|
||||
|
||||
vp9_extend_frame_borders(new_yv12);
|
||||
|
||||
if (is_spatial_svc(cpi)) {
|
||||
if (lc != NULL) {
|
||||
vp9_update_reference_frames(cpi);
|
||||
} else {
|
||||
// Swap frame pointers so last frame refers to the frame we just compressed.
|
||||
@@ -1554,8 +1555,6 @@ static void define_gf_group(VP9_COMP *cpi, FIRSTPASS_STATS *this_frame) {
|
||||
vp9_clear_system_state();
|
||||
vp9_zero(next_frame);
|
||||
|
||||
gf_group_bits = 0;
|
||||
|
||||
// Load stats for the current frame.
|
||||
mod_frame_err = calculate_modified_err(twopass, oxcf, this_frame);
|
||||
|
||||
@@ -2124,10 +2123,10 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
FIRSTPASS_STATS this_frame_copy;
|
||||
|
||||
int target_rate;
|
||||
LAYER_CONTEXT *lc = NULL;
|
||||
LAYER_CONTEXT *const lc = is_spatial_svc(cpi) ?
|
||||
&cpi->svc.layer_context[cpi->svc.spatial_layer_id] : 0;
|
||||
|
||||
if (is_spatial_svc(cpi)) {
|
||||
lc = &cpi->svc.layer_context[cpi->svc.spatial_layer_id];
|
||||
if (lc != NULL) {
|
||||
frames_left = (int)(twopass->total_stats.count -
|
||||
lc->current_video_frame_in_layer);
|
||||
} else {
|
||||
@@ -2154,7 +2153,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
vp9_rc_set_frame_target(cpi, target_rate);
|
||||
cm->frame_type = INTER_FRAME;
|
||||
|
||||
if (is_spatial_svc(cpi)) {
|
||||
if (lc != NULL) {
|
||||
if (cpi->svc.spatial_layer_id == 0) {
|
||||
lc->is_key_frame = 0;
|
||||
} else {
|
||||
@@ -2170,7 +2169,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
|
||||
vp9_clear_system_state();
|
||||
|
||||
if (is_spatial_svc(cpi) && twopass->kf_intra_err_min == 0) {
|
||||
if (lc != NULL && twopass->kf_intra_err_min == 0) {
|
||||
twopass->kf_intra_err_min = KF_MB_INTRA_MIN * cpi->common.MBs;
|
||||
twopass->gf_intra_err_min = GF_MB_INTRA_MIN * cpi->common.MBs;
|
||||
}
|
||||
@@ -2178,8 +2177,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
if (cpi->oxcf.rc_mode == VPX_Q) {
|
||||
twopass->active_worst_quality = cpi->oxcf.cq_level;
|
||||
} else if (cm->current_video_frame == 0 ||
|
||||
(is_spatial_svc(cpi) &&
|
||||
lc->current_video_frame_in_layer == 0)) {
|
||||
(lc != NULL && lc->current_video_frame_in_layer == 0)) {
|
||||
// Special case code for first frame.
|
||||
const int section_target_bandwidth = (int)(twopass->bits_left /
|
||||
frames_left);
|
||||
@@ -2205,7 +2203,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
cm->frame_type = INTER_FRAME;
|
||||
}
|
||||
|
||||
if (is_spatial_svc(cpi)) {
|
||||
if (lc != NULL) {
|
||||
if (cpi->svc.spatial_layer_id == 0) {
|
||||
lc->is_key_frame = (cm->frame_type == KEY_FRAME);
|
||||
if (lc->is_key_frame)
|
||||
@@ -2236,7 +2234,7 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
|
||||
}
|
||||
|
||||
rc->frames_till_gf_update_due = rc->baseline_gf_interval;
|
||||
if (!is_spatial_svc(cpi))
|
||||
if (lc != NULL)
|
||||
cpi->refresh_golden_frame = 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user