Fix assert failure in single pass vbr,cq
vbr_rate_correction uses twopass.total_stats which is not
available when single pass is in vbr,cq modes. Added a null
check for the same.
BUG=aomedia:2575
Change-Id: I81c34d4a88c9ba3abaa2667940ec81b181c113dd
diff --git a/av1/encoder/ratectrl.c b/av1/encoder/ratectrl.c
index 84d16e3..7da007e 100644
--- a/av1/encoder/ratectrl.c
+++ b/av1/encoder/ratectrl.c
@@ -1770,11 +1770,11 @@
static void vbr_rate_correction(AV1_COMP *cpi, int *this_frame_target) {
RATE_CONTROL *const rc = &cpi->rc;
int64_t vbr_bits_off_target = rc->vbr_bits_off_target;
-
- assert(cpi->twopass.total_stats != NULL);
+ const int stats_count = cpi->twopass.total_stats != NULL
+ ? (int)cpi->twopass.total_stats->count
+ : 0;
const int frame_window =
- AOMMIN(16, (int)(cpi->twopass.total_stats->count -
- cpi->common.current_frame.frame_number));
+ AOMMIN(16, (int)(stats_count - cpi->common.current_frame.frame_number));
if (frame_window > 0) {
const int max_delta =