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

Side by Side Diff: source/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c

Issue 394353005: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « source/libvpx/tools_common.c ('k') | source/libvpx/vp8/common/arm/neon/sixtappredict_neon.c » ('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) 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 12 matching lines...) Expand all
23 23
24 void vp8_bilinear_predict4x4_neon( 24 void vp8_bilinear_predict4x4_neon(
25 unsigned char *src_ptr, 25 unsigned char *src_ptr,
26 int src_pixels_per_line, 26 int src_pixels_per_line,
27 int xoffset, 27 int xoffset,
28 int yoffset, 28 int yoffset,
29 unsigned char *dst_ptr, 29 unsigned char *dst_ptr,
30 int dst_pitch) { 30 int dst_pitch) {
31 uint8x8_t d0u8, d1u8, d2u8, d3u8, d4u8, d5u8, d6u8; 31 uint8x8_t d0u8, d1u8, d2u8, d3u8, d4u8, d5u8, d6u8;
32 uint8x8_t d26u8, d27u8, d28u8, d29u8, d30u8; 32 uint8x8_t d26u8, d27u8, d28u8, d29u8, d30u8;
33 uint32x2_t d28u32, d29u32, d30u32;
34 uint8x16_t q1u8, q2u8; 33 uint8x16_t q1u8, q2u8;
35 uint16x8_t q1u16, q2u16; 34 uint16x8_t q1u16, q2u16;
36 uint16x8_t q7u16, q8u16, q9u16; 35 uint16x8_t q7u16, q8u16, q9u16;
37 uint64x2_t q4u64, q5u64; 36 uint64x2_t q4u64, q5u64;
38 uint64x1_t d12u64; 37 uint64x1_t d12u64;
39 uint32x2x2_t d0u32x2, d1u32x2, d2u32x2, d3u32x2; 38 uint32x2x2_t d0u32x2, d1u32x2, d2u32x2, d3u32x2;
40 39
41 if (xoffset == 0) { // skip_1stpass_filter 40 if (xoffset == 0) { // skip_1stpass_filter
41 uint32x2_t d28u32 = vdup_n_u32(0);
42 uint32x2_t d29u32 = vdup_n_u32(0);
43 uint32x2_t d30u32 = vdup_n_u32(0);
44
42 d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 0); 45 d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 0);
43 src_ptr += src_pixels_per_line; 46 src_ptr += src_pixels_per_line;
44 d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 1); 47 d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 1);
45 src_ptr += src_pixels_per_line; 48 src_ptr += src_pixels_per_line;
46 d29u32 = vld1_lane_u32((const uint32_t *)src_ptr, d29u32, 0); 49 d29u32 = vld1_lane_u32((const uint32_t *)src_ptr, d29u32, 0);
47 src_ptr += src_pixels_per_line; 50 src_ptr += src_pixels_per_line;
48 d29u32 = vld1_lane_u32((const uint32_t *)src_ptr, d29u32, 1); 51 d29u32 = vld1_lane_u32((const uint32_t *)src_ptr, d29u32, 1);
49 src_ptr += src_pixels_per_line; 52 src_ptr += src_pixels_per_line;
50 d30u32 = vld1_lane_u32((const uint32_t *)src_ptr, d30u32, 0); 53 d30u32 = vld1_lane_u32((const uint32_t *)src_ptr, d30u32, 0);
51 d28u8 = vreinterpret_u8_u32(d28u32); 54 d28u8 = vreinterpret_u8_u32(d28u32);
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 690
688 q11u8 = q15u8; 691 q11u8 = q15u8;
689 692
690 vst1q_u8((uint8_t *)dst_ptr, q1u8); dst_ptr += dst_pitch; 693 vst1q_u8((uint8_t *)dst_ptr, q1u8); dst_ptr += dst_pitch;
691 vst1q_u8((uint8_t *)dst_ptr, q2u8); dst_ptr += dst_pitch; 694 vst1q_u8((uint8_t *)dst_ptr, q2u8); dst_ptr += dst_pitch;
692 vst1q_u8((uint8_t *)dst_ptr, q3u8); dst_ptr += dst_pitch; 695 vst1q_u8((uint8_t *)dst_ptr, q3u8); dst_ptr += dst_pitch;
693 vst1q_u8((uint8_t *)dst_ptr, q4u8); dst_ptr += dst_pitch; 696 vst1q_u8((uint8_t *)dst_ptr, q4u8); dst_ptr += dst_pitch;
694 } 697 }
695 return; 698 return;
696 } 699 }
OLDNEW
« no previous file with comments | « source/libvpx/tools_common.c ('k') | source/libvpx/vp8/common/arm/neon/sixtappredict_neon.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698