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

Side by Side Diff: source/libvpx/vpx_dsp/arm/idct16x16_add_neon.c

Issue 1302353004: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebM 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 *q9s16 = q0x2s16.val[1]; 75 *q9s16 = q0x2s16.val[1];
76 *q10s16 = q1x2s16.val[0]; 76 *q10s16 = q1x2s16.val[0];
77 *q11s16 = q1x2s16.val[1]; 77 *q11s16 = q1x2s16.val[1];
78 *q12s16 = q2x2s16.val[0]; 78 *q12s16 = q2x2s16.val[0];
79 *q13s16 = q2x2s16.val[1]; 79 *q13s16 = q2x2s16.val[1];
80 *q14s16 = q3x2s16.val[0]; 80 *q14s16 = q3x2s16.val[0];
81 *q15s16 = q3x2s16.val[1]; 81 *q15s16 = q3x2s16.val[1];
82 return; 82 return;
83 } 83 }
84 84
85 void vp9_idct16x16_256_add_neon_pass1( 85 void vpx_idct16x16_256_add_neon_pass1(
86 int16_t *in, 86 int16_t *in,
87 int16_t *out, 87 int16_t *out,
88 int output_stride) { 88 int output_stride) {
89 int16x4_t d0s16, d1s16, d2s16, d3s16; 89 int16x4_t d0s16, d1s16, d2s16, d3s16;
90 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16; 90 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16;
91 int16x4_t d16s16, d17s16, d18s16, d19s16, d20s16, d21s16, d22s16, d23s16; 91 int16x4_t d16s16, d17s16, d18s16, d19s16, d20s16, d21s16, d22s16, d23s16;
92 int16x4_t d24s16, d25s16, d26s16, d27s16, d28s16, d29s16, d30s16, d31s16; 92 int16x4_t d24s16, d25s16, d26s16, d27s16, d28s16, d29s16, d30s16, d31s16;
93 uint64x1_t d16u64, d17u64, d18u64, d19u64, d20u64, d21u64, d22u64, d23u64; 93 uint64x1_t d16u64, d17u64, d18u64, d19u64, d20u64, d21u64, d22u64, d23u64;
94 uint64x1_t d24u64, d25u64, d26u64, d27u64, d28u64, d29u64, d30u64, d31u64; 94 uint64x1_t d24u64, d25u64, d26u64, d27u64, d28u64, d29u64, d30u64, d31u64;
95 int16x8_t q0s16, q1s16, q2s16, q3s16, q4s16, q5s16, q6s16, q7s16; 95 int16x8_t q0s16, q1s16, q2s16, q3s16, q4s16, q5s16, q6s16, q7s16;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 vst1_u64((uint64_t *)out, d28u64); 313 vst1_u64((uint64_t *)out, d28u64);
314 out += output_stride; 314 out += output_stride;
315 vst1_u64((uint64_t *)out, d29u64); 315 vst1_u64((uint64_t *)out, d29u64);
316 out += output_stride; 316 out += output_stride;
317 vst1_u64((uint64_t *)out, d30u64); 317 vst1_u64((uint64_t *)out, d30u64);
318 out += output_stride; 318 out += output_stride;
319 vst1_u64((uint64_t *)out, d31u64); 319 vst1_u64((uint64_t *)out, d31u64);
320 return; 320 return;
321 } 321 }
322 322
323 void vp9_idct16x16_256_add_neon_pass2( 323 void vpx_idct16x16_256_add_neon_pass2(
324 int16_t *src, 324 int16_t *src,
325 int16_t *out, 325 int16_t *out,
326 int16_t *pass1Output, 326 int16_t *pass1Output,
327 int16_t skip_adding, 327 int16_t skip_adding,
328 uint8_t *dest, 328 uint8_t *dest,
329 int dest_stride) { 329 int dest_stride) {
330 uint8_t *d; 330 uint8_t *d;
331 uint8x8_t d12u8, d13u8; 331 uint8x8_t d12u8, d13u8;
332 int16x4_t d0s16, d1s16, d2s16, d3s16, d4s16, d5s16, d6s16, d7s16; 332 int16x4_t d0s16, d1s16, d2s16, d3s16, d4s16, d5s16, d6s16, d7s16;
333 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16; 333 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16;
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 out += 4; 872 out += 4;
873 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_high_s16(q14s16))); 873 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_high_s16(q14s16)));
874 out += 12; 874 out += 12;
875 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_low_s16(q15s16))); 875 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_low_s16(q15s16)));
876 out += 4; 876 out += 4;
877 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_high_s16(q15s16))); 877 vst1_u64((uint64_t *)out, vreinterpret_u64_s16(vget_high_s16(q15s16)));
878 } 878 }
879 return; 879 return;
880 } 880 }
881 881
882 void vp9_idct16x16_10_add_neon_pass1( 882 void vpx_idct16x16_10_add_neon_pass1(
883 int16_t *in, 883 int16_t *in,
884 int16_t *out, 884 int16_t *out,
885 int output_stride) { 885 int output_stride) {
886 int16x4_t d4s16; 886 int16x4_t d4s16;
887 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16; 887 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16;
888 uint64x1_t d4u64, d5u64, d18u64, d19u64, d20u64, d21u64, d22u64, d23u64; 888 uint64x1_t d4u64, d5u64, d18u64, d19u64, d20u64, d21u64, d22u64, d23u64;
889 uint64x1_t d24u64, d25u64, d26u64, d27u64, d28u64, d29u64, d30u64, d31u64; 889 uint64x1_t d24u64, d25u64, d26u64, d27u64, d28u64, d29u64, d30u64, d31u64;
890 int16x8_t q0s16, q1s16, q2s16, q4s16, q5s16, q6s16, q7s16; 890 int16x8_t q0s16, q1s16, q2s16, q4s16, q5s16, q6s16, q7s16;
891 int16x8_t q8s16, q9s16, q10s16, q11s16, q12s16, q13s16, q14s16, q15s16; 891 int16x8_t q8s16, q9s16, q10s16, q11s16, q12s16, q13s16, q14s16, q15s16;
892 int32x4_t q6s32, q9s32; 892 int32x4_t q6s32, q9s32;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1010 vst1_u64((uint64_t *)out, d28u64); 1010 vst1_u64((uint64_t *)out, d28u64);
1011 out += output_stride; 1011 out += output_stride;
1012 vst1_u64((uint64_t *)out, d29u64); 1012 vst1_u64((uint64_t *)out, d29u64);
1013 out += output_stride; 1013 out += output_stride;
1014 vst1_u64((uint64_t *)out, d30u64); 1014 vst1_u64((uint64_t *)out, d30u64);
1015 out += output_stride; 1015 out += output_stride;
1016 vst1_u64((uint64_t *)out, d31u64); 1016 vst1_u64((uint64_t *)out, d31u64);
1017 return; 1017 return;
1018 } 1018 }
1019 1019
1020 void vp9_idct16x16_10_add_neon_pass2( 1020 void vpx_idct16x16_10_add_neon_pass2(
1021 int16_t *src, 1021 int16_t *src,
1022 int16_t *out, 1022 int16_t *out,
1023 int16_t *pass1Output, 1023 int16_t *pass1Output,
1024 int16_t skip_adding, 1024 int16_t skip_adding,
1025 uint8_t *dest, 1025 uint8_t *dest,
1026 int dest_stride) { 1026 int dest_stride) {
1027 int16x4_t d0s16, d1s16, d2s16, d3s16, d4s16, d5s16, d6s16, d7s16; 1027 int16x4_t d0s16, d1s16, d2s16, d3s16, d4s16, d5s16, d6s16, d7s16;
1028 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16; 1028 int16x4_t d8s16, d9s16, d10s16, d11s16, d12s16, d13s16, d14s16, d15s16;
1029 int16x4_t d20s16, d21s16, d22s16, d23s16; 1029 int16x4_t d20s16, d21s16, d22s16, d23s16;
1030 int16x4_t d24s16, d25s16, d26s16, d27s16, d30s16, d31s16; 1030 int16x4_t d24s16, d25s16, d26s16, d27s16, d30s16, d31s16;
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1308 out += 12; 1308 out += 12;
1309 vst1_u64((uint64_t *)out, d28u64); 1309 vst1_u64((uint64_t *)out, d28u64);
1310 out += 4; 1310 out += 4;
1311 vst1_u64((uint64_t *)out, d29u64); 1311 vst1_u64((uint64_t *)out, d29u64);
1312 out += 12; 1312 out += 12;
1313 vst1_u64((uint64_t *)out, d30u64); 1313 vst1_u64((uint64_t *)out, d30u64);
1314 out += 4; 1314 out += 4;
1315 vst1_u64((uint64_t *)out, d31u64); 1315 vst1_u64((uint64_t *)out, d31u64);
1316 return; 1316 return;
1317 } 1317 }
OLDNEW
« no previous file with comments | « source/libvpx/vpx_dsp/arm/idct16x16_add_neon.asm ('k') | source/libvpx/vpx_dsp/arm/idct16x16_neon.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698