| Index: source/libvpx/vp8/encoder/denoising.c
 | 
| ===================================================================
 | 
| --- source/libvpx/vp8/encoder/denoising.c	(revision 271012)
 | 
| +++ source/libvpx/vp8/encoder/denoising.c	(working copy)
 | 
| @@ -51,17 +51,13 @@
 | 
|   * [16, 255]              6                                    7
 | 
|   */
 | 
|  
 | 
| -int vp8_denoiser_filter_c(YV12_BUFFER_CONFIG *mc_running_avg,
 | 
| -                          YV12_BUFFER_CONFIG *running_avg, MACROBLOCK *signal,
 | 
| -                          unsigned int motion_magnitude, int y_offset,
 | 
| -                          int uv_offset)
 | 
| +int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride,
 | 
| +                          unsigned char *running_avg_y, int avg_y_stride,
 | 
| +                          unsigned char *sig, int sig_stride,
 | 
| +                          unsigned int motion_magnitude)
 | 
|  {
 | 
| -    unsigned char *sig = signal->thismb;
 | 
| -    int sig_stride = 16;
 | 
| -    unsigned char *mc_running_avg_y = mc_running_avg->y_buffer + y_offset;
 | 
| -    int mc_avg_y_stride = mc_running_avg->y_stride;
 | 
| -    unsigned char *running_avg_y = running_avg->y_buffer + y_offset;
 | 
| -    int avg_y_stride = running_avg->y_stride;
 | 
| +    unsigned char *running_avg_y_start = running_avg_y;
 | 
| +    unsigned char *sig_start = sig;
 | 
|      int r, c, i;
 | 
|      int sum_diff = 0;
 | 
|      int adj_val[3] = {3, 4, 6};
 | 
| @@ -130,8 +126,7 @@
 | 
|      if (abs(sum_diff) > SUM_DIFF_THRESHOLD)
 | 
|          return COPY_BLOCK;
 | 
|  
 | 
| -    vp8_copy_mem16x16(running_avg->y_buffer + y_offset, avg_y_stride,
 | 
| -                      signal->thismb, sig_stride);
 | 
| +    vp8_copy_mem16x16(running_avg_y_start, avg_y_stride, sig_start, sig_stride);
 | 
|      return FILTER_BLOCK;
 | 
|  }
 | 
|  
 | 
| @@ -285,12 +280,17 @@
 | 
|  
 | 
|      if (decision == FILTER_BLOCK)
 | 
|      {
 | 
| +        unsigned char *mc_running_avg_y =
 | 
| +            denoiser->yv12_mc_running_avg.y_buffer + recon_yoffset;
 | 
| +        int mc_avg_y_stride = denoiser->yv12_mc_running_avg.y_stride;
 | 
| +        unsigned char *running_avg_y =
 | 
| +            denoiser->yv12_running_avg[INTRA_FRAME].y_buffer + recon_yoffset;
 | 
| +        int avg_y_stride = denoiser->yv12_running_avg[INTRA_FRAME].y_stride;
 | 
| +
 | 
|          /* Filter. */
 | 
| -        decision = vp8_denoiser_filter(&denoiser->yv12_mc_running_avg,
 | 
| -                                       &denoiser->yv12_running_avg[INTRA_FRAME],
 | 
| -                                       x,
 | 
| -                                       motion_magnitude2,
 | 
| -                                       recon_yoffset, recon_uvoffset);
 | 
| +        decision = vp8_denoiser_filter(mc_running_avg_y, mc_avg_y_stride,
 | 
| +                                         running_avg_y, avg_y_stride,
 | 
| +                                         x->thismb, 16, motion_magnitude2);
 | 
|      }
 | 
|      if (decision == COPY_BLOCK)
 | 
|      {
 | 
| 
 |