Mercurial > libavcodec.hg
comparison x86/vp8dsp.asm @ 12413:e6e4059ea421 libavcodec
Mark xmm registers as clobbered in simple loopfilter. Should fix the last
two VP8-related fate failures on Win64.
author | rbultje |
---|---|
date | Tue, 24 Aug 2010 16:52:27 +0000 |
parents | 4f13b2ded34d |
children | 2982071047a2 |
comparison
equal
deleted
inserted
replaced
12412:b31e6ace12f6 | 12413:e6e4059ea421 |
---|---|
1468 %macro SPLATB_REG_SSSE3 3 | 1468 %macro SPLATB_REG_SSSE3 3 |
1469 movd %1, %2 | 1469 movd %1, %2 |
1470 pshufb %1, %3 | 1470 pshufb %1, %3 |
1471 %endmacro | 1471 %endmacro |
1472 | 1472 |
1473 %macro SIMPLE_LOOPFILTER 3 | 1473 %macro SIMPLE_LOOPFILTER 4 |
1474 cglobal vp8_%2_loop_filter_simple_%1, 3, %3 | 1474 cglobal vp8_%2_loop_filter_simple_%1, 3, %3, %4 |
1475 %if mmsize == 8 ; mmx/mmxext | 1475 %if mmsize == 8 ; mmx/mmxext |
1476 mov r3, 2 | 1476 mov r3, 2 |
1477 %endif | 1477 %endif |
1478 %ifnidn %1, sse2 | 1478 %ifnidn %1, sse2 |
1479 %if mmsize == 16 | 1479 %if mmsize == 16 |
1610 %endif | 1610 %endif |
1611 %endmacro | 1611 %endmacro |
1612 | 1612 |
1613 INIT_MMX | 1613 INIT_MMX |
1614 %define SPLATB_REG SPLATB_REG_MMX | 1614 %define SPLATB_REG SPLATB_REG_MMX |
1615 SIMPLE_LOOPFILTER mmx, v, 4 | 1615 SIMPLE_LOOPFILTER mmx, v, 4, 0 |
1616 SIMPLE_LOOPFILTER mmx, h, 5 | 1616 SIMPLE_LOOPFILTER mmx, h, 5, 0 |
1617 %define SPLATB_REG SPLATB_REG_MMXEXT | 1617 %define SPLATB_REG SPLATB_REG_MMXEXT |
1618 SIMPLE_LOOPFILTER mmxext, v, 4 | 1618 SIMPLE_LOOPFILTER mmxext, v, 4, 0 |
1619 SIMPLE_LOOPFILTER mmxext, h, 5 | 1619 SIMPLE_LOOPFILTER mmxext, h, 5, 0 |
1620 INIT_XMM | 1620 INIT_XMM |
1621 %define SPLATB_REG SPLATB_REG_SSE2 | 1621 %define SPLATB_REG SPLATB_REG_SSE2 |
1622 %define WRITE_8W WRITE_8W_SSE2 | 1622 %define WRITE_8W WRITE_8W_SSE2 |
1623 SIMPLE_LOOPFILTER sse2, v, 3 | 1623 SIMPLE_LOOPFILTER sse2, v, 3, 8 |
1624 SIMPLE_LOOPFILTER sse2, h, 5 | 1624 SIMPLE_LOOPFILTER sse2, h, 5, 8 |
1625 %define SPLATB_REG SPLATB_REG_SSSE3 | 1625 %define SPLATB_REG SPLATB_REG_SSSE3 |
1626 SIMPLE_LOOPFILTER ssse3, v, 3 | 1626 SIMPLE_LOOPFILTER ssse3, v, 3, 8 |
1627 SIMPLE_LOOPFILTER ssse3, h, 5 | 1627 SIMPLE_LOOPFILTER ssse3, h, 5, 8 |
1628 %define WRITE_8W WRITE_8W_SSE4 | 1628 %define WRITE_8W WRITE_8W_SSE4 |
1629 SIMPLE_LOOPFILTER sse4, h, 5 | 1629 SIMPLE_LOOPFILTER sse4, h, 5, 8 |
1630 | 1630 |
1631 ;----------------------------------------------------------------------------- | 1631 ;----------------------------------------------------------------------------- |
1632 ; void vp8_h/v_loop_filter<size>_inner_<opt>(uint8_t *dst, [uint8_t *v,] int stride, | 1632 ; void vp8_h/v_loop_filter<size>_inner_<opt>(uint8_t *dst, [uint8_t *v,] int stride, |
1633 ; int flimE, int flimI, int hev_thr); | 1633 ; int flimE, int flimI, int hev_thr); |
1634 ;----------------------------------------------------------------------------- | 1634 ;----------------------------------------------------------------------------- |