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

Side by Side Diff: source/libvpx/vp9/encoder/mips/msa/vp9_fdct8x8_msa.c

Issue 1217053002: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 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
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2015 The WebM project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include <assert.h>
12
13 #include "./vp9_rtcd.h"
14 #include "vp9/encoder/mips/msa/vp9_fdct_msa.h"
15
16 void vp9_fdct8x8_msa(const int16_t *input, int16_t *output,
17 int32_t src_stride) {
18 v8i16 in0, in1, in2, in3, in4, in5, in6, in7;
19
20 LD_SH8(input, src_stride, in0, in1, in2, in3, in4, in5, in6, in7);
21 SLLI_4V(in0, in1, in2, in3, 2);
22 SLLI_4V(in4, in5, in6, in7, 2);
23 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
24 in0, in1, in2, in3, in4, in5, in6, in7);
25 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
26 in0, in1, in2, in3, in4, in5, in6, in7);
27 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
28 in0, in1, in2, in3, in4, in5, in6, in7);
29 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
30 in0, in1, in2, in3, in4, in5, in6, in7);
31 VP9_SRLI_AVE_S_4V_H(in0, in1, in2, in3, in4, in5, in6, in7);
32 ST_SH8(in0, in1, in2, in3, in4, in5, in6, in7, output, 8);
33 }
34
35 void vp9_fdct8x8_1_msa(const int16_t *input, int16_t *out, int32_t stride) {
36 out[0] = VP9_LD_HADD(input, stride);
37 out[1] = 0;
38 }
39
40 void vp9_fht8x8_msa(const int16_t *input, int16_t *output, int32_t stride,
41 int32_t tx_type) {
42 v8i16 in0, in1, in2, in3, in4, in5, in6, in7;
43
44 LD_SH8(input, stride, in0, in1, in2, in3, in4, in5, in6, in7);
45 SLLI_4V(in0, in1, in2, in3, 2);
46 SLLI_4V(in4, in5, in6, in7, 2);
47
48 switch (tx_type) {
49 case DCT_DCT:
50 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
51 in0, in1, in2, in3, in4, in5, in6, in7);
52 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
53 in0, in1, in2, in3, in4, in5, in6, in7);
54 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
55 in0, in1, in2, in3, in4, in5, in6, in7);
56 break;
57 case ADST_DCT:
58 VP9_ADST8(in0, in1, in2, in3, in4, in5, in6, in7,
59 in0, in1, in2, in3, in4, in5, in6, in7);
60 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
61 in0, in1, in2, in3, in4, in5, in6, in7);
62 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
63 in0, in1, in2, in3, in4, in5, in6, in7);
64 break;
65 case DCT_ADST:
66 VP9_FDCT8(in0, in1, in2, in3, in4, in5, in6, in7,
67 in0, in1, in2, in3, in4, in5, in6, in7);
68 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
69 in0, in1, in2, in3, in4, in5, in6, in7);
70 VP9_ADST8(in0, in1, in2, in3, in4, in5, in6, in7,
71 in0, in1, in2, in3, in4, in5, in6, in7);
72 break;
73 case ADST_ADST:
74 VP9_ADST8(in0, in1, in2, in3, in4, in5, in6, in7,
75 in0, in1, in2, in3, in4, in5, in6, in7);
76 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
77 in0, in1, in2, in3, in4, in5, in6, in7);
78 VP9_ADST8(in0, in1, in2, in3, in4, in5, in6, in7,
79 in0, in1, in2, in3, in4, in5, in6, in7);
80 break;
81 default:
82 assert(0);
83 break;
84 }
85
86 TRANSPOSE8x8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7,
87 in0, in1, in2, in3, in4, in5, in6, in7);
88 VP9_SRLI_AVE_S_4V_H(in0, in1, in2, in3, in4, in5, in6, in7);
89 ST_SH8(in0, in1, in2, in3, in4, in5, in6, in7, output, 8);
90 }
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/mips/msa/vp9_fdct4x4_msa.c ('k') | source/libvpx/vp9/encoder/mips/msa/vp9_fdct_msa.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698