Log in

View Full Version : PS3 & 360 Compatibility Settings


horrormaster34
5th February 2012, 02:44
I want to encode some videos so that they are compatible for the PS3 and 360. I've Googled for this multiple times, but it usually just comes up with different program profiles. The only thing that seems to remain constant is L4.1 or L3.1 are necessary. Past that, I have no idea what else is needed to not break compatibility.

Atak_Snajpera
5th February 2012, 12:31
use level 4.0 and x264 default settings

nibus
6th February 2012, 02:57
Put this in the command line:

--vbv-bufsize 24000 --vbv-maxrate 24000

I haven't tested anything over 720p, but make sure your reference frames don't exceed DXVA compatibility:

1280x720: 9 frames
1280x532: 12 frames
1920x1080: 4 frames
1920x800: 5 frames

For 576p and under (1024x576) you should be able to use all 16 frames if you want, but I'd probably stick to 10 to be safe.

But as Atak said, just stick to 4.0 and it will take care of these settings for you.

horrormaster34
6th February 2012, 06:40
So sticking to something like levels @ 3.1, -vbv-bufsize 14000, --vbv-maxrate 14000, and ref frames 6 would allow for play on Xbox 360 & PS3?

Also, any limit on maximum B-Frames? I usually just set it to 16 and let the encoder decide how many it should use in a row.

sneaker_ger
6th February 2012, 06:52
I haven't tested anything over 720p, but make sure your reference frames don't exceed DXVA compatibility

Please stop calling it "DXVA compatibility", because DXVA has little to do with it. Modern systems can play 16 ref @ 1080p just fine using DXVA.
It's a restriction to the level 4.1 as defined in the h.264 standard.

So sticking to something like levels @ 3.1, -vbv-bufsize 14000, --vbv-maxrate 14000, and ref frames 6 would allow for play on Xbox 360 & PS3?

Read nibus' post again. The number of ref frames you are allowed to use is resolution depended. 6 is too much for 1080p. If you set "--level 4.1" and DON'T set "--ref", x264 will automatically make sure that you don't use too much refs.

Also, any limit on maximum B-Frames? I usually just set it to 16 and let the encoder decide how many it should use in a row.

No limit, but 16 is a waste of time on almost everything. Stick to the presets + tunings.

benwaggoner
7th February 2012, 22:36
So sticking to something like levels @ 3.1, -vbv-bufsize 14000, --vbv-maxrate 14000, and ref frames 6 would allow for play on Xbox 360 & PS3?
That certainly should be safe. The documented maxrate for Xbox 360 is 10 Mbps, but in practice seems quite a bit better for real-world encodes. 720p60 at Level 3.2 and 1080p24 at Level 4.0 have worked fine for me.

The 360 uses an interesting hybrid CPU/GPU decoder, so it's more like a software decoder in terms of perf behavior than an ASIC or GPU decoder. So it's more sensitive to things like lots of extra reference frames and high peak bitrates. Bear in mind that it's only got 512 MB of RAM, and 16 refs at 1920x1080 is nearly 50 MB of buffered YV12 samples.

PS3 can do Level 5.0 1080p60, IIRC. The Cell processor may have been a disappointment for games, but it is a media processing powerhouse!

Also, any limit on maximum B-Frames? I usually just set it to 16 and let the encoder decide how many it should use in a row.
I've not had any problems using up to 5 B-frames on the 360 at 1080p24 myself. More than that (and probably that) is going to be placebo in most cases.

spawnbsd
7th February 2012, 23:09
PS3 can do Level 5.0 1080p60, IIRC. The Cell processor may have been a disappointment for games, but it is a media processing powerhouse!

I've not had any problems using up to 5 B-frames on the 360 at 1080p24 myself. More than that (and probably that) is going to be placebo in most cases.

Where have you seen this ? My PS3 with latest software update, won't even play 5 reference frames at 1920x1080p24 (which is beyond L4.1 compliance). Using 4 ref frames, and up to 16 consecutive bframes, I don't have any playback problems though.

