comparison ppc/h264_template_altivec.c @ 6063:47ed1b9610b1 libavcodec

Reindent
author lu_zero
date Sat, 22 Dec 2007 15:39:32 +0000
parents 9d1590a4df90
children 62d040333d51
comparison
equal deleted inserted replaced
6062:9d1590a4df90 6063:47ed1b9610b1
71 vsrc1ssH = vsrc2ssH;\ 71 vsrc1ssH = vsrc2ssH;\
72 \ 72 \
73 dst += stride;\ 73 dst += stride;\
74 src += stride; 74 src += stride;
75 75
76 void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src, int stride, int h, int x, int y) { 76 void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
77 int stride, int h, int x, int y) {
77 POWERPC_PERF_DECLARE(PREFIX_h264_chroma_mc8_num, 1); 78 POWERPC_PERF_DECLARE(PREFIX_h264_chroma_mc8_num, 1);
78 DECLARE_ALIGNED_16(signed int, ABCD[4]) = 79 DECLARE_ALIGNED_16(signed int, ABCD[4]) =
79 {((8 - x) * (8 - y)), 80 {((8 - x) * (8 - y)),
80 (( x) * (8 - y)), 81 (( x) * (8 - y)),
81 ((8 - x) * ( y)), 82 ((8 - x) * ( y)),
129 130
130 vsrc0ssH = (vec_s16_t)vec_mergeh(zero_u8v,(vec_u8_t)vsrc0uc); 131 vsrc0ssH = (vec_s16_t)vec_mergeh(zero_u8v,(vec_u8_t)vsrc0uc);
131 vsrc1ssH = (vec_s16_t)vec_mergeh(zero_u8v,(vec_u8_t)vsrc1uc); 132 vsrc1ssH = (vec_s16_t)vec_mergeh(zero_u8v,(vec_u8_t)vsrc1uc);
132 133
133 if (ABCD[3]) { 134 if (ABCD[3]) {
134 if (!loadSecond) {// -> !reallyBadAlign 135 if (!loadSecond) {// -> !reallyBadAlign
135 for (i = 0 ; i < h ; i++) { 136 for (i = 0 ; i < h ; i++) {
136 vsrcCuc = vec_ld(stride + 0, src); 137 vsrcCuc = vec_ld(stride + 0, src);
137 vsrc2uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0); 138 vsrc2uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0);
138 vsrc3uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm1); 139 vsrc3uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm1);
139 140
140 CHROMA_MC8_ALTIVEC_CORE 141 CHROMA_MC8_ALTIVEC_CORE
142 }
143 } else {
144 vec_u8_t vsrcDuc;
145 for (i = 0 ; i < h ; i++) {
146 vsrcCuc = vec_ld(stride + 0, src);
147 vsrcDuc = vec_ld(stride + 16, src);
148 vsrc2uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
149 if (reallyBadAlign)
150 vsrc3uc = vsrcDuc;
151 else
152 vsrc3uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1);
153
154 CHROMA_MC8_ALTIVEC_CORE
155 }
141 } 156 }
142 } else { 157 } else {
143 vec_u8_t vsrcDuc; 158 if (!loadSecond) {// -> !reallyBadAlign
144 for (i = 0 ; i < h ; i++) { 159 for (i = 0 ; i < h ; i++) {
145 vsrcCuc = vec_ld(stride + 0, src); 160 vsrcCuc = vec_ld(stride + 0, src);
146 vsrcDuc = vec_ld(stride + 16, src); 161 vsrc2uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0);
147 vsrc2uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0); 162
148 if (reallyBadAlign) 163 CHROMA_MC8_ALTIVEC_CORE_SIMPLE
149 vsrc3uc = vsrcDuc; 164 }
150 else 165 } else {
151 vsrc3uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1); 166 vec_u8_t vsrcDuc;
152 167 for (i = 0 ; i < h ; i++) {
153 CHROMA_MC8_ALTIVEC_CORE 168 vsrcCuc = vec_ld(stride + 0, src);
169 vsrcDuc = vec_ld(stride + 16, src);
170 vsrc2uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
171
172 CHROMA_MC8_ALTIVEC_CORE_SIMPLE
173 }
154 } 174 }
155 }
156 } else {
157 if (!loadSecond) {// -> !reallyBadAlign
158 for (i = 0 ; i < h ; i++) {
159 vsrcCuc = vec_ld(stride + 0, src);
160 vsrc2uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0);
161
162 CHROMA_MC8_ALTIVEC_CORE_SIMPLE
163 }
164 } else {
165 vec_u8_t vsrcDuc;
166 for (i = 0 ; i < h ; i++) {
167 vsrcCuc = vec_ld(stride + 0, src);
168 vsrcDuc = vec_ld(stride + 16, src);
169 vsrc2uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
170
171 CHROMA_MC8_ALTIVEC_CORE_SIMPLE
172 }
173 }
174
175 } 175 }
176 POWERPC_PERF_STOP_COUNT(PREFIX_h264_chroma_mc8_num, 1); 176 POWERPC_PERF_STOP_COUNT(PREFIX_h264_chroma_mc8_num, 1);
177 } 177 }
178 178
179 #undef CHROMA_MC8_ALTIVEC_CORE 179 #undef CHROMA_MC8_ALTIVEC_CORE