| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 * [4, 7] 1 3 4 | 43 * [4, 7] 1 3 4 |
| 44 * [8, 15] 2 4 5 | 44 * [8, 15] 2 4 5 |
| 45 * [16, 255] 3 6 7 | 45 * [16, 255] 3 6 7 |
| 46 */ | 46 */ |
| 47 | 47 |
| 48 int vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, | 48 int vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, |
| 49 int mc_running_avg_y_stride, | 49 int mc_running_avg_y_stride, |
| 50 unsigned char *running_avg_y, | 50 unsigned char *running_avg_y, |
| 51 int running_avg_y_stride, | 51 int running_avg_y_stride, |
| 52 unsigned char *sig, int sig_stride, | 52 unsigned char *sig, int sig_stride, |
| 53 unsigned int motion_magnitude) { | 53 unsigned int motion_magnitude, |
| 54 int increase_denoising) { |
| 54 /* If motion_magnitude is small, making the denoiser more aggressive by | 55 /* If motion_magnitude is small, making the denoiser more aggressive by |
| 55 * increasing the adjustment for each level, level1 adjustment is | 56 * increasing the adjustment for each level, level1 adjustment is |
| 56 * increased, the deltas stay the same. | 57 * increased, the deltas stay the same. |
| 57 */ | 58 */ |
| 58 const uint8x16_t v_level1_adjustment = vdupq_n_u8( | 59 const uint8x16_t v_level1_adjustment = vdupq_n_u8( |
| 59 (motion_magnitude <= MOTION_MAGNITUDE_THRESHOLD) ? 4 : 3); | 60 (motion_magnitude <= MOTION_MAGNITUDE_THRESHOLD) ? 4 : 3); |
| 60 const uint8x16_t v_delta_level_1_and_2 = vdupq_n_u8(1); | 61 const uint8x16_t v_delta_level_1_and_2 = vdupq_n_u8(1); |
| 61 const uint8x16_t v_delta_level_2_and_3 = vdupq_n_u8(2); | 62 const uint8x16_t v_delta_level_2_and_3 = vdupq_n_u8(2); |
| 62 const uint8x16_t v_level1_threshold = vdupq_n_u8(4); | 63 const uint8x16_t v_level1_threshold = vdupq_n_u8(4); |
| 63 const uint8x16_t v_level2_threshold = vdupq_n_u8(8); | 64 const uint8x16_t v_level2_threshold = vdupq_n_u8(8); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 } | 152 } |
| 152 | 153 |
| 153 /* Tell above level that block was filtered. */ | 154 /* Tell above level that block was filtered. */ |
| 154 running_avg_y -= running_avg_y_stride * 16; | 155 running_avg_y -= running_avg_y_stride * 16; |
| 155 sig -= sig_stride * 16; | 156 sig -= sig_stride * 16; |
| 156 | 157 |
| 157 vp8_copy_mem16x16(running_avg_y, running_avg_y_stride, sig, sig_stride); | 158 vp8_copy_mem16x16(running_avg_y, running_avg_y_stride, sig, sig_stride); |
| 158 | 159 |
| 159 return FILTER_BLOCK; | 160 return FILTER_BLOCK; |
| 160 } | 161 } |
| OLD | NEW |