Revision 2f349de2 libavcodec/i386/mpegvideo_mmx.c
libavcodec/i386/mpegvideo_mmx.c | ||
---|---|---|
22 | 22 |
|
23 | 23 |
#include "../dsputil.h" |
24 | 24 |
#include "../mpegvideo.h" |
25 |
#include "../avcodec.h" |
|
26 |
#include "../mangle.h" |
|
25 | 27 |
|
26 | 28 |
extern UINT8 zigzag_end[64]; |
27 | 29 |
extern void (*draw_edges)(UINT8 *buf, int wrap, int width, int height, int w); |
30 |
extern int (*dct_quantize)(MpegEncContext *s, DCTELEM *block, int n, int qscale); |
|
31 |
|
|
32 |
extern UINT8 zigzag_direct_noperm[64]; |
|
33 |
extern UINT16 inv_zigzag_direct16[64]; |
|
34 |
extern UINT32 inverse[256]; |
|
28 | 35 |
|
29 | 36 |
#if 0 |
30 | 37 |
|
... | ... | |
252 | 259 |
} |
253 | 260 |
} else { |
254 | 261 |
i = 0; |
255 |
unquant_even: |
|
262 |
// unquant_even:
|
|
256 | 263 |
quant_matrix = s->non_intra_matrix; |
257 | 264 |
/* Align on 4 elements boundary */ |
258 | 265 |
while(i&7) |
... | ... | |
411 | 418 |
} |
412 | 419 |
} |
413 | 420 |
|
421 |
static volatile int esp_temp; |
|
422 |
|
|
423 |
void unused_var_warning_killer(){ |
|
424 |
esp_temp++; |
|
425 |
} |
|
426 |
|
|
427 |
#undef HAVE_MMX2 |
|
428 |
#define RENAME(a) a ## _MMX |
|
429 |
#include "mpegvideo_mmx_template.c" |
|
430 |
|
|
431 |
#define HAVE_MMX2 |
|
432 |
#undef RENAME |
|
433 |
#define RENAME(a) a ## _MMX2 |
|
434 |
#include "mpegvideo_mmx_template.c" |
|
414 | 435 |
|
415 | 436 |
void MPV_common_init_mmx(MpegEncContext *s) |
416 | 437 |
{ |
... | ... | |
421 | 442 |
s->dct_unquantize = dct_unquantize_mpeg1_mmx; |
422 | 443 |
|
423 | 444 |
draw_edges = draw_edges_mmx; |
445 |
|
|
446 |
if(mm_flags & MM_MMXEXT){ |
|
447 |
dct_quantize= dct_quantize_MMX2; |
|
448 |
}else{ |
|
449 |
dct_quantize= dct_quantize_MMX; |
|
450 |
} |
|
424 | 451 |
} |
425 | 452 |
} |
Also available in: Unified diff