Fix crashes with fwd-kf and keyframe filtering
Change-Id: Iae8d319bc62a3fa7595d598dcde68aff3c33039c
diff --git a/av1/encoder/encode_strategy.c b/av1/encoder/encode_strategy.c
index e3c869a..de3c565 100644
--- a/av1/encoder/encode_strategy.c
+++ b/av1/encoder/encode_strategy.c
@@ -931,6 +931,7 @@
}
const int apply_filtering =
oxcf->pass == 2 && frame_params->frame_type == KEY_FRAME &&
+ frame_params->show_frame &&
cpi->rc.frames_to_key > NUM_KEY_FRAME_DENOISING && noise_level > 0 &&
!is_lossless_requested(oxcf) && oxcf->arnr_max_frames > 0;
// Save the pointer to the original source image.
diff --git a/av1/encoder/temporal_filter.c b/av1/encoder/temporal_filter.c
index 2307996..556bb5a 100644
--- a/av1/encoder/temporal_filter.c
+++ b/av1/encoder/temporal_filter.c
@@ -1573,12 +1573,11 @@
&sigma, &frames_to_blur_backward,
&frames_to_blur_forward);
start_frame = distance + frames_to_blur_forward;
+ cpi->common.showable_frame =
+ (strength == 0 && frames_to_blur == 1) ||
+ (cpi->oxcf.enable_overlay == 0 || cpi->sf.disable_overlay_frames);
}
- cpi->common.showable_frame =
- (strength == 0 && frames_to_blur == 1) ||
- (cpi->oxcf.enable_overlay == 0 || cpi->sf.disable_overlay_frames);
-
// Setup frame pointers, NULL indicates frame not included in filter.
for (frame = 0; frame < frames_to_blur; ++frame) {
const int which_buffer = start_frame - frame;