Properly capture the frame size and PSNR

Change-Id: Ie4665b794a847dfc1d6537f3dfba4e05224376d6
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index c144955..59bc8f2 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2816,18 +2816,6 @@
 
       // bits used for this frame
       rc->projected_frame_size = (int)(*size) << 3;
-
-      if (cpi->use_ducky_encode) {
-        PSNR_STATS psnr;
-        aom_calc_psnr(cpi->source, &cpi->common.cur_frame->buf, &psnr);
-        DuckyEncodeFrameResult *frame_result =
-            &cpi->ducky_encode_info.frame_result;
-        frame_result->q_index = q;
-        frame_result->rdmult = cpi->rd.RDMULT;
-        frame_result->rate = rc->projected_frame_size;
-        frame_result->dist = psnr.sse[0];
-        frame_result->psnr = psnr.psnr[0];
-      }
 #if CONFIG_RD_COMMAND
       PSNR_STATS psnr;
       aom_calc_psnr(cpi->source, &cpi->common.cur_frame->buf, &psnr);
@@ -3073,6 +3061,20 @@
     const int64_t bits = (*size << 3);
     *rate = (bits << 5);  // To match scale.
   }
+
+#if !CONFIG_REALTIME_ONLY
+  if (cpi->use_ducky_encode) {
+    PSNR_STATS psnr;
+    aom_calc_psnr(cpi->source, &cpi->common.cur_frame->buf, &psnr);
+    DuckyEncodeFrameResult *frame_result = &cpi->ducky_encode_info.frame_result;
+    frame_result->q_index = cm->quant_params.base_qindex;
+    frame_result->rdmult = cpi->rd.RDMULT;
+    frame_result->rate = (int)(*size) * 8;
+    frame_result->dist = psnr.sse[0];
+    frame_result->psnr = psnr.psnr[0];
+  }
+#endif  // !CONFIG_REALTIME_ONLY
+
   return AOM_CODEC_OK;
 }
 
@@ -3433,6 +3435,20 @@
                                    cm->cur_frame->buf.y_crop_height);
     }
 
+#if !CONFIG_REALTIME_ONLY
+    if (cpi->use_ducky_encode) {
+      PSNR_STATS psnr;
+      aom_calc_psnr(cpi->source, &cpi->common.cur_frame->buf, &psnr);
+      DuckyEncodeFrameResult *frame_result =
+          &cpi->ducky_encode_info.frame_result;
+      frame_result->q_index = cm->quant_params.base_qindex;
+      frame_result->rdmult = cpi->rd.RDMULT;
+      frame_result->rate = (int)(*size) * 8;
+      frame_result->dist = psnr.sse[0];
+      frame_result->psnr = psnr.psnr[0];
+    }
+#endif  // !CONFIG_REALTIME_ONLY
+
     ++current_frame->frame_number;
     update_frame_index_set(&cpi->frame_index_set, cm->show_frame);
     return AOM_CODEC_OK;