For 1080p60 to work, it requires using L4.2 with 4 slices.

kypec
8th February 2012, 15:48
Where have you seen this ? My PS3 with latest software update, won't even play 5 reference frames at 1920x1080p24 (which is beyond L4.1 compliance). Using 4 ref frames, and up to 16 consecutive bframes, I don't have any playback problems though.

For 1080p60 to work, it requires using L4.2 with 4 slices.
You've misread benwaggoner's post: Ref-frames (which are limited by H.264 Profile/Level) are not B-frames (up to 16 must be always supported IIRC but it's almost worthless to go above 5 in real life use)

spawnbsd
8th February 2012, 23:14
You've misread benwaggoner's post: Ref-frames (which are limited by H.264 Profile/Level) are not B-frames (up to 16 must be always supported IIRC but it's almost worthless to go above 5 in real life use)

No, you misread my post. Ben said the PS3 is L5 compliant, which implies its capable of more than 4 reference frames at 1080p; which testing indicates it's not.

I only mentioned b-frames as horrormaster34 asked about it, in an earlier post.

nm
8th February 2012, 23:20
No, you misread my post. Ben said the PS3 is L5 compliant, which implies its capable of more than 4 reference frames at 1080p; which testing indicates it's not.

Have you tried encoding with more references but flagging it as L4.1? I recall that it checks the flag and refuses to even try anything higher, while the decoder can handle more references just fine.

spawnbsd
8th February 2012, 23:24
Have you tried encoding with more references but flagging it as L4.1? I recall that it checks the flag and refuses to even try anything higher, while the decoder can handle more references just fine.

I have previously, but not in any recent software version. I'll have to try an L5.1 encode with more than 4 ref frames.

CruNcher
9th February 2012, 15:27
Have you tried encoding with more references but flagging it as L4.1? I recall that it checks the flag and refuses to even try anything higher, while the decoder can handle more references just fine.

You can never be sure about that as the decision is dynamic you need to analyze it the most craziest thing people can do is just setting ref frames to 16 and expect it will play everywhere and only because it worked on 1 scene with that setting says nothing about the entire encode and then be so crazy and even change the bitstream to something lower wont help it will play it back but error out anyways when it comes to this see DXVA just pretending you encode it with lower ref frames makes it only playable for software Hardware that generally doesn't accept out of Spec files but in the End you don't know what you getting. And as benwaggoner said to high ref frames are most times placebo and the only thing you gonna see are decoding errors not better quality :(
And once you created that file its over even if it plays on the PS3 you never can't be sure it will play on any other Device or on a lot of other Devices correctly anymore it is a Zombie Encode ;)

nm
9th February 2012, 15:42
You can never be sure about that as the decision is dynamic you need to analyze it the most craziest thing people can do is just setting ref frames to 16 and expect it will play everywhere and only because it worked on 1 scene with that setting says nothing about the entire encode

Yep. Without analysis, you'll need to watch the video through (and maybe another one too).

just pretending you encode it with lower ref frames makes it only playable for software Hardware that generally doesn't accept out of Spec files

PS3 has a software decoder.

And once you created that file its over even if it plays on the PS3 you never can't be sure it will play on any other Device

Sure, but we were just discussing PS3's H.264-decoding capabilities here.

benwaggoner
11th February 2012, 23:35
No, you misread my post. Ben said the PS3 is L5 compliant, which implies its capable of more than 4 reference frames at 1080p; which testing indicates it's not.
I didn't mean that it was complaint with any arbitrary Level 5.0 stream, but that some Level 5.0 streams work. Including the rarely-seen-in-a-CE-device 1080p60.

I've not done deep experimentation with it beyond validating it works. It's not surprising that they have a hard limit for max reference frames as the PS3 has 256 MB of RAM available to the Cell processor (I don't think that the GPU memory can be used in video decoding this way).

Weird how today's leading game consoles have less RAM than a medium-end smartphone these days :). By the time the PS4 ships, there will be tablets with more GPU and (non-SPE) CPU power than the PS3, and maybe smartphones too