shithub: libvpx

Download patch

ref: 1fe18acb920417792a6d2dba8f185b9c508aa4dc
parent: dcb6aa8e41348c559faf6003dc8cc4c6ce914958
author: Tim Kopp <tkopp@google.com>
date: Tue Jul 22 10:00:11 EDT 2014

VP9 denoiser bugfix in debugging code.

When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed,
denoised video to a separate file. Moved the point at which the file is
written to in order to avoid an extra blank frame at the beginning of the video.

Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -2226,15 +2226,6 @@
 
   set_speed_features(cpi);
 
-#if CONFIG_DENOISING
-#ifdef OUTPUT_YUV_DENOISED
-  if (cpi->oxcf.noise_sensitivity > 0) {
-    vp9_write_yuv_frame_420(&cpi->denoiser.running_avg_y[INTRA_FRAME],
-                            yuv_denoised_file);
-  }
-#endif
-#endif
-
   // Decide q and q bounds.
   q = vp9_rc_pick_q_and_bounds(cpi, &bottom_index, &top_index);
 
@@ -2249,6 +2240,16 @@
   } else {
     encode_with_recode_loop(cpi, size, dest, q, bottom_index, top_index);
   }
+
+#if CONFIG_DENOISING
+#ifdef OUTPUT_YUV_DENOISED
+  if (cpi->oxcf.noise_sensitivity > 0) {
+    vp9_write_yuv_frame_420(&cpi->denoiser.running_avg_y[INTRA_FRAME],
+                            yuv_denoised_file);
+  }
+#endif
+#endif
+
 
   // Special case code to reduce pulsing when key frames are forced at a
   // fixed interval. Note the reconstruction error if it is the frame before
--