| 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 1852 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1863     dst_stride = -dst_stride; |  1863     dst_stride = -dst_stride; | 
|  1864   } |  1864   } | 
|  1865   // Coalesce rows. |  1865   // Coalesce rows. | 
|  1866   if (src_stride0 == width && |  1866   if (src_stride0 == width && | 
|  1867       src_stride1 == width && |  1867       src_stride1 == width && | 
|  1868       dst_stride == width) { |  1868       dst_stride == width) { | 
|  1869     width *= height; |  1869     width *= height; | 
|  1870     height = 1; |  1870     height = 1; | 
|  1871     src_stride0 = src_stride1 = dst_stride = 0; |  1871     src_stride0 = src_stride1 = dst_stride = 0; | 
|  1872   } |  1872   } | 
|  1873 #if defined(HAS_INTERPOLATEROW_SSE2) |  | 
|  1874   if (TestCpuFlag(kCpuHasSSE2)) { |  | 
|  1875     InterpolateRow = InterpolateRow_Any_SSE2; |  | 
|  1876     if (IS_ALIGNED(width, 16)) { |  | 
|  1877       InterpolateRow = InterpolateRow_SSE2; |  | 
|  1878     } |  | 
|  1879   } |  | 
|  1880 #endif |  | 
|  1881 #if defined(HAS_INTERPOLATEROW_SSSE3) |  1873 #if defined(HAS_INTERPOLATEROW_SSSE3) | 
|  1882   if (TestCpuFlag(kCpuHasSSSE3)) { |  1874   if (TestCpuFlag(kCpuHasSSSE3)) { | 
|  1883     InterpolateRow = InterpolateRow_Any_SSSE3; |  1875     InterpolateRow = InterpolateRow_Any_SSSE3; | 
|  1884     if (IS_ALIGNED(width, 16)) { |  1876     if (IS_ALIGNED(width, 16)) { | 
|  1885       InterpolateRow = InterpolateRow_SSSE3; |  1877       InterpolateRow = InterpolateRow_SSSE3; | 
|  1886     } |  1878     } | 
|  1887   } |  1879   } | 
|  1888 #endif |  1880 #endif | 
|  1889 #if defined(HAS_INTERPOLATEROW_AVX2) |  1881 #if defined(HAS_INTERPOLATEROW_AVX2) | 
|  1890   if (TestCpuFlag(kCpuHasAVX2)) { |  1882   if (TestCpuFlag(kCpuHasAVX2)) { | 
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2460   } |  2452   } | 
|  2461 #endif |  2453 #endif | 
|  2462 #if defined(HAS_SPLITUVROW_NEON) |  2454 #if defined(HAS_SPLITUVROW_NEON) | 
|  2463   if (TestCpuFlag(kCpuHasNEON)) { |  2455   if (TestCpuFlag(kCpuHasNEON)) { | 
|  2464     SplitUVRow = SplitUVRow_Any_NEON; |  2456     SplitUVRow = SplitUVRow_Any_NEON; | 
|  2465     if (IS_ALIGNED(width, 16)) { |  2457     if (IS_ALIGNED(width, 16)) { | 
|  2466       SplitUVRow = SplitUVRow_NEON; |  2458       SplitUVRow = SplitUVRow_NEON; | 
|  2467     } |  2459     } | 
|  2468   } |  2460   } | 
|  2469 #endif |  2461 #endif | 
|  2470 #if defined(HAS_INTERPOLATEROW_SSE2) |  | 
|  2471   if (TestCpuFlag(kCpuHasSSE2)) { |  | 
|  2472     InterpolateRow = InterpolateRow_Any_SSE2; |  | 
|  2473     if (IS_ALIGNED(width, 16)) { |  | 
|  2474       InterpolateRow = InterpolateRow_SSE2; |  | 
|  2475     } |  | 
|  2476   } |  | 
|  2477 #endif |  | 
|  2478 #if defined(HAS_INTERPOLATEROW_SSSE3) |  2462 #if defined(HAS_INTERPOLATEROW_SSSE3) | 
|  2479   if (TestCpuFlag(kCpuHasSSSE3)) { |  2463   if (TestCpuFlag(kCpuHasSSSE3)) { | 
|  2480     InterpolateRow = InterpolateRow_Any_SSSE3; |  2464     InterpolateRow = InterpolateRow_Any_SSSE3; | 
|  2481     if (IS_ALIGNED(width, 16)) { |  2465     if (IS_ALIGNED(width, 16)) { | 
|  2482       InterpolateRow = InterpolateRow_SSSE3; |  2466       InterpolateRow = InterpolateRow_SSSE3; | 
|  2483     } |  2467     } | 
|  2484   } |  2468   } | 
|  2485 #endif |  2469 #endif | 
|  2486 #if defined(HAS_INTERPOLATEROW_AVX2) |  2470 #if defined(HAS_INTERPOLATEROW_AVX2) | 
|  2487   if (TestCpuFlag(kCpuHasAVX2)) { |  2471   if (TestCpuFlag(kCpuHasAVX2)) { | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2564   } |  2548   } | 
|  2565 #endif |  2549 #endif | 
|  2566 #if defined(HAS_SPLITUVROW_NEON) |  2550 #if defined(HAS_SPLITUVROW_NEON) | 
|  2567   if (TestCpuFlag(kCpuHasNEON)) { |  2551   if (TestCpuFlag(kCpuHasNEON)) { | 
|  2568     SplitUVRow = SplitUVRow_Any_NEON; |  2552     SplitUVRow = SplitUVRow_Any_NEON; | 
|  2569     if (IS_ALIGNED(width, 16)) { |  2553     if (IS_ALIGNED(width, 16)) { | 
|  2570       SplitUVRow = SplitUVRow_NEON; |  2554       SplitUVRow = SplitUVRow_NEON; | 
|  2571     } |  2555     } | 
|  2572   } |  2556   } | 
|  2573 #endif |  2557 #endif | 
|  2574 #if defined(HAS_INTERPOLATEROW_SSE2) |  | 
|  2575   if (TestCpuFlag(kCpuHasSSE2)) { |  | 
|  2576     InterpolateRow = InterpolateRow_Any_SSE2; |  | 
|  2577     if (IS_ALIGNED(width, 16)) { |  | 
|  2578       InterpolateRow = InterpolateRow_SSE2; |  | 
|  2579     } |  | 
|  2580   } |  | 
|  2581 #endif |  | 
|  2582 #if defined(HAS_INTERPOLATEROW_SSSE3) |  2558 #if defined(HAS_INTERPOLATEROW_SSSE3) | 
|  2583   if (TestCpuFlag(kCpuHasSSSE3)) { |  2559   if (TestCpuFlag(kCpuHasSSSE3)) { | 
|  2584     InterpolateRow = InterpolateRow_Any_SSSE3; |  2560     InterpolateRow = InterpolateRow_Any_SSSE3; | 
|  2585     if (IS_ALIGNED(width, 16)) { |  2561     if (IS_ALIGNED(width, 16)) { | 
|  2586       InterpolateRow = InterpolateRow_SSSE3; |  2562       InterpolateRow = InterpolateRow_SSSE3; | 
|  2587     } |  2563     } | 
|  2588   } |  2564   } | 
|  2589 #endif |  2565 #endif | 
|  2590 #if defined(HAS_INTERPOLATEROW_AVX2) |  2566 #if defined(HAS_INTERPOLATEROW_AVX2) | 
|  2591   if (TestCpuFlag(kCpuHasAVX2)) { |  2567   if (TestCpuFlag(kCpuHasAVX2)) { | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2625     } |  2601     } | 
|  2626     free_aligned_buffer_64(rows); |  2602     free_aligned_buffer_64(rows); | 
|  2627   } |  2603   } | 
|  2628   return 0; |  2604   return 0; | 
|  2629 } |  2605 } | 
|  2630  |  2606  | 
|  2631 #ifdef __cplusplus |  2607 #ifdef __cplusplus | 
|  2632 }  // extern "C" |  2608 }  // extern "C" | 
|  2633 }  // namespace libyuv |  2609 }  // namespace libyuv | 
|  2634 #endif |  2610 #endif | 
| OLD | NEW |