annotate sh4/dsputil_align.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents c166792100a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
1 /*
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1264
diff changeset
2 * aligned/packed access motion
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
3 *
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
4 * Copyright (c) 2001-2003 BERO <bero@geocities.co.jp>
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
5 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
6 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
7 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
12 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
16 * Lesser General Public License for more details.
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
17 *
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2979
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
21 */
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
22
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
23
6763
f7cbb7733146 Use full path for #includes from another directory.
diego
parents: 5010
diff changeset
24 #include "libavcodec/avcodec.h"
f7cbb7733146 Use full path for #includes from another directory.
diego
parents: 5010
diff changeset
25 #include "libavcodec/dsputil.h"
11400
c166792100a0 sh4: move dsputil prototypes to header file
mru
parents: 11399
diff changeset
26 #include "dsputil_sh4.h"
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
27
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
28
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
29 #define LP(p) *(uint32_t*)(p)
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
30 #define LPC(p) *(const uint32_t*)(p)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
31
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
32
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
33 #define UNPACK(ph,pl,tt0,tt1) do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
34 uint32_t t0,t1; t0=tt0;t1=tt1; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
35 ph = ( (t0 & ~BYTE_VEC32(0x03))>>2) + ( (t1 & ~BYTE_VEC32(0x03))>>2); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
36 pl = (t0 & BYTE_VEC32(0x03)) + (t1 & BYTE_VEC32(0x03)); } while(0)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
37
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
38 #define rnd_PACK(ph,pl,nph,npl) ph + nph + (((pl + npl + BYTE_VEC32(0x02))>>2) & BYTE_VEC32(0x03))
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
39 #define no_rnd_PACK(ph,pl,nph,npl) ph + nph + (((pl + npl + BYTE_VEC32(0x01))>>2) & BYTE_VEC32(0x03))
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
40
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
41 /* little endian */
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
42 #define MERGE1(a,b,ofs) (ofs==0)?a:( ((a)>>(8*ofs))|((b)<<(32-8*ofs)) )
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
43 #define MERGE2(a,b,ofs) (ofs==3)?b:( ((a)>>(8*(ofs+1)))|((b)<<(32-8*(ofs+1))) )
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
44 /* big
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
45 #define MERGE1(a,b,ofs) (ofs==0)?a:( ((a)<<(8*ofs))|((b)>>(32-8*ofs)) )
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
46 #define MERGE2(a,b,ofs) (ofs==3)?b:( ((a)<<(8+8*ofs))|((b)>>(32-8-8*ofs)) )
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
47 */
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
48
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
49
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
50 #define put(d,s) d = s
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
51 #define avg(d,s) d = rnd_avg32(s,d)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
52
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
53 #define OP_C4(ofs) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
54 ref-=ofs; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
55 do { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
56 OP(LP(dest),MERGE1(LPC(ref),LPC(ref+4),ofs)); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
57 ref+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
58 dest+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
59 } while(--height)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
60
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
61 #define OP_C40() \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
62 do { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
63 OP(LP(dest),LPC(ref)); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
64 ref+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
65 dest+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
66 } while(--height)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
67
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
68
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
69 #define OP put
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
70
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
71 static void put_pixels4_c(uint8_t *dest,const uint8_t *ref, const int stride,int height)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
72 {
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
73 switch((int)ref&3){
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
74 case 0: OP_C40(); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
75 case 1: OP_C4(1); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
76 case 2: OP_C4(2); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
77 case 3: OP_C4(3); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
78 }
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
79 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
80
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
81 #undef OP
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
82 #define OP avg
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
83
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
84 static void avg_pixels4_c(uint8_t *dest,const uint8_t *ref, const int stride,int height)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
85 {
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
86 switch((int)ref&3){
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
87 case 0: OP_C40(); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
88 case 1: OP_C4(1); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
89 case 2: OP_C4(2); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
90 case 3: OP_C4(3); return;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
91 }
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
92 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
93
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
94 #undef OP
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
95
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
96 #define OP_C(ofs,sz,avg2) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
97 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
98 ref-=ofs; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
99 do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
100 uint32_t t0,t1; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
101 t0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
102 t1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
103 OP(LP(dest+0), MERGE1(t0,t1,ofs)); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
104 t0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
105 OP(LP(dest+4), MERGE1(t1,t0,ofs)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
106 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
107 t1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
108 OP(LP(dest+8), MERGE1(t0,t1,ofs)); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
109 t0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
110 OP(LP(dest+12), MERGE1(t1,t0,ofs)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
111 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
112 ref+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
113 dest+= stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
114 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
115 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
116
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
117 /* aligned */
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
118 #define OP_C0(sz,avg2) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
119 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
120 do { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
121 OP(LP(dest+0), LPC(ref+0)); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
122 OP(LP(dest+4), LPC(ref+4)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
123 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
124 OP(LP(dest+8), LPC(ref+8)); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
125 OP(LP(dest+12), LPC(ref+12)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
126 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
127 ref+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
128 dest+= stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
129 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
130 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
131
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
132 #define OP_X(ofs,sz,avg2) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
133 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
134 ref-=ofs; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
135 do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
136 uint32_t t0,t1; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
137 t0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
138 t1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
139 OP(LP(dest+0), avg2(MERGE1(t0,t1,ofs),MERGE2(t0,t1,ofs))); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
140 t0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
141 OP(LP(dest+4), avg2(MERGE1(t1,t0,ofs),MERGE2(t1,t0,ofs))); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
142 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
143 t1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
144 OP(LP(dest+8), avg2(MERGE1(t0,t1,ofs),MERGE2(t0,t1,ofs))); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
145 t0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
146 OP(LP(dest+12), avg2(MERGE1(t1,t0,ofs),MERGE2(t1,t0,ofs))); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
147 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
148 ref+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
149 dest+= stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
150 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
151 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
152
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
153 /* aligned */
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
154 #define OP_Y0(sz,avg2) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
155 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
156 uint32_t t0,t1,t2,t3,t; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
157 \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
158 t0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
159 t1 = LPC(ref+4); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
160 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
161 t2 = LPC(ref+8); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
162 t3 = LPC(ref+12); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
163 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
164 do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
165 ref += stride; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
166 \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
167 t = LPC(ref+0); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
168 OP(LP(dest+0), avg2(t0,t)); t0 = t; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
169 t = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
170 OP(LP(dest+4), avg2(t1,t)); t1 = t; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
171 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
172 t = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
173 OP(LP(dest+8), avg2(t2,t)); t2 = t; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
174 t = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
175 OP(LP(dest+12), avg2(t3,t)); t3 = t; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
176 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
177 dest+= stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
178 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
179 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
180
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
181 #define OP_Y(ofs,sz,avg2) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
182 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
183 uint32_t t0,t1,t2,t3,t,w0,w1; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
184 \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
185 ref-=ofs; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
186 w0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
187 w1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
188 t0 = MERGE1(w0,w1,ofs); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
189 w0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
190 t1 = MERGE1(w1,w0,ofs); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
191 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
192 w1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
193 t2 = MERGE1(w0,w1,ofs); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
194 w0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
195 t3 = MERGE1(w1,w0,ofs); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
196 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
197 do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
198 ref += stride; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
199 \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
200 w0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
201 w1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
202 t = MERGE1(w0,w1,ofs); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
203 OP(LP(dest+0), avg2(t0,t)); t0 = t; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
204 w0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
205 t = MERGE1(w1,w0,ofs); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
206 OP(LP(dest+4), avg2(t1,t)); t1 = t; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
207 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
208 w1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
209 t = MERGE1(w0,w1,ofs); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
210 OP(LP(dest+8), avg2(t2,t)); t2 = t; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
211 w0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
212 t = MERGE1(w1,w0,ofs); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
213 OP(LP(dest+12), avg2(t3,t)); t3 = t; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
214 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
215 dest+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
216 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
217 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
218
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
219 #define OP_X0(sz,avg2) OP_X(0,sz,avg2)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
220 #define OP_XY0(sz,PACK) OP_XY(0,sz,PACK)
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
221 #define OP_XY(ofs,sz,PACK) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
222 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
223 uint32_t t2,t3,w0,w1; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
224 uint32_t a0,a1,a2,a3,a4,a5,a6,a7; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
225 \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
226 ref -= ofs; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
227 w0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
228 w1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
229 UNPACK(a0,a1,MERGE1(w0,w1,ofs),MERGE2(w0,w1,ofs)); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
230 w0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
231 UNPACK(a2,a3,MERGE1(w1,w0,ofs),MERGE2(w1,w0,ofs)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
232 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
233 w1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
234 UNPACK(a4,a5,MERGE1(w0,w1,ofs),MERGE2(w0,w1,ofs)); \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
235 w0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
236 UNPACK(a6,a7,MERGE1(w1,w0,ofs),MERGE2(w1,w0,ofs)); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
237 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
238 do { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
239 ref+=stride; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
240 w0 = LPC(ref+0); \
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
241 w1 = LPC(ref+4); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
242 UNPACK(t2,t3,MERGE1(w0,w1,ofs),MERGE2(w0,w1,ofs)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
243 OP(LP(dest+0),PACK(a0,a1,t2,t3)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
244 a0 = t2; a1 = t3; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
245 w0 = LPC(ref+8); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
246 UNPACK(t2,t3,MERGE1(w1,w0,ofs),MERGE2(w1,w0,ofs)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
247 OP(LP(dest+4),PACK(a2,a3,t2,t3)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
248 a2 = t2; a3 = t3; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
249 if (sz==16) { \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
250 w1 = LPC(ref+12); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
251 UNPACK(t2,t3,MERGE1(w0,w1,ofs),MERGE2(w0,w1,ofs)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
252 OP(LP(dest+8),PACK(a4,a5,t2,t3)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
253 a4 = t2; a5 = t3; \
11399
bb19a598f066 sh4: fix about 1000 warnings
mru
parents: 8168
diff changeset
254 w0 = LPC(ref+16); \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
255 UNPACK(t2,t3,MERGE1(w1,w0,ofs),MERGE2(w1,w0,ofs)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
256 OP(LP(dest+12),PACK(a6,a7,t2,t3)); \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
257 a6 = t2; a7 = t3; \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
258 } \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
259 dest+=stride; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
260 } while(--height); \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
261 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
262
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
263 #define DEFFUNC(op,rnd,xy,sz,OP_N,avgfunc) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
264 static void op##_##rnd##_pixels##sz##_##xy (uint8_t * dest, const uint8_t * ref, \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
265 const int stride, int height) \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
266 { \
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
267 switch((int)ref&3) { \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
268 case 0:OP_N##0(sz,rnd##_##avgfunc); return; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
269 case 1:OP_N(1,sz,rnd##_##avgfunc); return; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
270 case 2:OP_N(2,sz,rnd##_##avgfunc); return; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
271 case 3:OP_N(3,sz,rnd##_##avgfunc); return; \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
272 } \
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
273 }
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
274
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
275 #define OP put
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
276
8168
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
277 DEFFUNC(put, rnd,o,8,OP_C,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
278 DEFFUNC(put, rnd,x,8,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
279 DEFFUNC(put,no_rnd,x,8,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
280 DEFFUNC(put, rnd,y,8,OP_Y,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
281 DEFFUNC(put,no_rnd,y,8,OP_Y,avg32)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
282 DEFFUNC(put, rnd,xy,8,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
283 DEFFUNC(put,no_rnd,xy,8,OP_XY,PACK)
8168
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
284 DEFFUNC(put, rnd,o,16,OP_C,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
285 DEFFUNC(put, rnd,x,16,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
286 DEFFUNC(put,no_rnd,x,16,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
287 DEFFUNC(put, rnd,y,16,OP_Y,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
288 DEFFUNC(put,no_rnd,y,16,OP_Y,avg32)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
289 DEFFUNC(put, rnd,xy,16,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
290 DEFFUNC(put,no_rnd,xy,16,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
291
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
292 #undef OP
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
293 #define OP avg
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
294
8168
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
295 DEFFUNC(avg, rnd,o,8,OP_C,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
296 DEFFUNC(avg, rnd,x,8,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
297 DEFFUNC(avg,no_rnd,x,8,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
298 DEFFUNC(avg, rnd,y,8,OP_Y,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
299 DEFFUNC(avg,no_rnd,y,8,OP_Y,avg32)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
300 DEFFUNC(avg, rnd,xy,8,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
301 DEFFUNC(avg,no_rnd,xy,8,OP_XY,PACK)
8168
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
302 DEFFUNC(avg, rnd,o,16,OP_C,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
303 DEFFUNC(avg, rnd,x,16,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
304 DEFFUNC(avg,no_rnd,x,16,OP_X,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
305 DEFFUNC(avg, rnd,y,16,OP_Y,avg32)
0dcd9d4dd87f SH4: replace missed rnd_avg2 -> rnd_avg32
mru
parents: 8167
diff changeset
306 DEFFUNC(avg,no_rnd,y,16,OP_Y,avg32)
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
307 DEFFUNC(avg, rnd,xy,16,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
308 DEFFUNC(avg,no_rnd,xy,16,OP_XY,PACK)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
309
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
310 #undef OP
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
311
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
312 #define put_no_rnd_pixels8_o put_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
313 #define put_no_rnd_pixels16_o put_rnd_pixels16_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
314 #define avg_no_rnd_pixels8_o avg_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
315 #define avg_no_rnd_pixels16_o avg_rnd_pixels16_o
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
316
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
317 #define put_pixels8_c put_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
318 #define put_pixels16_c put_rnd_pixels16_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
319 #define avg_pixels8_c avg_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
320 #define avg_pixels16_c avg_rnd_pixels16_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
321 #define put_no_rnd_pixels8_c put_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
322 #define put_no_rnd_pixels16_c put_rnd_pixels16_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
323 #define avg_no_rnd_pixels8_c avg_rnd_pixels8_o
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
324 #define avg_no_rnd_pixels16_c avg_rnd_pixels16_o
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
325
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
326 #define QPEL
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
327
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
328 #ifdef QPEL
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
329
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
330 #include "qpel.c"
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
331
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
332 #endif
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
333
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
334 void dsputil_init_align(DSPContext* c, AVCodecContext *avctx)
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
335 {
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
336 c->put_pixels_tab[0][0] = put_rnd_pixels16_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
337 c->put_pixels_tab[0][1] = put_rnd_pixels16_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
338 c->put_pixels_tab[0][2] = put_rnd_pixels16_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
339 c->put_pixels_tab[0][3] = put_rnd_pixels16_xy;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
340 c->put_pixels_tab[1][0] = put_rnd_pixels8_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
341 c->put_pixels_tab[1][1] = put_rnd_pixels8_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
342 c->put_pixels_tab[1][2] = put_rnd_pixels8_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
343 c->put_pixels_tab[1][3] = put_rnd_pixels8_xy;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
344
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
345 c->put_no_rnd_pixels_tab[0][0] = put_no_rnd_pixels16_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
346 c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
347 c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
348 c->put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
349 c->put_no_rnd_pixels_tab[1][0] = put_no_rnd_pixels8_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
350 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
351 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
352 c->put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels8_xy;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
353
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
354 c->avg_pixels_tab[0][0] = avg_rnd_pixels16_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
355 c->avg_pixels_tab[0][1] = avg_rnd_pixels16_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
356 c->avg_pixels_tab[0][2] = avg_rnd_pixels16_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
357 c->avg_pixels_tab[0][3] = avg_rnd_pixels16_xy;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
358 c->avg_pixels_tab[1][0] = avg_rnd_pixels8_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
359 c->avg_pixels_tab[1][1] = avg_rnd_pixels8_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
360 c->avg_pixels_tab[1][2] = avg_rnd_pixels8_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
361 c->avg_pixels_tab[1][3] = avg_rnd_pixels8_xy;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
362
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
363 c->avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
364 c->avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
365 c->avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
366 c->avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
367 c->avg_no_rnd_pixels_tab[1][0] = avg_no_rnd_pixels8_o;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
368 c->avg_no_rnd_pixels_tab[1][1] = avg_no_rnd_pixels8_x;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
369 c->avg_no_rnd_pixels_tab[1][2] = avg_no_rnd_pixels8_y;
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2967
diff changeset
370 c->avg_no_rnd_pixels_tab[1][3] = avg_no_rnd_pixels8_xy;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
371
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
372 #ifdef QPEL
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
373
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
374 #define dspfunc(PFX, IDX, NUM) \
8167
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
375 c->PFX ## _pixels_tab[IDX][ 0] = PFX ## NUM ## _mc00_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
376 c->PFX ## _pixels_tab[IDX][ 1] = PFX ## NUM ## _mc10_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
377 c->PFX ## _pixels_tab[IDX][ 2] = PFX ## NUM ## _mc20_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
378 c->PFX ## _pixels_tab[IDX][ 3] = PFX ## NUM ## _mc30_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
379 c->PFX ## _pixels_tab[IDX][ 4] = PFX ## NUM ## _mc01_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
380 c->PFX ## _pixels_tab[IDX][ 5] = PFX ## NUM ## _mc11_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
381 c->PFX ## _pixels_tab[IDX][ 6] = PFX ## NUM ## _mc21_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
382 c->PFX ## _pixels_tab[IDX][ 7] = PFX ## NUM ## _mc31_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
383 c->PFX ## _pixels_tab[IDX][ 8] = PFX ## NUM ## _mc02_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
384 c->PFX ## _pixels_tab[IDX][ 9] = PFX ## NUM ## _mc12_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
385 c->PFX ## _pixels_tab[IDX][10] = PFX ## NUM ## _mc22_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
386 c->PFX ## _pixels_tab[IDX][11] = PFX ## NUM ## _mc32_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
387 c->PFX ## _pixels_tab[IDX][12] = PFX ## NUM ## _mc03_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
388 c->PFX ## _pixels_tab[IDX][13] = PFX ## NUM ## _mc13_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
389 c->PFX ## _pixels_tab[IDX][14] = PFX ## NUM ## _mc23_sh4; \
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
390 c->PFX ## _pixels_tab[IDX][15] = PFX ## NUM ## _mc33_sh4
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
391
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
392 dspfunc(put_qpel, 0, 16);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
393 dspfunc(put_no_rnd_qpel, 0, 16);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
394
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
395 dspfunc(avg_qpel, 0, 16);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
396 /* dspfunc(avg_no_rnd_qpel, 0, 16); */
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
397
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
398 dspfunc(put_qpel, 1, 8);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
399 dspfunc(put_no_rnd_qpel, 1, 8);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
400
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
401 dspfunc(avg_qpel, 1, 8);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
402 /* dspfunc(avg_no_rnd_qpel, 1, 8); */
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
403
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
404 dspfunc(put_h264_qpel, 0, 16);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
405 dspfunc(put_h264_qpel, 1, 8);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
406 dspfunc(put_h264_qpel, 2, 4);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
407 dspfunc(avg_h264_qpel, 0, 16);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
408 dspfunc(avg_h264_qpel, 1, 8);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
409 dspfunc(avg_h264_qpel, 2, 4);
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
410
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
411 #undef dspfunc
8167
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
412 c->put_h264_chroma_pixels_tab[0]= put_h264_chroma_mc8_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
413 c->put_h264_chroma_pixels_tab[1]= put_h264_chroma_mc4_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
414 c->put_h264_chroma_pixels_tab[2]= put_h264_chroma_mc2_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
415 c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
416 c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
417 c->avg_h264_chroma_pixels_tab[2]= avg_h264_chroma_mc2_sh4;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
418
8167
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
419 c->put_mspel_pixels_tab[0]= put_mspel8_mc00_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
420 c->put_mspel_pixels_tab[1]= put_mspel8_mc10_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
421 c->put_mspel_pixels_tab[2]= put_mspel8_mc20_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
422 c->put_mspel_pixels_tab[3]= put_mspel8_mc30_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
423 c->put_mspel_pixels_tab[4]= put_mspel8_mc02_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
424 c->put_mspel_pixels_tab[5]= put_mspel8_mc12_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
425 c->put_mspel_pixels_tab[6]= put_mspel8_mc22_sh4;
bd11ee6ad834 SH4: rename functions with conflicting names
mru
parents: 6763
diff changeset
426 c->put_mspel_pixels_tab[7]= put_mspel8_mc32_sh4;
1262
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
427
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
428 c->gmc1 = gmc1_c;
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
429 c->gmc = gmc_c;
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
430
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
431 #endif
82e0e1b9c283 aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)
michaelni
parents:
diff changeset
432 }