]> granicus.if.org Git - libvpx/commitdiff
Avoid re-allocating fp_motion_vector_info
authorangiebird <angiebird@google.com>
Tue, 11 Aug 2020 02:53:10 +0000 (19:53 -0700)
committerangiebird <angiebird@google.com>
Tue, 11 Aug 2020 02:53:10 +0000 (19:53 -0700)
Replace fp_motion_vector_info_init() by
fp_motion_vector_info_reset() in first_pass_encode()

Change-Id: Iadacb1ecc4f07435340399564fdd3bfd4ac702f4

vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_firstpass.c

index 26d35cccf9848d267485c30703f64562c3eb34b6..b201e25c16434b417d648bb00c8fabf74d68d901 100644 (file)
@@ -1025,12 +1025,19 @@ static INLINE void fp_motion_vector_info_init(struct VP9_COMP *cpi) {
   VP9_COMMON *const cm = &cpi->common;
   const int unit_width = get_num_unit_16x16(cpi->frame_info.frame_width);
   const int unit_height = get_num_unit_16x16(cpi->frame_info.frame_height);
-  int i;
   CHECK_MEM_ERROR(cm, cpi->fp_motion_vector_info,
                   (MOTION_VECTOR_INFO *)vpx_calloc(unit_width * unit_height,
                                                    sizeof(MOTION_VECTOR_INFO)));
+}
+
+static INLINE void fp_motion_vector_info_reset(
+    int frame_width, int frame_height,
+    MOTION_VECTOR_INFO *fp_motion_vector_info) {
+  const int unit_width = get_num_unit_16x16(frame_width);
+  const int unit_height = get_num_unit_16x16(frame_height);
+  int i;
   for (i = 0; i < unit_width * unit_height; ++i) {
-    reset_mv_info(cpi->fp_motion_vector_info + i);
+    reset_mv_info(fp_motion_vector_info + i);
   }
 }
 
index 3847755073461db2b1c60c8742e6692f9cbf3960..de954f7575ec5b1ada51b3eadb9ae062f700a144 100644 (file)
@@ -1388,7 +1388,9 @@ static void first_pass_encode(VP9_COMP *cpi, FIRSTPASS_DATA *fp_acc_data) {
   vp9_tile_init(tile, cm, 0, 0);
 
 #if CONFIG_RATE_CTRL
-  fp_motion_vector_info_init(cpi);
+  fp_motion_vector_info_reset(cpi->frame_info.frame_width,
+                              cpi->frame_info.frame_height,
+                              cpi->fp_motion_vector_info);
 #endif
 
   for (mb_row = 0; mb_row < cm->mb_rows; ++mb_row) {