David Liontooth may (or may not) have said:
Hi Mike,
All right, it sounds like you know what you're doing!
I see from the transcode-devel list that you had some advice on how to get this working (or not quite) back in November; could you give us an update?
To be honest I haven't worked on it for a while. I think something like 85% of it compiles now. I have no idea if it will work though, I could be off by one in the assmebly somewhere as it will ruin the video. I read all the background on the transforms being done and the math is not trivial to say the least. (Made me dig up all my matrix learning from school again.) x86_64 uses a completely different (and actually easier) way of dealing with -fPIC code, you reference everything relative to the %rip register. Regular 32bit x86 code figures the reloc's out itself, but we have to specifically tell it how to find the data its looking for. The stuff that catches you out straight away is the push/pop instructions, you can't do 32 bit stack values, you have to change the registers to their 64bit counterparts, i.e. rax instead of eax. If you're interested in this I'd recommend downloading the chipset dev docs from amd's site, you can get the pdf's for free. If anyone wants to play, I've put up the source tree that I was working on: http://siasl.dyndns.org/projects/xvid/xvid_20031115_x86_64.tgz Be careful playing with configure, I had to manually change some of the files to make it work. And you'll need to grab a copy of yasm too. To be honest, I'd use the 32 bit binaries for now, the machine is fast enough. Mike