Mercurial > libavcodec.hg
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; |