Thank you. This would project the Sam460 at around 583s for the Big_Buck_Bunny decode. So maybe 720p playback will be possible. We await an actual Sam460 benchmark to see.
I have not yet setup a build system for none altivec version, as I have mostly been developing and trying out stuff, anyway I do it as soon as the drivers are out.
I think the speed will be simular to using a R9250 card in PCI to PCIe adapter, maybe a bit faster as we are using DRI, and this skips some YUV conversion.
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
I think will be need only a flexible player "like source forge media player classic" and good decoders optimized ..
This was one of my experiments ...the original configuration of the machine was with a 9000pro and was not possible have the result you will see in the video linked.
I can confirm with VLC or other players was the result was not like this. all the decoding thank you to good codecs was made all by the video board gpu.
Do we really have no people who are experienced with using altivec? I know that not all CPUs have it,** but it can definitely make a big difference to heavy processing tasks.
I've personally only used it to accelerate RAM <=> VRAM copies, so I certainly wouldn't consider myself an expert.
Hans
** The lack of altivec in so many PowerPC CPUs is something that has always annoyed me. I wish that it had become either a compulsary part of the standard, or at least become commonplace to include.
I've been reading up a bit on AltiVec for possibly optimising the ZMBV encoder for the next SRec version but I'm certainly no expert. I also don't have a CPU with AltiVec so I'm going to have to rely on other people for testing.
Since X86 SIMD version is optimized wouldn't it be possible to write a tool that convert X86 SIMD to Altivec/Velocity engine code so no need to write specific code for PPC. It maybe not optimal but maybe better than stuff written by non expert.
edit2 Since the XBOX360 and Gamecube/WII/WIU do have PPC processors I wouldn't be surprised (since some have been hacked) that their multimedia player (Xmplayer? others?) are optimzed and maybe uses altivec. Expert on the field are console or PPC Mac programmers. (maybe some ppc games where the source code has been released do have such player)
"My rate is 30,00 EUR/hour +VAT 23% (where applicable). For a quote, please contact me at.." Since the guy is experienced I suppose that he work faster so price should be lower. A bounty might be worth it in the end.
i dont know how much important will have altivec optimized decoder , hope it in case will help only x1000 , but the x1000 have the opportunity for use the gpu for fast video decoding operations . for the oldest machine altivec will not help too much for go up 720p (in optimistic way) in any way there is vlc for macppc probably in it source you will have the key for use the altivec in video decoding.
i dont know how much important will have altivec optimized decoder , hope it in case will help only x1000
A1XE G4 has altivec as well, X1000 is not alone with that. Also very much hoping for the PPC Lpatop to become real, which claims to target 64bit and altivec enabled CPU, though that does seem a bit early to call real just yet. From what they have said so far, it matches closely with how I'd make an Amiga laptop, so I at least think they are on a realistic path, if they continue the journey to the end of that path...
I would not choose to make a PPC board for Amiga users without Altivec at this point, and I don't understand why others do. (I suppose it's related to demand from other markets, familiarity with 4xx or other particular chips by the hardware designers, maybe cost but I would consider that less important than other things)
If Qemu had altivec, then WinUAE-PPC would have it too, and perhaps that's a reason to add it. Or adding Articia+686b to Qemu proper would be a better reason to add altivec to Qemu...
i dont know how much important will have altivec optimized decoder , hope it in case will help only x1000 , but the x1000 have the opportunity for use the gpu for fast video decoding operations .
There's a lot of work that must be done before we can uss the graphics card's built-in decoder, so don't expect that any time soon.
Quote:
in any way there is vlc for macppc probably in it source you will have the key for use the altivec in video decoding.
If you read the first post in this thread, you'll see that I've already looked at the ffmpeg (and VLC) code, and noticed that only a few operations in the H.264 codec are altivec accelerated. The x86 & ARM versions take advantage of their respective vector instructions for more operations.
That's the whole reason for this thread.
@Kamelito Quote:
Since X86 SIMD version is optimized wouldn't it be possible to write a tool that convert X86 SIMD to Altivec/Velocity engine code so no need to write specific code for PPC. It maybe not optimal but maybe better than stuff written by non expert.
I have no idea how similar/different SSE & altivec are. In any case, creating such a converter would take more time than writing the altivec code manually.
Quote:
"My rate is 30,00 EUR/hour +VAT 23% (where applicable). For a quote, please contact me at.." Since the guy is experienced I suppose that he work faster so price should be lower. A bounty might be worth it in the end.
Perhaps, if there are enough people who would want to contribute. However, if we're going to be spending a sizable amount of money, then it would be worth getting the code profiled first, so that we know how much of a difference creating altivec optimized versions of more functions could make.
I know good the Xe and peggy2 had altivec inside i had this two machine. But dont expect miracles with altivec instructions for the video decoding. you will increase about 5fps max in the best way for this machine because all the cpu power is really limited and the worst is cant be upgraded by new video boards. For understand if you know some guy who have a macmini ppc with a cpu less than 1.42 ghz (xe and peggy are in the best 1.2ghz) ask him to open VLC on MacOSx and run an Mkv 720p and up and let him explain the result.
For emulations have altivec instruction emulated will means use more cpu power from the cpu host with decreasing of guest cpu performance. For emulation the best way for have powerful speed will be have a direct access to host gfx card thru a driver designed for this job.
the solution is Qemu - kvm + passthru and a 9200 real video board used by the emulator.
@Hans
Oky , for sure the other cpu classes took advance using this instructions but on my G5 if example i turn on altivec on Quake3 i will increase the timedemo results with only 2 fps.
I would not choose to make a PPC board for Amiga users without Altivec at this point, and I don't understand why others do. (I suppose it's related to demand from other markets, familiarity with 4xx or other particular chips by the hardware designers, maybe cost but I would consider that less important than other things)
Pricing and availability of altivec PowerPC CPUs are probably the driving factor in those choices.
@tlosm
Quote:
Oky , for sure the other cpu classes took advance using this instructions but on my G5 if example i turn on altivec on Quake3 i will increase the timedemo results with only 2 fps.
Sorry, but those results are pretty-much irrelevant for two reasons: - I have no idea how much altivec is used in Quake3 - A game engine like Quake 3's CPU and RAM bandwidth usage is different from a video codec. Not all operations benefit from SIMD (like altivec), and SIMD doesn't help if the RAM bandwidth is the bottleneck. So, it's a bad idea to use game engine benchmarks to guess/estimate what a video codec might be able to do.
What I can tell you is that video codec operations like DCT and other image-processing are ideal candidates for vector operations. I can't say how much the speed up would be, but I think that it's worth looking into.
I've been reading up a bit on AltiVec for possibly optimising the ZMBV encoder for the next SRec version but I'm certainly no expert. I also don't have a CPU with AltiVec so I'm going to have to rely on other people for testing.
That's very brave of you to try using altivec without having the hardware. I personally wouldn't have the patience to rely on other people testing.
It's a pity that we don't have a library to emulate altivec instructions, so that you can at least test to see that you get the right results.
the macosx version of mplayer dont make me made a benchmark if was possible i can gave you some number with it . With lame i have a big improvment in rendering 25x with Altivec , 11x without but we are speaking about a 970MP cpu with 2.5 ghz speed and 13gb/s performance on Altivec Altivec on small g4 cpu the result will be not like this like i wrote before im pretty sure will be 2/3 fps increment for the video decoding better will be on X1000 but not more than 5/6 fps. Lame on X1000 6x with altivec 11x probably with special optimization for P6at you will have on lame altivec improvemnts to 2x 4x more.
This why i thinking will be better concentrate the energy for a video decoding in GPU just for gave improvments to all the actual machine 460,x1000 and next x5000. i know will need time when (if) Gallium finally will be release everything will change ;)
Edited by tlosm on 2014/11/9 11:46:53 Edited by tlosm on 2014/11/9 12:08:09 Edited by tlosm on 2014/11/9 12:11:04 Edited by tlosm on 2014/11/9 12:11:48
... Altivec on small g4 cpu the result will be not like this like i wrote before im pretty sure will be 2/3 fps increment for the video decoding better will be on X1000 but not more than 5/6 fps. ...
Please stop throwing out claims like this. You have no idea how much scope there is for performance improvement through using altivec.
Incidentally, 6 fps would be enough to push the prometheus trailer (that everybody seems to be using as a benchmark) from 18 fps to its full playback speed of 24 fps...
Quote:
This why i thinking will be better concentrate the energy for a video decoding in GPU just for gave improvments to all the actual machine 460,x1000 and next x5000. i know will need time when (if) Gallium finally will be release everything will change ;)
Stop nagging! I have already told you that there HW decoding is a long way off. We can't even get started until we have Gallium. The altivec enhancements would be nice in the interim.
@all It looks like we're not getting anywhere with this. Clearly, there is nobody knowledgeable about altivec here who wants to take a look, and I see little enthusiasm for funding the guy behind freevec.org (at 30 Euros/hr, it would add up quickly). I definitely don't have time to work on it, which is why I started this thread. So, it's probably time to let this thread slide into oblivion.
I could be willing to donate some euros for such a project. Maybe ask him about the project? If he thinks there is a possibility of improving it, and an estimate of time on the project?