[FFmpeg-devel] [PATCH] SPARC VIS simple_idct try #2

Michael Niedermayer michaelni
Wed Aug 22 04:15:48 CEST 2007


Hi

On Wed, Aug 22, 2007 at 03:47:52AM +0200, Michael Niedermayer wrote:
[...]
> [...]
> > +#define IDCT4ROWS(in, shift, label, s1, s2, bi, ma) \
> > +    /* order input */\
> > +        "ld [" in "], %%f0           \n\t"\
> > +        "ld [" in "+4], %%f4         \n\t"\
> > +        "ld [" in "+8], %%f8         \n\t"\
> > +        "ld [" in "+12], %%f12       \n\t"\
> > +        "ld [" in "+16], %%f1        \n\t"\
> > +        "ld [" in "+4+16], %%f5      \n\t"\
> > +        "ld [" in "+8+16], %%f9      \n\t"\
> > +        "ld [" in "+12+16], %%f13    \n\t"\
> > +        "ld [" in "+32], %%f2        \n\t"\
> > +        "ld [" in "+4+32], %%f6      \n\t"\
> > +        "ld [" in "+8+32], %%f10     \n\t"\
> > +        "ld [" in "+12+32], %%f14    \n\t"\
> > +        "ld [" in "+48], %%f3        \n\t"\
> > +        "ld [" in "+4+48], %%f7      \n\t"\
> > +        "ld [" in "+8+48], %%f11     \n\t"\
> > +        "ld [" in "+12+48], %%f15    \n\t"\
> > +        "ldd [%0], %%f60             \n\t"\
> > +        "ldd [%0" ma "], %%f62       \n\t"\
> > +        "fzero %%f30                 \n\t"\
> > +        "wr %%g0," s1 ", %%gsr       \n\t"\
> > +        label "1:                    \n\t"\
> > +        "fand %%f0,%%f60, %%f32      \n\t"\
> > +        "fand %%f2,%%f60, %%f34      \n\t"\
> > +        "fand %%f4,%%f60, %%f36      \n\t"\
> > +        "fand %%f6,%%f60, %%f38      \n\t"\
> > +        "fand %%f8,%%f60, %%f40      \n\t"\
> > +        "fand %%f10,%%f60, %%f42     \n\t"\
> > +        "fand %%f12,%%f60, %%f44     \n\t"\
> > +        "fand %%f14,%%f60, %%f46     \n\t"\
> > +        "fand %%f0,%%f62, %%f48      \n\t"\
> > +        "fand %%f2,%%f62, %%f50      \n\t"\
> > +        "fand %%f4,%%f62, %%f52      \n\t"\
> > +        "fand %%f6,%%f62, %%f54      \n\t"\
> > +        "fand %%f8,%%f62, %%f56      \n\t"\
> > +        "fand %%f10,%%f62, %%f58     \n\t"\
> > +        "fand %%f12,%%f62, %%f60     \n\t"\
> > +        "fand %%f14,%%f62, %%f62     \n\t"\
> > +        "fpackfix %%f32, %%f0        \n\t"\
> > +        "fpackfix %%f34, %%f1        \n\t"\
> > +        "fpackfix %%f36, %%f4        \n\t"\
> > +        "fpackfix %%f38, %%f5        \n\t"\
> > +        "fpackfix %%f40, %%f8        \n\t"\
> > +        "fpackfix %%f42, %%f9        \n\t"\
> > +        "fpackfix %%f44, %%f12       \n\t"\
> > +        "fpackfix %%f46, %%f13       \n\t"\
> 
> well i dont know sparc asm at all but dont you read a few things in at the top
> and then just overwrite these registers
> 
> also you permute the input explicitly instead of setting idct_permutation_type
> properly
> 
> please dont sumbit trash

speaking of trash ...
do you know a sparc instruction reference which is not trash
i mean what i found describes how fpackfix packs 2 32bit values into
2 16bit values and then at some other point says fpackfix packs 4 16bit
values
so depending on what the instruction really does my comment about overwriting
the register could be nonsense

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070822/25db71cb/attachment.pgp>



More information about the ffmpeg-devel mailing list