Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th October 2010, 19:44   #1  |  Link
pwnsweet
Registered User
 
Join Date: Nov 2008
Posts: 100
[REQUEST] x264 encoder homebrew app for the PS3

To start, I'm really not sure if this is the right place to post this request. If it's not, I really do apologize. I've posted this same thread in various PS3-related forums across the internet to try and grab the attention of a PS3 homebrew dev but hardly any PS3 devs have x264 encoding experience so I figured I'd try and go for an x264 dev with some PS3 experience instead.

Now that the PS3 has been hacked and homebrew can be made for it, I was hoping a developer might be able to make an x264 encoder app for the PS3.

I got the idea after reading about Fixstars' (now defunct) H.264 PS3 encoder. The only reason it is now defunct is because it relied on OtherOS support which was removed in the PS3's 3.21 firmware. While it was working, however, it worked great thanks to the power of the Cell and proved to be faster than a core i7 920 whilst also producing high quality video output (not as good as x264 though!).

Fixstars now provides the Linux source code for the software which you can find at the link above, so maybe with a little tweaking it can be run as a homebrew app. Either way, if a dev could look into it it I think it could be the start of something great.
pwnsweet is offline   Reply With Quote
Old 30th October 2010, 19:57   #2  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by pwnsweet View Post
While it was working, however, it worked great thanks to the power of the Cell and proved to be faster than a core i7 920)
No, it wasn't. It was way, way, way slower than x264 on a core i7 with similar settings. Sure, if you put x264 on slow settings and it on fast settings, it was faster -- but that's hardly a surprise.

The Cell is a pretty slow CPU. It takes roughly 2.5 cores (out of 8) to do realtime 1080p H.264 decoding with a highly optimized decoder. A fast i7 can do that with about ~0.4 cores (out of 4 or 6).
Dark Shikari is offline   Reply With Quote
Old 30th October 2010, 20:23   #3  |  Link
pwnsweet
Registered User
 
Join Date: Nov 2008
Posts: 100
My apologies if my statement is incorrect, I was just regurgitating information from Fixstars' press release where they compare the encoding speed of the Cell vs the i7 965 EE (which is faster than a 920).

According to them, the Cell was pushing 29FPS and the i7 965 EE was doing 18FPS. Apparently the settings were the same and they were using H.264 not x264. Again, apologies for any confusion. With regards to quality, it appears this topic has already been discussed fairly in-depth here.

Nevertheless, I can't see how my original request could be anything but a good thing, even if the i920 or i965 EE or whatever is faster. Not everyone, myself included, has access to a high performance desktop for video encoding.

Last edited by pwnsweet; 30th October 2010 at 20:27.
pwnsweet is offline   Reply With Quote
Old 30th October 2010, 20:27   #4  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by pwnsweet View Post
My apologies if my statement is incorrect, I was just regurgitating information from Fixstars' press release where they compare the encoding speed of the Cell vs the i7 965 EE (which is faster than a 920).

According to them, the Cell was pushing 29FPS and the i7 965 EE was doing 18FPS.
18fps is ridiculously slow; I get more than that with a single core of my 1.6Ghz i7 laptop.

Quote:
Originally Posted by pwnsweet View Post
Apparently the settings were the same and they were using H.264 not x264
This sentence makes no sense whatsoever, and has roughly equivalent meaning to "I'm driving a road to work, not a Honda!" H.264 encoders are cars. H.264 is the road. x264 is a Honda. Just like you can't drive a road to work, you can't "use H.264" to encode video.

Last edited by Dark Shikari; 30th October 2010 at 20:31.
Dark Shikari is offline   Reply With Quote
Old 30th October 2010, 20:53   #5  |  Link
pwnsweet
Registered User
 
Join Date: Nov 2008
Posts: 100
Quote:
Originally Posted by Dark Shikari View Post
H.264 encoders are cars. H.264 is the road. x264 is a Honda. Just like you can't drive a road to work, you can't "use H.264" to encode video.
I did not know that. I've dabbled in video encoding a little in the past and never quite understood how 'x264' and 'H.264' were related. So going by that statement, is it reasonable to say "I used x264 to encode a video"?

Your argument has raised doubt about the Codecsys software, so I've gone and done some more research on the topic. Digital Foundry (a site I frequent) actually did an article on the software and have also pointed out it's flaws. According to them, quality isn't so great after all.

