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

Side by Side Diff: source/libvpx/vp9/encoder/arm/neon/vp9_dct_neon.c

Issue 897063002: Revert "libvpx: Pull from upstream" (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 10 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 14 matching lines...) Expand all
25 { 25 {
26 const int32x4_t a = vpaddlq_s16(sum); 26 const int32x4_t a = vpaddlq_s16(sum);
27 const int64x2_t b = vpaddlq_s32(a); 27 const int64x2_t b = vpaddlq_s32(a);
28 const int32x2_t c = vadd_s32(vreinterpret_s32_s64(vget_low_s64(b)), 28 const int32x2_t c = vadd_s32(vreinterpret_s32_s64(vget_low_s64(b)),
29 vreinterpret_s32_s64(vget_high_s64(b))); 29 vreinterpret_s32_s64(vget_high_s64(b)));
30 output[0] = vget_lane_s16(vreinterpret_s16_s32(c), 0); 30 output[0] = vget_lane_s16(vreinterpret_s16_s32(c), 0);
31 output[1] = 0; 31 output[1] = 0;
32 } 32 }
33 } 33 }
34 34
35 void vp9_fdct8x8_quant_neon(const int16_t *input, int stride,
36 int16_t* coeff_ptr, intptr_t n_coeffs,
37 int skip_block, const int16_t* zbin_ptr,
38 const int16_t* round_ptr, const int16_t* quant_ptr,
39 const int16_t* quant_shift_ptr,
40 int16_t* qcoeff_ptr, int16_t* dqcoeff_ptr,
41 const int16_t* dequant_ptr, uint16_t* eob_ptr,
42 const int16_t* scan_ptr,
43 const int16_t* iscan_ptr) {
44 int16_t temp_buffer[64];
45 (void)coeff_ptr;
46
47 vp9_fdct8x8_neon(input, temp_buffer, stride);
48 vp9_quantize_fp_neon(temp_buffer, n_coeffs, skip_block, zbin_ptr, round_ptr,
49 quant_ptr, quant_shift_ptr, qcoeff_ptr, dqcoeff_ptr,
50 dequant_ptr, eob_ptr, scan_ptr, iscan_ptr);
51 }
52
53 void vp9_fdct8x8_neon(const int16_t *input, int16_t *final_output, int stride) { 35 void vp9_fdct8x8_neon(const int16_t *input, int16_t *final_output, int stride) {
54 int i; 36 int i;
55 // stage 1 37 // stage 1
56 int16x8_t input_0 = vshlq_n_s16(vld1q_s16(&input[0 * stride]), 2); 38 int16x8_t input_0 = vshlq_n_s16(vld1q_s16(&input[0 * stride]), 2);
57 int16x8_t input_1 = vshlq_n_s16(vld1q_s16(&input[1 * stride]), 2); 39 int16x8_t input_1 = vshlq_n_s16(vld1q_s16(&input[1 * stride]), 2);
58 int16x8_t input_2 = vshlq_n_s16(vld1q_s16(&input[2 * stride]), 2); 40 int16x8_t input_2 = vshlq_n_s16(vld1q_s16(&input[2 * stride]), 2);
59 int16x8_t input_3 = vshlq_n_s16(vld1q_s16(&input[3 * stride]), 2); 41 int16x8_t input_3 = vshlq_n_s16(vld1q_s16(&input[3 * stride]), 2);
60 int16x8_t input_4 = vshlq_n_s16(vld1q_s16(&input[4 * stride]), 2); 42 int16x8_t input_4 = vshlq_n_s16(vld1q_s16(&input[4 * stride]), 2);
61 int16x8_t input_5 = vshlq_n_s16(vld1q_s16(&input[5 * stride]), 2); 43 int16x8_t input_5 = vshlq_n_s16(vld1q_s16(&input[5 * stride]), 2);
62 int16x8_t input_6 = vshlq_n_s16(vld1q_s16(&input[6 * stride]), 2); 44 int16x8_t input_6 = vshlq_n_s16(vld1q_s16(&input[6 * stride]), 2);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 vst1q_s16(&final_output[1 * 8], input_1); 214 vst1q_s16(&final_output[1 * 8], input_1);
233 vst1q_s16(&final_output[2 * 8], input_2); 215 vst1q_s16(&final_output[2 * 8], input_2);
234 vst1q_s16(&final_output[3 * 8], input_3); 216 vst1q_s16(&final_output[3 * 8], input_3);
235 vst1q_s16(&final_output[4 * 8], input_4); 217 vst1q_s16(&final_output[4 * 8], input_4);
236 vst1q_s16(&final_output[5 * 8], input_5); 218 vst1q_s16(&final_output[5 * 8], input_5);
237 vst1q_s16(&final_output[6 * 8], input_6); 219 vst1q_s16(&final_output[6 * 8], input_6);
238 vst1q_s16(&final_output[7 * 8], input_7); 220 vst1q_s16(&final_output[7 * 8], input_7);
239 } 221 }
240 } 222 }
241 223
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/arm/neon/vp9_avg_neon.c ('k') | source/libvpx/vp9/encoder/arm/neon/vp9_sad4d_neon.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698