Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(331)

Side by Side Diff: source/row_mips.cc

Issue 1895743008: Remove initialize to zero on output variables for inline. (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: use early write for all outputs to avoid them being reassigned to input Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/row_gcc.cc ('k') | source/scale_gcc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « source/row_gcc.cc ('k') | source/scale_gcc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698