| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2012 The LibYuv project authors. All Rights Reserved. | 2  *  Copyright (c) 2012 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 480 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 491    "3:                                     \n" | 491    "3:                                     \n" | 
| 492     ".set pop                              \n" | 492     ".set pop                              \n" | 
| 493       : [src] "+r" (src), [dst] "+r" (dst) | 493       : [src] "+r" (src), [dst] "+r" (dst) | 
| 494       : [width] "r" (width) | 494       : [width] "r" (width) | 
| 495       : "t0", "t1", "t2", "t3", "t4", "t5" | 495       : "t0", "t1", "t2", "t3", "t4", "t5" | 
| 496   ); | 496   ); | 
| 497 } | 497 } | 
| 498 | 498 | 
| 499 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, | 499 void MirrorUVRow_DSPR2(const uint8* src_uv, uint8* dst_u, uint8* dst_v, | 
| 500                             int width) { | 500                             int width) { | 
| 501   int x = 0; | 501   int x; | 
| 502   int y = 0; | 502   int y; | 
| 503   __asm__ __volatile__ ( | 503   __asm__ __volatile__ ( | 
| 504     ".set push                                    \n" | 504     ".set push                                    \n" | 
| 505     ".set noreorder                               \n" | 505     ".set noreorder                               \n" | 
| 506 | 506 | 
| 507     "addu            $t4, %[width], %[width]      \n" | 507     "addu            $t4, %[width], %[width]      \n" | 
| 508     "srl             %[x], %[width], 4            \n" | 508     "srl             %[x], %[width], 4            \n" | 
| 509     "andi            %[y], %[width], 0xf          \n" | 509     "andi            %[y], %[width], 0xf          \n" | 
| 510     "blez            %[x], 2f                     \n" | 510     "blez            %[x], 2f                     \n" | 
| 511     " addu           %[src_uv], %[src_uv], $t4    \n" | 511     " addu           %[src_uv], %[src_uv], $t4    \n" | 
| 512 | 512 | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 572     "addiu           %[dst_u], %[dst_u], 1        \n" | 572     "addiu           %[dst_u], %[dst_u], 1        \n" | 
| 573     "bgtz            %[y], 2b                     \n" | 573     "bgtz            %[y], 2b                     \n" | 
| 574     " addiu          %[dst_v], %[dst_v], 1        \n" | 574     " addiu          %[dst_v], %[dst_v], 1        \n" | 
| 575 | 575 | 
| 576    "3:                                            \n" | 576    "3:                                            \n" | 
| 577     ".set pop                                     \n" | 577     ".set pop                                     \n" | 
| 578       : [src_uv] "+r" (src_uv), | 578       : [src_uv] "+r" (src_uv), | 
| 579         [dst_u] "+r" (dst_u), | 579         [dst_u] "+r" (dst_u), | 
| 580         [dst_v] "+r" (dst_v), | 580         [dst_v] "+r" (dst_v), | 
| 581         [x] "=&r" (x), | 581         [x] "=&r" (x), | 
| 582         [y] "+r" (y) | 582         [y] "=&r" (y) | 
| 583       : [width] "r" (width) | 583       : [width] "r" (width) | 
| 584       : "t0", "t1", "t2", "t3", "t4", | 584       : "t0", "t1", "t2", "t3", "t4", | 
| 585       "t5", "t7", "t8", "t9" | 585       "t5", "t7", "t8", "t9" | 
| 586   ); | 586   ); | 
| 587 } | 587 } | 
| 588 | 588 | 
| 589 // Convert (4 Y and 2 VU) I422 and arrange RGB values into | 589 // Convert (4 Y and 2 VU) I422 and arrange RGB values into | 
| 590 // t5 = | 0 | B0 | 0 | b0 | | 590 // t5 = | 0 | B0 | 0 | b0 | | 
| 591 // t4 = | 0 | B1 | 0 | b1 | | 591 // t4 = | 0 | B1 | 0 | b1 | | 
| 592 // t9 = | 0 | G0 | 0 | g0 | | 592 // t9 = | 0 | G0 | 0 | g0 | | 
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 773   ); | 773   ); | 
| 774 } | 774 } | 
| 775 #endif  // __mips_dsp_rev >= 2 | 775 #endif  // __mips_dsp_rev >= 2 | 
| 776 | 776 | 
| 777 #endif  // defined(__mips__) | 777 #endif  // defined(__mips__) | 
| 778 | 778 | 
| 779 #ifdef __cplusplus | 779 #ifdef __cplusplus | 
| 780 }  // extern "C" | 780 }  // extern "C" | 
| 781 }  // namespace libyuv | 781 }  // namespace libyuv | 
| 782 #endif | 782 #endif | 
| OLD | NEW | 
|---|