So maybe tweaking the source code of Codecsys to run on the PS3 as a homebrew app isn't such a great idea. In that case, maybe somebody can make a new app from scratch, one that doesn't use any of Codecsys' encoder but instead uses an encoder built from scratch to utilize the Cell with high quality video output as the top priority. Even if, as you say, it's not as fast as an i7 surely it'll be faster than the typical dual core found in a lot of laptops/tablets (encoding on my SL9400 takes forever!).

Last edited by pwnsweet; 30th October 2010 at 20:57.
pwnsweet is offline   Reply With Quote
Old 30th October 2010, 21:06   #6  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by pwnsweet View Post
I did not know that. I've dabbled in video encoding a little in the past and never quite understood how 'x264' and 'H.264' were related. So going by that statement, is it reasonable to say "I used x264 to encode a video"?
Yes, x264 is a software program (an encoder) that produces H.264 video.

Quote:
Originally Posted by pwnsweet View Post
So maybe tweaking the source code of Codecsys to run on the PS3 as a homebrew app isn't such a great idea. In that case, maybe somebody can make a new app from scratch, one that doesn't use any of Codecsys' encoder but instead uses an encoder built from scratch to utilize the Cell with high quality video output as the top priority. Even if, as you say, it's not as fast as an i7 surely it'll be faster than the typical dual core found in a lot of laptops/tablets (encoding on my SL9400 takes forever!).
The problem with the Cell is its unique architecture. It has one main CPU core, which is incredibly slow and weak, and a bunch of mini-cores which are built for vector operations. They can only get data via DMA. To write an app for this you pretty much have to design it from the ground up for the Cell and only the Cell. Doing so is difficult enough that it added millions of dollars to the development cost of many PS3 games.

With the Cell basically now a dead architecture, I don't see a reason to do this for new applications.
Dark Shikari is offline   Reply With Quote
Old 30th October 2010, 21:20   #7  |  Link
pwnsweet
Registered User
 
Join Date: Nov 2008
Posts: 100
Understood. Well, I guess I'll give up trying to get somebody to write an x264 encoder for the PS3 then...

If the PS3 is out of the question, what about the Xbox 360? Do you know much about its CPU? Like the PS3 it's also been hacked and as far as I know it's CPU is far more similar to a desktop CPU, utilizing a PowerPC-based triple-core with SMT.
pwnsweet is offline   Reply With Quote
Old 30th October 2010, 21:44   #8  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by pwnsweet View Post
Understood. Well, I guess I'll give up trying to get somebody to write an x264 encoder for the PS3 then...

If the PS3 is out of the question, what about the Xbox 360? Do you know much about its CPU? Like the PS3 it's also been hacked and as far as I know it's CPU is far more similar to a desktop CPU, utilizing a PowerPC-based triple-core with SMT.
The Xbox 360 is a PowerPC core. However, there are the following problems:

1. If you thought the Cell was slow -- hah, that's nothing! The Xbox 360 is really really really slow. So slow, in fact, that Microsoft was unable to write an H.264 decoder using only the CPU; even using all three cores, it still couldn't do 1080p in realtime. Even with the GPU added in (e.g. combined CPU/GPU decoding, which is what they did for HD-DVD), it still can't decode Blu-ray reliably.

I suspect one core of a laptop Core i7 laptop on low-power battery mode is competitive with the entire Xbox 360.

2. The PowerPC in the Xbox doesn't actually use Altivec; it uses some weird Microsoft bastardization of it. Which you can't get docs for unless you sign a boatload of restrictive agreements -- which would certainly be restrictive enough to be incompatible with x264.

3. The CPU has no barrel shifter; a single integer shift takes like a dozen cycles. What the hell, Microsoft? Seriously!?!
Dark Shikari is offline   Reply With Quote
Old 31st October 2010, 02:19   #9  |  Link
pwnsweet
Registered User
 
Join Date: Nov 2008
Posts: 100
Well, thanks for all the info Dark Shikari and congratz on 8000 posts. Looks like I'll be building an i7 rig in the coming months after all.

Last edited by pwnsweet; 31st October 2010 at 02:22.
pwnsweet is offline   Reply With Quote
Reply

Tags
codecsys, fixstars, homebrew, ps3, x264

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.