| OLD | NEW | 
|     1 // VERSION 2 |     1 // VERSION 2 | 
|     2 /* |     2 /* | 
|     3  *  Copyright 2011 The LibYuv Project Authors. All rights reserved. |     3  *  Copyright 2011 The LibYuv Project Authors. All rights reserved. | 
|     4  * |     4  * | 
|     5  *  Use of this source code is governed by a BSD-style license |     5  *  Use of this source code is governed by a BSD-style license | 
|     6  *  that can be found in the LICENSE file in the root of the source |     6  *  that can be found in the LICENSE file in the root of the source | 
|     7  *  tree. An additional intellectual property rights grant can be found |     7  *  tree. An additional intellectual property rights grant can be found | 
|     8  *  in the file PATENTS. All contributing project authors may |     8  *  in the file PATENTS. All contributing project authors may | 
|     9  *  be found in the AUTHORS file in the root of the source tree. |     9  *  be found in the AUTHORS file in the root of the source tree. | 
|    10  */ |    10  */ | 
| (...skipping 5392 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5403   : "+r"(src),   // %0 |  5403   : "+r"(src),   // %0 | 
|  5404     "+r"(dst),   // %1 |  5404     "+r"(dst),   // %1 | 
|  5405     "+r"(width)  // %2 |  5405     "+r"(width)  // %2 | 
|  5406   : "x"(scale)   // %3 |  5406   : "x"(scale)   // %3 | 
|  5407   : "memory", "cc", |  5407   : "memory", "cc", | 
|  5408     "xmm2", "xmm3", "xmm4" |  5408     "xmm2", "xmm3", "xmm4" | 
|  5409   ); |  5409   ); | 
|  5410 } |  5410 } | 
|  5411 #endif  // HAS_HALFFLOATROW_F16C |  5411 #endif  // HAS_HALFFLOATROW_F16C | 
|  5412  |  5412  | 
 |  5413 #ifdef HAS_HALFFLOATROW_F16C | 
 |  5414 void HalfFloat1Row_F16C(const uint16* src, uint16* dst, float, int width) { | 
 |  5415   asm volatile ( | 
 |  5416     // 16 pixel loop. | 
 |  5417     LABELALIGN | 
 |  5418   "1:                                          \n" | 
 |  5419     "vpmovzxwd   " MEMACCESS(0) ",%%ymm2       \n"  // 16 shorts -> 16 ints | 
 |  5420     "vpmovzxwd   " MEMACCESS2(0x10,0) ",%%ymm3 \n" | 
 |  5421     "lea         " MEMLEA(0x20,0) ",%0         \n" | 
 |  5422     "vcvtdq2ps   %%ymm2,%%ymm2                 \n" | 
 |  5423     "vcvtdq2ps   %%ymm3,%%ymm3                 \n" | 
 |  5424     "vcvtps2ph   $3, %%ymm2, %%xmm2            \n" | 
 |  5425     "vcvtps2ph   $3, %%ymm3, %%xmm3            \n" | 
 |  5426     "vmovdqu     %%xmm2," MEMACCESS(1) "       \n" | 
 |  5427     "vmovdqu     %%xmm3," MEMACCESS2(0x10,1) " \n" | 
 |  5428     "lea         " MEMLEA(0x20,1) ",%1         \n" | 
 |  5429     "sub         $0x10,%2                      \n" | 
 |  5430     "jg          1b                            \n" | 
 |  5431  | 
 |  5432     "vzeroupper                                \n" | 
 |  5433   : "+r"(src),   // %0 | 
 |  5434     "+r"(dst),   // %1 | 
 |  5435     "+r"(width)  // %2 | 
 |  5436   : | 
 |  5437   : "memory", "cc", | 
 |  5438     "xmm2", "xmm3" | 
 |  5439   ); | 
 |  5440 } | 
 |  5441 #endif  // HAS_HALFFLOATROW_F16C | 
 |  5442  | 
|  5413 #ifdef HAS_ARGBCOLORTABLEROW_X86 |  5443 #ifdef HAS_ARGBCOLORTABLEROW_X86 | 
|  5414 // Tranform ARGB pixels with color table. |  5444 // Tranform ARGB pixels with color table. | 
|  5415 void ARGBColorTableRow_X86(uint8* dst_argb, const uint8* table_argb, |  5445 void ARGBColorTableRow_X86(uint8* dst_argb, const uint8* table_argb, | 
|  5416                            int width) { |  5446                            int width) { | 
|  5417   uintptr_t pixel_temp; |  5447   uintptr_t pixel_temp; | 
|  5418   asm volatile ( |  5448   asm volatile ( | 
|  5419     // 1 pixel loop. |  5449     // 1 pixel loop. | 
|  5420     LABELALIGN |  5450     LABELALIGN | 
|  5421   "1:                                          \n" |  5451   "1:                                          \n" | 
|  5422     "movzb     " MEMACCESS(0) ",%1             \n" |  5452     "movzb     " MEMACCESS(0) ",%1             \n" | 
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5569   ); |  5599   ); | 
|  5570 } |  5600 } | 
|  5571 #endif  // HAS_ARGBLUMACOLORTABLEROW_SSSE3 |  5601 #endif  // HAS_ARGBLUMACOLORTABLEROW_SSSE3 | 
|  5572  |  5602  | 
|  5573 #endif  // defined(__x86_64__) || defined(__i386__) |  5603 #endif  // defined(__x86_64__) || defined(__i386__) | 
|  5574  |  5604  | 
|  5575 #ifdef __cplusplus |  5605 #ifdef __cplusplus | 
|  5576 }  // extern "C" |  5606 }  // extern "C" | 
|  5577 }  // namespace libyuv |  5607 }  // namespace libyuv | 
|  5578 #endif |  5608 #endif | 
| OLD | NEW |