| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2011 The LibYuv 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 5257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5268 // Consider circular CumulativeSum buffer of radius * 2 + 1 height. | 5268 // Consider circular CumulativeSum buffer of radius * 2 + 1 height. |
| 5269 // Convert cumulative sum for an area to an average for 1 pixel. | 5269 // Convert cumulative sum for an area to an average for 1 pixel. |
| 5270 // topleft is pointer to top left of CumulativeSum buffer for area. | 5270 // topleft is pointer to top left of CumulativeSum buffer for area. |
| 5271 // botleft is pointer to bottom left of CumulativeSum buffer. | 5271 // botleft is pointer to bottom left of CumulativeSum buffer. |
| 5272 // width is offset from left to right of area in CumulativeSum buffer measured | 5272 // width is offset from left to right of area in CumulativeSum buffer measured |
| 5273 // in number of ints. | 5273 // in number of ints. |
| 5274 // area is the number of pixels in the area being averaged. | 5274 // area is the number of pixels in the area being averaged. |
| 5275 // dst points to pixel to store result to. | 5275 // dst points to pixel to store result to. |
| 5276 // count is number of averaged pixels to produce. | 5276 // count is number of averaged pixels to produce. |
| 5277 // Does 4 pixels at a time. | 5277 // Does 4 pixels at a time. |
| 5278 // This function requires alignment on accumulation buffer pointers. |
| 5278 void CumulativeSumToAverageRow_SSE2(const int32* topleft, const int32* botleft, | 5279 void CumulativeSumToAverageRow_SSE2(const int32* topleft, const int32* botleft, |
| 5279 int width, int area, uint8* dst, | 5280 int width, int area, uint8* dst, |
| 5280 int count) { | 5281 int count) { |
| 5281 __asm { | 5282 __asm { |
| 5282 mov eax, topleft // eax topleft | 5283 mov eax, topleft // eax topleft |
| 5283 mov esi, botleft // esi botleft | 5284 mov esi, botleft // esi botleft |
| 5284 mov edx, width | 5285 mov edx, width |
| 5285 movd xmm5, area | 5286 movd xmm5, area |
| 5286 mov edi, dst | 5287 mov edi, dst |
| 5287 mov ecx, count | 5288 mov ecx, count |
| (...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6259 } | 6260 } |
| 6260 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 | 6261 #endif // HAS_ARGBLUMACOLORTABLEROW_SSSE3 |
| 6261 | 6262 |
| 6262 #endif // defined(_M_X64) | 6263 #endif // defined(_M_X64) |
| 6263 #endif // !defined(LIBYUV_DISABLE_X86) && (defined(_M_IX86) || defined(_M_X64)) | 6264 #endif // !defined(LIBYUV_DISABLE_X86) && (defined(_M_IX86) || defined(_M_X64)) |
| 6264 | 6265 |
| 6265 #ifdef __cplusplus | 6266 #ifdef __cplusplus |
| 6266 } // extern "C" | 6267 } // extern "C" |
| 6267 } // namespace libyuv | 6268 } // namespace libyuv |
| 6268 #endif | 6269 #endif |
| OLD | NEW |