[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OpenDivX] libdecore for BeOS
going by a cvs update as of a few minutes ago, the only thing needed to be
changed for this to work within the BeOS is to add a variant of the function
clearblock() in mp4_block.c and to use non-mmx code (BeOS uses GCC and it's
inline is AT&T syntax).
For the clearblock() code, you could use the Linux code, but here is an
inline asm variant of it in AT&T syntax:
#ifdef __BEOS__
static inline void clearblock (short *psblock) {
asm ("
movl $-16, %%edx
movl %0, %%esi
pxor %%mm0, %%mm0
0:
movq %%mm0, (%%esi)
add $8, %%esi
inc %%edx
jnz 0b
emms"
: /* no outputs */
: "g" (psblock)
: "edx", "esi"
);
}
/*
static __inline void clearblock(short * psblock)
{
int i;
for (i = 0; i < 64; i++) {
psblock[i] = 0;
}
}
*/
#endif // __BEOS__
I just converted the WIN32 inline asm over to AT&T syntax, this should prolly
work for Linux as well.
Jonathan Tarbox
note: my involvement in this is personal, has nothing to do with Be, Inc.
_______________________________________________
OpenDivX mailing list
[email protected]
http://lists.projectmayo.com/mailman/listinfo/opendivx
Reply To Poster
Local References / HOW-TO / FAQs