shithub: libvpx

Download patch

ref: 5ee16cc075dea7ed8b36e013adbeca7a84125ee3
parent: 9f17ff452bd4d27d7a080ffae25291383381cc2c
parent: 673621c8ba5550e0cb7926af6f98fe1acef2aa21
author: Yaowu Xu <yaowu@google.com>
date: Mon Mar 3 01:53:35 EST 2014

Merge "vp9_firstpass.c: remove unused functions & params"

--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -136,9 +136,8 @@
   return 1;
 }
 
-static void output_stats(const VP9_COMP *cpi,
-                         struct vpx_codec_pkt_list *pktlist,
-                         FIRSTPASS_STATS *stats) {
+static void output_stats(FIRSTPASS_STATS *stats,
+                         struct vpx_codec_pkt_list *pktlist) {
   struct vpx_codec_cx_pkt pkt;
   pkt.kind = VPX_CODEC_STATS_PKT;
   pkt.data.twopass_stats.buf = stats;
@@ -357,7 +356,7 @@
 }
 
 void vp9_end_first_pass(VP9_COMP *cpi) {
-  output_stats(cpi, cpi->output_pkt_list, &cpi->twopass.total_stats);
+  output_stats(&cpi->twopass.total_stats, cpi->output_pkt_list);
 }
 
 static vp9_variance_fn_t get_block_variance_fn(BLOCK_SIZE bsize) {
@@ -373,7 +372,7 @@
   }
 }
 
-static unsigned int zz_motion_search(const VP9_COMP *cpi, const MACROBLOCK *x) {
+static unsigned int zz_motion_search(const MACROBLOCK *x) {
   const MACROBLOCKD *const xd = &x->e_mbd;
   const uint8_t *const src = x->plane[0].src.buf;
   const int src_stride = x->plane[0].src.stride;
@@ -595,7 +594,7 @@
         int_mv mv, tmp_mv;
 
         xd->plane[0].pre[0].buf = lst_yv12->y_buffer + recon_yoffset;
-        motion_error = zz_motion_search(cpi, x);
+        motion_error = zz_motion_search(x);
         // Assume 0,0 motion with no mv overhead.
         mv.as_int = tmp_mv.as_int = 0;
 
@@ -631,7 +630,7 @@
           int gf_motion_error;
 
           xd->plane[0].pre[0].buf = gld_yv12->y_buffer + recon_yoffset;
-          gf_motion_error = zz_motion_search(cpi, x);
+          gf_motion_error = zz_motion_search(x);
 
           first_pass_motion_search(cpi, x, &zero_mv, &tmp_mv.as_mv,
                                    &gf_motion_error);
@@ -791,7 +790,7 @@
 
     // Don't want to do output stats with a stack variable!
     twopass->this_frame_stats = fps;
-    output_stats(cpi, cpi->output_pkt_list, &twopass->this_frame_stats);
+    output_stats(&twopass->this_frame_stats, cpi->output_pkt_list);
     accumulate_stats(&twopass->total_stats, &fps);
   }
 
@@ -842,40 +841,6 @@
   return -(log(prob) / log(2.0));
 }
 
-static int64_t estimate_modemvcost(VP9_COMP *cpi,
-                                     FIRSTPASS_STATS *fpstats) {
-#if 0
-  int mv_cost;
-  int mode_cost;
-
-  double av_pct_inter = fpstats->pcnt_inter / fpstats->count;
-  double av_pct_motion = fpstats->pcnt_motion / fpstats->count;
-  double av_intra = (1.0 - av_pct_inter);
-
-  double zz_cost;
-  double motion_cost;
-  double intra_cost;
-
-  zz_cost = bitcost(av_pct_inter - av_pct_motion);
-  motion_cost = bitcost(av_pct_motion);
-  intra_cost = bitcost(av_intra);
-
-  // Estimate the number of extra bits per mv overhead for mbs. We shift (<< 9)
-  // to match the scaling of number of bits by 512.
-  mv_cost = ((int)(fpstats->new_mv_count / fpstats->count) * 8) << 9;
-
-  // Produce a crude estimate of the overhead cost from modes. We shift (<< 9)
-  // to match the scaling of number of bits by 512.
-  mode_cost =
-    (int)((((av_pct_inter - av_pct_motion) * zz_cost) +
-           (av_pct_motion * motion_cost) +
-           (av_intra * intra_cost)) * cpi->common.MBs) << 9;
-
-  // TODO(paulwilkins): Fix overhead costs for extended Q range.
-#endif
-  return 0;
-}
-
 static double calc_correction_factor(double err_per_mb,
                                      double err_divisor,
                                      double pt_low,
@@ -1008,9 +973,6 @@
 
     reset_fpf_position(twopass, start_pos);
   }
-}
-
-void vp9_end_second_pass(VP9_COMP *cpi) {
 }
 
 // This function gives an estimate of how badly we believe the prediction
--- a/vp9/encoder/vp9_firstpass.h
+++ b/vp9/encoder/vp9_firstpass.h
@@ -89,7 +89,6 @@
 
 void vp9_init_second_pass(struct VP9_COMP *cpi);
 void vp9_rc_get_second_pass_params(struct VP9_COMP *cpi);
-void vp9_end_second_pass(struct VP9_COMP *cpi);
 int vp9_twopass_worst_quality(struct VP9_COMP *cpi, FIRSTPASS_STATS *fpstats,
                               int section_target_bandwitdh);
 
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -2021,10 +2021,6 @@
     return;
 
   if (cpi && (cpi->common.current_video_frame > 0)) {
-    if (cpi->pass == 2) {
-      vp9_end_second_pass(cpi);
-    }
-
 #if CONFIG_INTERNAL_STATS
 
     vp9_clear_system_state();