comparison h263dec.c @ 203:9bfd3abd85eb libavcodec

(commit by michael) memset() in MMX
author arpi_esp
date Mon, 14 Jan 2002 04:29:19 +0000
parents de80712db90b
children 2eb04d6be309
comparison
equal deleted inserted replaced
202:fbe0398a7a4d 203:9bfd3abd85eb
160 /* default quantization values */ 160 /* default quantization values */
161 s->y_dc_scale = 8; 161 s->y_dc_scale = 8;
162 s->c_dc_scale = 8; 162 s->c_dc_scale = 8;
163 } 163 }
164 164
165 #ifdef HAVE_MMX
166 if (mm_flags & MM_MMX) {
167 asm volatile(
168 "pxor %%mm7, %%mm7 \n\t"
169 "movl $-128*6, %%eax \n\t"
170 "1: \n\t"
171 "movq %%mm7, (%0, %%eax) \n\t"
172 "movq %%mm7, 8(%0, %%eax) \n\t"
173 "movq %%mm7, 16(%0, %%eax) \n\t"
174 "movq %%mm7, 24(%0, %%eax) \n\t"
175 "addl $32, %%eax \n\t"
176 " js 1b \n\t"
177 : : "r" (((int)s->block)+128*6)
178 : "%eax"
179 );
180 }else{
181 memset(s->block, 0, sizeof(s->block));
182 }
183 #else
165 memset(s->block, 0, sizeof(s->block)); 184 memset(s->block, 0, sizeof(s->block));
185 #endif
166 s->mv_dir = MV_DIR_FORWARD; 186 s->mv_dir = MV_DIR_FORWARD;
167 s->mv_type = MV_TYPE_16X16; 187 s->mv_type = MV_TYPE_16X16;
168 if (s->h263_msmpeg4) { 188 if (s->h263_msmpeg4) {
169 if (msmpeg4_decode_mb(s, s->block) < 0) 189 if (msmpeg4_decode_mb(s, s->block) < 0)
170 return -1; 190 return -1;