View Full Version : VC-1 WMV Playback on Xbox 360


easy2Bcheesy
3rd November 2006, 17:48
Hi there,

As you may know, Microsoft made the brilliant move of allowing WMV playback of all flavours to run on Xbox 360. This includes VC-1.

I'm trying to get the best possible 720p/60 playback from VC-1 material on the Xbox 360 and I'm finding that with challenging material, playback is disappointing even when throwing 15mbps at the encode.

The same files look lovely on my Core 2 laptop, but I see far more artefacts and frame drops on the 360.

Does any one have any encoding tips for challenging material?

CruNcher
3rd November 2006, 23:57
hmm maybe atis hardware acceleration (inside the XboX 360) has problems with your streams or maybe just buffer (try to play with buffer settings) problems, interessting indeed i myself have no Xbox 360 as im waiting for the PS3 to arrive first.
You should read this and the buffer sugestions for the VC-1 Standard and HD-DVD what you are aiming for on the Xbox 360 as it officialy supports it in the future http://forum.doom9.org/showthread.php?t=114928

easy2Bcheesy
4th November 2006, 10:29
I used Sagittaire's HD DVD profile for Microsoft Media Encoder Studio Edition Beta 1, taken from here (http://forum.doom9.org/showpost.php?p=893416&postcount=283) and adapted it simply to encode a 720p/59.94fps stream.

I get perhaps 0.5 seconds of playback on the Xbox 360 before the video completely freezes.

I have found that upping the buffer considerably (up to 3000ms) seems to sort out a lot of the freezing issues, and using a peak VBR encode and keeping the average to 12.5mbps with a peak of 20mbps produces very acceptable results. Now I will see about lowering the average bitrate and seeing how low I can go.

zambelli
4th November 2006, 12:20
As you may know, Microsoft made the brilliant move of allowing WMV playback of all flavours to run on Xbox 360. This includes VC-1.
You know WMV9 is VC-1, right? :)

I'm trying to get the best possible 720p/60 playback from VC-1 material on the Xbox 360 and I'm finding that with challenging material, playback is disappointing even when throwing 15mbps at the encode.
720p/60 playback is pretty challenging in general. Are you playing these files from HDD or DVD?

Sagittaire
4th November 2006, 12:52
try this protocol:

1) Install Windows Media Encoder 9
http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx

2) Install Windows Medio Player 11
http://www.microsoft.com/windows/windowsmedia/player/11/default.aspx
or better extract and install wmfdist11.exe from wmp11.exe

3) Update WMCmd.vbs file in C:\Program Files\Windows Media Components\Encoder directory
http://www.citizeninsomniac.com/WMV/WMCmd_20060825.zip

4) Make bat files and encoding in batch mode with this command line:

cscript.exe wmcmd.vbs -input HDDVD.avs -output VC1-10Mbps.wmv -videoonly -v_codec WVC1 -v_profile AP -v_mode 4 -v_bitrate 10000000 -v_peakbitrate 19600000 -v_peakbuffer 80 -v_keydist 1 -v_performance 60 -v_bframedist 2 -v_loopfilter 1 -v_mmatch 0 -v_mslevel 1 -v_msrange 0 -v_median 0 -v_framerate 60


I don't know the optical specification for xbox 360 (DVD 1X, 2X , 4X or more ... ???) and the buffer specification (DVD buffer or HDDVD buffer ... ???) but the previous profil will done good quality result and certainely high compatibility stream with xbox 360.

easy2Bcheesy
4th November 2006, 13:19
You know WMV9 is VC-1, right? :)

I sometimes get confused with all the different versions, but yes I'm aware that VC-1 is a part of WMV.

720p/60 playback is pretty challenging in general. Are you playing these files from HDD or DVD?

I'm playing from a USB flash drive, although I would want to distribute these files on DVD.

I will try Sagittaire's recommended course of action. Although I thought I was doing well before with peak rate VBR, I tried another 720p/59.94 video and it performed terribly.

Right now, unbelievably, I am getting smoother playback and superior picture quality using Windows Media Encoder and main profile. That just can't be right.

Inventive Software
4th November 2006, 13:42
Directly from a flash drive is a bad idea, cause the transfer rate is never constant. Transfer to a hard disk, then try streaming it.

easy2Bcheesy
4th November 2006, 14:24
I tried Sagittaire's script and the file looks nice on my laptop, but does freeze here and there. On the 360, picture quality, to begin with (and this is just a black screen with a logo!!) looks absolutely dire and then it simply locks up when the action starts.

Something is definitely amiss here. The VC1 encode looks very close to the CineForm HD original on my notebook. On my 360, quite apart from the dropped frames, there's artefacting all over the place - it's as though it's not decoding the file properly. There is no such artefacting on PC.

I'm going to try streaming the files directly from WMP11 to see if that makes any difference. Then I'll do some comparison shots for you all, and perhaps upload some small WMVs.

As I said, right now main profile encodes from Media Encoder are miles better than what I'm getting from VC1.

Sagittaire
4th November 2006, 15:30
I tried Sagittaire's script and the file looks nice on my laptop, but does freeze here and there. On the 360, picture quality, to begin with (and this is just a black screen with a logo!!) looks absolutely dire and then it simply locks up when the action starts.

Something is definitely amiss here. The VC1 encode looks transparent to the CineForm HD original on my notebook. On my 360, quite apart from the dropped frames, there's artefacting all over the place - it's as though it's not decoding the file properly. There is no such artefacting on PC.

I'm going to try streaming the files directly from WMP11 to see if that makes any difference. Then I'll do some comparison shots for you all, and perhaps upload some small WMVs.

As I said, right now main profile encodes from Media Encoder are miles better than what I'm getting from VC1.

perhaps profil/level limitation:
- Xbox is compatible with SP, MP or AP ... ???
- functionality limitation like inloop, motion vector range, bframe number or GOP ... ???

try this: VC1 MP@HL (in fact old WMV9-HD profil) without inloop and bframe.

cscript.exe wmcmd.vbs -input HDDVD.avs -output VC1-10Mbps.wmv -videoonly -v_codec WMV9 -v_profile MP -v_mode 4 -v_bitrate 10000000 -v_peakbitrate 19600000 -v_peakbuffer 80 -v_keydist 1 -v_performance 60 -v_bframedist 0 -v_loopfilter 0 -v_mmatch 0 -v_mslevel 1 -v_msrange 1 -v_median 0 -v_framerate 60

and try setting improuvement ...

motion vectors range: -v_msrange 1, 2, 3, 4 and finaly 4
inloop: -v_loopfilter 1
bframe number: -v_bframedist 1 and 2
buffer: -v_peakbuffer 80, 160, 240, 320, 400, 480, 560, 540 and finaly 720
profil: -v_codec WVC1 -v_profile AP

use usb flash drive is really not a good idea for make these test ...

CruNcher
4th November 2006, 15:45
ahhh indeed your problems would make sense, because Microsoft and ATI announced that the codec (Hardware most probably) for HD-DVD playback would be inside the external HD-DVD drive so the XboX internaly seems not to be HD-DVD ready but testing this from a usb flash device hmm better would be the internal HDD.

easy2Bcheesy
4th November 2006, 16:18
It's all beginning to make more sense. In Windows Media Encoder Studio Edition if I select B frames, or any of the other niceties it simply freezes and the video itself, when it does play, is of dire quality.

The only way I can get VC1 encodes to work is by turning off all of those options, upping the buffer size considerably, and making the bitrate rather extreme too.

As I mentioned earlier, doing a Windows Media Encoder session at 59.94fps *at the same bitrate* produces a far smoother image with much better picture quality. But it's still nowhere near 60fps.

With regards using a flash drive, it's the only option I have as my USB hard disk doesn't work with the 360 and the internal drive is inaccessible to the user.

In terms of the VC1 decoding being done by hardware, based on this performance it makes sense, although the only press release I saw only seemed to be talking about H.264 decoding being done by the ATI part. Everywhere else I read said that VC1 was already incorporated into the MCE extender. And even then, it's not actually hardware within the HD DVD add-on doing the decoding - it's the Xenos GPU in the 360. So for whatever reason, assuming I am right, whatever HD DVD code that has been added to the 360 in the new update isn't being used to make any of the other media player functions any better. This is rather disappointing.

As it is, the WMV playback element incorporated into the 360 is now a bit of a disappointment, and smooth 720p/60 playback appears to be impossible. Even relatively simple clips encoded at 60fps in the Main Profile drop frames.

easy2Bcheesy
4th November 2006, 17:07
Here are a couple of clips for people to play with. As they are peak VBR clips and there's not much footage to distribute the bitrate around, quality isn't amazing.

720p/60 Footage (adapted from Sagittaire's first script so it will actually play on the 360): http://rapidshare.com/files/1966350/Xbox_Test.wmv.html

720p/60 Footage as per Sagittaire's script, which doesn't work: http://rapidshare.com/files/1968874/Xbox_Test2.wmv.html

If any one wants the CineForm HD AVI, it's 147mb and you'll need to download one of the trial products from www.cineform.com for the decoder (which is free and can be kept when you uninstall the trial).

Part One: http://rapidshare.com/files/1985702/xbox_clip.part1.rar.html
Part Two: http://rapidshare.com/files/1993053/xbox_clip.part2.rar.html

arfster
4th November 2006, 17:52
I'm trying to get the best possible 720p/60 playback from VC-1 material on the Xbox 360 and I'm finding that with challenging material, ......

Is it genuine 60fps material, or just frame repeated? Anything shot on film originally will be 24fps repeated in 3232 pattern, so you can throw away 60% of the frames and get exactly the same video output. If it's a bandwidth issue inside the xbox's video decoder, 24fps is going to be an awful lot easier to deal with than 60fps.

easy2Bcheesy
4th November 2006, 18:27
It is genuine 60fps material.

CruNcher
4th November 2006, 18:28
easy2bchessy could you try the alan wake trailer on your XboX 360 thx :)

you find it here http://download.remedygames.com/movies/alanwake_720p60_51_15mbps.wmv

im almost sure this conforms to the power of the Xbox 360 as this Video was done by Microsoft Studio and for sure also for Distro on the XboX Live Services and it is VC-1.
So i would say that 720p above 15 Mbit 60p is not gonna work on the XboX 360 but it seems enough normal 720p content needs arround 7-8 Mbit so this is double the Bitrate for double the fps seems logic.

easy2Bcheesy
4th November 2006, 19:27
Hi there,

I don't think the 720p/60 version is downloadable from Xbox Live. All videos there are 720p/30.

However, I did download from the link you provided and surprisingly it runs fairly well. Quality is identical between this video and on my PC so maybe VC1 is indeed supported? However, while the picture quality is perfectly intact, it is still dropping a noticeable amount of frames.

I'd love to know what profile they are using.

Bathrone
5th November 2006, 00:50
MS always seem to make it hard. They released some "info" on what the new dashboard update added and it wasnt detailed enough to address the questions in this thread, and it was plain wrong in other areas such as them saving WMVP isnt supported when in fact it is supported in vista media centre extender situations.

Why can't MS give us clarity. Afterall since they see fit to force us into WMV and their codecs for many situations like XP SP2 WMP11 streaming you'd think they would atleast assist that happening.

zambelli
5th November 2006, 23:17
I sometimes get confused with all the different versions, but yes I'm aware that VC-1 is a part of WMV.
No, VC-1 is not a subset of WMV. WMV9 is an implementation of VC-1, just like x264 is an implementation of MPEG-4 AVC. So there is no special VC-1 decoder that needs to be added to the Xbox in order to play WMV9 MP or AP videos. WMV9 is VC-1. The only WMV9 profiles ruled uncompliant with VC-1 are the Complex Profile and the old 4:1:1 interlaced mode, but those are extremely rare.

That said, the VC-1 decoder that comes with the HD-DVD addon might indeed be a different decoder, but that'd be due to the specific ecosystem of the unit. I'll see if I can find the Microsoft tester who tested WMV9/VC-1 decoding in the Xbox and I'll try to find out what the requirements for smooth 720p/60 playback are.

lexor
6th November 2006, 04:40
hmmm.... a thread asking what's best and bond didn't strike author? is he tied up in your basement easy2b? I mean that's the only explanation for him not being on you like white on rice :)

easy2Bcheesy
6th November 2006, 06:46
There is a difference between asking for what is best (which is something entirely subjective) and requesting encoding assistance for making something actually work the way it should. Right now I am unable to get properly working 720p/60 playback using a Microsoft codec on a Microsoft piece of hardware. I'm sure this is allowable discussion? :confused:

Zambelli, thanks for your kind offer.

Stebet
6th November 2006, 18:41
What users need now is a proper (no, WME with all its issues is not proper i.m.o) transcoding tool from Microsoft to really take advantage of the WMV playback the 360 has to offer. A program similar to Nero's Recode would of course be ideal (or if Nero Recode could recode to WMV9).

Also, do note that as of now the 360 WMV decoder does not properly display pictures with custom pixel ratios (as in not 1:1). It is a known issue though and i hope it'll be fixed soonish.

Sagittaire
6th November 2006, 21:10
What users need now is a proper (no, WME with all its issues is not proper i.m.o) transcoding tool from Microsoft to really take advantage of the WMV playback the 360 has to offer. A program similar to Nero's Recode would of course be ideal (or if Nero Recode could recode to WMV9).
soonish.

Zambelli is the official MS tester for VC1 implementation from WME9/WMP11 ... I think that he know VC1 very well ... lol

There are simply limitation for Xbox 360 like SAP profil for MPEG4 ASP (special vbv, no GMC, no Qpel). If you want really know the profil then you make test with different setting. It's really simple ...

Stebet
6th November 2006, 22:09
Zambelli is the official MS tester for VC1 implementation from WME9/WMP11 ... I think that he know VC1 very well ... lol

There are simply limitation for Xbox 360 like SAP profil for MPEG4 ASP (special vbv, no GMC, no Qpel). If you want really know the profil then you make test with different setting. It's really simple ...

Hmm.. i wasn't aware that i said anything to contradict Zambelli :P

I just knew about the Pixer Ratio limitation which b.t.w is just an issue when streaming through WMP11's UPnP server. It works perfectly fine when the 360 is used as a XP/Vista Media Center Extender so i presume it'll be fixed or at least the same codec will be used as is used in the Vista Media Center Extender (using two separate codecs on the 360 to do the same thing would seem rather odd).

About testing different settings, sure i could do that, but should i really have to? MS are marketing the 360 as this awesome media hub (which it is) but we don't have any tools to really take proper advantage of it. This is what i mean when i talk about a propert transcoding tool (or a new version of WME) being needed. I'm sure MS must have something planned?

B.t.w, have i understood correctly from previous threads that the WMV9 AP codec is still in beta form? If so, shouldn't we be getting a final version pretty soon now that Vista is about to RTM?

A lot of questions that maybe didn't all belong here but i hope Zambelli or someone from MS can shed a little light on some of them :)

zambelli
6th November 2006, 23:16
This is what i mean when i talk about a propert transcoding tool (or a new version of WME) being needed. I'm sure MS must have something planned?
I agree that an update to WME9 would be in order, but unfortunately this is a resourcing issue. The product has been dormant for years and pulling people from other projects to go work on it doesn't rank high in priority at the moment.
Fortunately, Microsoft has invested a lot into building a whole SDK for WMV/WMA authoring over the years. The APIs exist - there's nothing stopping 3rd parties or independent developers from writing transcoding tools which use the existing codec DMOs.

B.t.w, have i understood correctly from previous threads that the WMV9 AP codec is still in beta form? If so, shouldn't we be getting a final version pretty soon now that Vista is about to RTM?
Final version for XP just got released last week with WMP11. Vista will contain pretty much the same versions of codecs.
The beta WMV9 AP codec download is still up there because it installs on Server 2003 systems, whereas WMP11 doesn't. If you install WMP11, you don't need the beta download, of course (and it'll refuse to install on top of WMP11).

Stebet
7th November 2006, 00:00
Thx for the answers Zambelli. Greatly appreciated.

B.t.w i'm aware that making a new encoder/tool would demand resources which would propably have to be taken from other projects. Guess i'm just hoping that now when Vista is about to RTM and Office has already RTM'd as well as WMP11 that some resources in the Windows Media department might become available for a project like this. That would certainly rank high on my wishlist ;)

Regarding the API's and SDK's i certainly would try to make such a tool if i had the time. Who knows, maybe some time will free up.

halim
7th November 2006, 00:08
I will dig up whatever restrictions/guidelines applicable to the scenario you are attempting to encode.

Any special features in the material you have, i.e. flashes, intensive scene-changes.....etc.

Stay tuned.

Cheers.

zambelli
7th November 2006, 00:17
Hey everyone,
Halim is a fellow tester here at Microsoft who has experience with Xbox WMV decoder testing. I'm more of a Windows guy. :) We will try to get some data for you on what it takes to achieve smooth 720p/60 playback on the 360.

veffremov
7th November 2006, 00:37
Sorry to dissapoint you all, but the WMV decoder in the dashboard is using only one HW thread and is not capable of decoding the high bitrates HD-DVD supports.

Try to limit the bitrates to 6-8MBps with 10-12MBps peak and it should be smooth.

The HD-DVD addon has separate versions of the WMV decoder, which is optimized for that scenario.

~Venelin

CruNcher
7th November 2006, 02:42
The HD-DVD addon has separate versions of the WMV decoder, which is optimized for that scenario.

is this gonna update the entire dashboard code too, so also "average joey's" can take advantage of it or will it be restricted to HD-DVD Playback ??
and if yes will be there a free version so "average joey's" don't have to buy the HD-DVD pack and take advantage of the faster decoder anyway ?? (somehow i feel you gonna answer this with "no they won't be a free decoder you have to buy the HD-DVD pack, but then you will be able to use the new (faster) decoder also for your "average joey's" stuff")

veffremov
7th November 2006, 03:01
is this gonna update the entire dashboard code too, so also "average joey's" can take advantage of it or will it be restricted to HD-DVD Playback ?
...


Sorry, the HD-DVD addon has different version of the decoder and will not update the dash. The HD-DVD decoder is optimized for VC-1 AP only, while the dash is backwards compatible with WMV7,8 PhotoStory etc.

May be in the future both will merge, but no promises.

Bathrone
7th November 2006, 06:21
Thanks alot Halim I look foward to your reports.

We want to use the 360 for video but are quite confused about what is supported. Microsoft released some info the xbox blog but it was not very specific and was wrong in some situations - e.g. WMVP is possible over Media Centre Extender on Vista Ultimate RC2.

Apart from specific profiles and details for what the 360 will do, could you also please state what the media centre extender with the 360 will do as well under streaming?

And on the audio side, what audio codecs are is supported and the profile details with that. The same again please, for the 360 is standalone mode, and then the 360 in streaming mode under media centre extender on Vista.

Thanks :)

Bathrone
7th November 2006, 06:22
Sorry, the HD-DVD addon has different version of the decoder and will not update the dash. The HD-DVD decoder is optimized for VC-1 AP only, while the dash is backwards compatible with WMV7,8 PhotoStory etc.

May be in the future both will merge, but no promises.


What about mpeg2 and AVC, this is also within HD-DVD.

easy2Bcheesy
7th November 2006, 07:15
veffremov: the HD DVD addon may well use a different version of the decoder, but the code that runs it is still in the same dashboard update. It does seem puzzling that two VC-1 decoders would be in the same codebase. Why not simply kick in the VC-1 decoder when VC-1 content is found?

Halim: I'm attempting to run game footage on the 360. I've posted samples earlier in the thread. This does present interesting encoding problems in that it's 60fps, very sharp and has an infinite depth of field. However, right now I can't get any 60fps HD DVD compliant content to work at all. And when I adjust the profile to make it work, I find the picture quality uniformly disappointing and get better performance from the bog-standard Main Profile.

idbirch2
7th November 2006, 10:45
I am also trying to playback some WMV9 VC-1 content on my 360 but have run into a few problems. I am converting a BBC Planet Earth episode which is encoded in H264 MBAFF. The first few tests looked OK but were jumping/skipping in places (always the same places I think). The last test I did resulted in "Your Media Center Extender is unable to play this high definition content, refer to your Extender documentation etc".

I encoded using 2-pass unconstrained VBR, 2ch audio, no interlacing. End result looks great on the PC but will not play on the 360, giving the error above. Is this a bitrate issue? What is the maximum bitrate for WMV AP that the 360 can playback?

veffremov
7th November 2006, 11:37
veffremov: the HD DVD addon may well use a different version of the decoder, but the code that runs it is still in the same dashboard update. It does seem puzzling that two VC-1 decoders would be in the same codebase. Why not simply kick in the VC-1 decoder when VC-1 content is found?


That is actually incorrect. The HD-DVD software is not in the dashboard. It arives with the drive and stays with the drive.

veffremov
7th November 2006, 11:52
We want to use the 360 for video but are quite confused about what is supported...

VC-1 Simple, Main and Advanced profile for 720p up to 60 fps for bitrates 6-8MBps. 1080p 24fps same bitrates (loop filter off).

Do not use display size != encoded size.

Anything above may or may not work - there are no hard limits and it is certainly content dependent. The only limit is the CPU performance.

Media center extender uses more or less the same decoder, so it supports the same profiles. However there are some system level differences and some features like non square pixels work in MCX and do not in the dash.

PhotoStory 1,2 and 3 is supported in the MCX - I don't have hard limits on the video size, but 800x600 should work fine.

Audio WMA Standard up to 320 kbps, WMA Pro up to 7.1@768kbps, WMA Lossless. (This is only when the audio is bundled with a video track).

As you get agressive in audio it eats from the video decode cycles, so you may want to lower the video settings if you want Lossless 5.1.

Hope this answers your questions.

veffremov
7th November 2006, 11:56
I encoded using 2-pass unconstrained VBR, 2ch audio, no interlacing.

Unconstrained VBR is a bad idea as the bitrate may spike quite a bit and you will get frame drops. You should use peak contrained VPR with peak around 12-15Mbps.

Also avoid excessive buffer size as it also may result in high bitrate peaks.

veffremov
7th November 2006, 12:02
I'm attempting to run game footage on the 360. I've posted samples earlier in the thread. This does present interesting encoding problems in that it's 60fps, very sharp and has an infinite depth of field. However, right now I can't get any 60fps HD DVD compliant content to work at all.

The dash player does not support HD-DVD compliant content, so no luck there. Why not try to encode @30fps - granted the motion will not be that smooth, but you can use more bits per pixel.

Sagittaire
7th November 2006, 12:51
Why not a HDDVD structure on simple DVD9 for XboX 360 ... ???

Bathrone
7th November 2006, 13:04
Veffremov thankyou for the information

EDIT: Sagittaire I tried to burn a valid HD-DVD disc containing MPEG2 HD test patterns but my 360 wouldnt play it on its dvd drive - and yes it has the latest fall update dash revision. I thought it mike work since getting the fall update cos it will was just DVD-R not Hd-DVD, but Veffremov is right it did not detect the HD-DVD format on the DVD-R disc.

veffremov
7th November 2006, 13:14
Why not a HDDVD structure on simple DVD9 for XboX 360 ... ???

This works fine if you buy the HD-DVD addon.

idbirch2
7th November 2006, 13:31
Unconstrained VBR is a bad idea as the bitrate may spike quite a bit and you will get frame drops. You should use peak contrained VPR with peak around 12-15Mbps.

Also avoid excessive buffer size as it also may result in high bitrate peaks.
Thanks for the tips, I will try another test encode with the settings you have suggested.

So does anyone have any proper figures on exactly what the 360 can play back WMV-wise? Also, shouldn't we have an xbox 360 profile for WMV encoding so that we can guarantee our output is 360 compliant? Maybe I should rephrase that - we should have a 360 profile for WMV encoding. If MS want people to move over to their less popular codecs, it needs to be easier to achieve usable results.

Bathrone
7th November 2006, 13:33
Do not use display size != encoded size.

Would you mind please expanding on this point.

Bathrone
7th November 2006, 13:34
This works fine if you buy the HD-DVD addon.

Does it have to be plugged in or is it just first use then your right? Thanks

easy2Bcheesy
7th November 2006, 13:53
veffremov: 30fps will be OK in many instances where the source is actually running at 30fps. However, many games run at 60fps and in this case, I am doing the games a disservice by running at half the refresh rate.

This is why the dashboard update to the 360 excited me - having access to a real HD standard on a consumer level device would be great for my line of work.

The good news is that I am now getting smooth 60fps movement following your advice. Indeed, I have upped the profile to 10mbps/15mbps peak and it's still running at 60fps. Picture quality is sometimes fine, but mostly unacceptable.

I am sure I will benefit from the bandwidth advantages that moving to AP will give on 30fps content but it is cold comfort, somewhat.

A few more questions:

- Are there any tricks I could use to lower bandwidth? How about the DVCPRO-HD technique of encoding at 960x720, but scaling horizontally at playback? Does the player support this or will it have the same issues as the 1440x1080 content out there not working properly?
- Are there any other CPU-saving tips, eg switching to a CBR profile?
- on the 360, is there any way to get a user-defined thumbnail on WMV content rather than the basic movie cel icon?

CruNcher
7th November 2006, 18:09
thx veffremov for the inside info on the decoding power of the (plain) Xbox 360 without addon, so now it will be easy peasy to compare with the PS3 once it's out (video demos of the multimedia stuff really looked nice) and no restrictions as Sony claimed as in other products also sounds like a buyer for me :). Just only one question you said the faster decoding will "come with the drive and go with the drive" does that mean it's a hardware codec inside the drive that does the HD-DVD VC-1/H.264 decoding ? i don't understand from a technical standpoint why the dashboard shouldn't be able to use that, @ the moment this sound's like plain consumer restrictions to me nothing more.

easy2Bcheesy
7th November 2006, 18:44
With regards AVC, Microsoft has to pay royalties when it is used. Therefore, they are limiting it to those who have paid for the HD DVD unit.

It will be interesting to see what limitations Sony puts on its AVC decoding - knowing Sony I can't imagine them giving you the keys to BD quality movie playback. I'm particularly interested in finding out whether AVCHD files will work on it.

CruNcher
7th November 2006, 18:54
easy2Bcheasy yes but they also limiting their own VC-1 users that's a difference and i agree i couldn't belive it when i heared Sony won't apply any restrictions this time as they for example did with the PSP for obviously reasons (selling UMD) but i belive that something @ the top of Sony is changing in those regards and i feel with the PS3 this could be the start of the new "Sony Era" :) (at least i hope), we gonna see soon.

Sharktooth
7th November 2006, 19:10
Those behemot like companies think they're the "king of the hill" and have their own way of doing things. They will never change their mind.
It's like hoping MS will remove the absurd license restrictions on Vista... or remove DRM from WMP...

veffremov
7th November 2006, 19:14
Would you mind please expanding on this point.

VC-1 AP has a feature, where the codec pictures are smaller size then the display size. Similar to non suqre pixels, but works to resize in both directions: vertical and horizontal.

For example you may encode 1920x1080 content as 1280x720, but set the display size to 1920x1080 - the decoder will resize internally to the display size.

The feature is designed for TV Broadcast scenarios, not terribly usefull for offline encoding.

Anyway we have a big perf hit if that feature is used. I hope we can adress this in feature updates.

veffremov
7th November 2006, 19:15
Does it have to be plugged in or is it just first use then your right? Thanks

Yes it needs to be plugged ina and you need to insert the disk in the HD-DVD addon. It will not play HD-DVD data format media from the internal DVD drive.

easy2Bcheesy
7th November 2006, 19:22
I notice that the Xbox Live Marketplace will have full downloads of HD movies and TV shows. You'll be able to download the Matrix and Superman Returns for example.

I'm assuming that these will be 720p/24 VC-1 files which should be interesting from an encoding point of view.

veffremov
7th November 2006, 19:27
Just only one question you said the faster decoding will "come with the drive and go with the drive" does that mean it's a hardware codec inside the drive that does the HD-DVD VC-1/H.264 decoding ? i don't understand from a technical standpoint why the dashboard shouldn't be able to use that, @ the moment this sound's like plain consumer restrictions to me nothing more.

I would like to appologize for the confusion this has caused to the community of WMV enthusiasts.

While this is certainly a restriction today, it was not done deliberately, but for pure technical reasons. As I said before I hope we could address this in future updates of the flash, but I can not give you a guarantee that will happen.

We know what the problem is, we have an idea how to solve it, there was just not enough time to do it for this update.

For sure being vocal on these issues matter to the people in charge, so keep the requests comming.

Thanks,
Venelin

PS: there is no HW decoder in the HD-DVD addon. The software to support HD-DVD playback comes with the drive and is somewhat tied with the device. That is the extend of the techncical details I'm willing to share on that issue.

easy2Bcheesy
7th November 2006, 19:28
Those behemot like companies think they're the "king of the hill" and have their own way of doing things. They will never change their mind.
It's like hoping MS will remove the absurd license restrictions on Vista... or remove DRM from WMP...

In fairness, competition definitely helps. We have a native 1080p output on Xbox 360 because of competition and this must surely be the reason we can run WMV content of our own in the first place. If (and it's a big if) Sony do allow unrestricted AVC playback it will be because of the same reason.

I am disappointed that the full VC1 implementation is not included on Xbox 360 (especially as the work is done for HD DVD playback) but I imagine that I'm in a tiny percentage of people who would even dream of trying 720p/60 in the first place.

veffremov
7th November 2006, 19:46
I am disappointed that the full VC1 implementation is not included on Xbox 360 (especially as the work is done for HD DVD playback)..

I would like to clear a confusion here which starts some speculations in the wrong direction.

HD-DVD playback requires a restricted VC-1 decoder and this is what has been implemented and optimized for the HD-DVD addon.

A fully compliant VC-1 decoder is delivered in the dash player, however the perf is not as good.

I think the reasons are obvious: in the HD-DVD scenario you have restricted/compliant content, in the dash the content is user created so we must support all VC-1 features.

veffremov
7th November 2006, 19:56
I realized I may have misled some of you to believe that purchasing the HD-DVD addon will somehow enable the dash player to play VC-1 files with higher bitrates. That is not the case.

The HD-DVD addon is for playback of DVD and HD-DVD disks only. If you can create a HD-DVD formated disk on either DVD9 or HD-DVD media the addon and the associated software will play it. That is about all it does.

easy2Bcheesy
7th November 2006, 20:11
Many thanks for all your info and clarification, it's been very useful.

Bathrone
7th November 2006, 23:43
Yes many thanks Veffremov. With your information we can start doing good WMV encodes and enjoy that on the 360.

I might be stretching my luck with this question, but hypotehtically if an ICT enfroced HD-DVD was inserted into the HD-DVD add on, does the player respect the ICT and reduce the resolution given it is over vga/component?

zambelli
8th November 2006, 01:06
First of all, I'd like to thank Venelin for taking the time to clarify all the confusion surrounding WMV9/VC-1 playback on the 360. :)

I wanted to throw in one more detail about HD-DVD support in both Xbox 360 and Vista Premium/Ultimate. A lot of people assume that just because decoders for MPEG-2, H.264 and VC-1 exist, they they will be able to leverage those decoders for playback of their MPEG, MP4 and WMV files. Well, not so fast. A lot of the HD-DVD decoders (and not just the ones made by Microsoft, but by other companies) are targetted at HD-DVD playback and nothing else. They could be restricted to specific profiles as mandated by the HD-DVD spec. Furtermore, a decoder alone isn't enough to read an MP4 file or a MPEG-2 PS file - you still need parsers and splitters and all that good stuff. So bottom line: as HD-DVD software solutions become more prominent in the months to come, don't always assume that an advertisement of HD-DVD support extends to anything beyond HD-DVD playback. We take it for granted today that Nvidia's PureVideo decoder handles ATSC decoding as well as DVD decoding, but remember that with HD-DVD/BluRay we're still in the infancy stages - so that kind of extensive support might still be a long way away.

I am sure I will benefit from the bandwidth advantages that moving to AP will give on 30fps content but it is cold comfort, somewhat.
Keep in mind that switching from Main Profile to Advanced Profile is not enough to increase quality. Quality is subject to encoder efficiency, not profile level. The differences between profiles - in any codec - are in the feature set and decoder complexity. It is implied that AP content is more difficult to decode than MP content - that's the whole point of having profiles defined to start with.

What exactly does AP bring as an advantage over MP? Take a look the feature tables at http://en.wikipedia.org/wiki/VC-1 and http://forum.doom9.org/showthread.php?t=112634. AP's most important features are:
Interlaced encoding support
Chroma and luma range reduction
Coded resolution != Display resolution
Bitstream level metadata
So as you can see, none of that really affects quality. Microsoft's latest version of the WMV9 (WMV3/WVC1) encoder is v11, now available for download with the v11 Player and WMF SDK. If you use this encoder to encode to either Main Profile or Advanced Profile, you ought to be able to get the same quality for both because most of the quality-related optimizations (i.e. B-frames, inloop filtering, perceptual optimization, etc.) apply to both MP and AP.

So don't feel like you have to encode to AP just because it's there. If MP is more appropriate for your scenario, then go with that instead.

easy2Bcheesy
8th November 2006, 06:29
This is all really valuable info - many thanks for taking the time to look into this issue for us :)

Gunhed
10th November 2006, 13:16
ehm, wrong post. my fault. sorry

Valeron
12th November 2006, 02:51
a 3 core PowerPC machine(with great vector unit built-in, tons of vector register files....according to hardware details you provide) running at 3.2GHz can't decode 720p content smoothly?

do any of you guys write the decoder with Java?

Sagittaire
12th November 2006, 12:48
a 3 core PowerPC machine(with great vector unit built-in, tons of vector register files....according to hardware details you provide) running at 3.2GHz can't decode 720p content smoothly?

do any of you guys write the decoder with Java?

well in fact 720p60 use certainely same CPU charge than 1080p30 (1280*720*60 ~ 1920*1080*30)

Valeron
12th November 2006, 13:05
well in fact 720p60 use certainely same CPU charge than 1080p30 (1280*720*60 ~ 1920*1080*30)

it's not that kind of case such a great horse power built-in system can't handle, imo.
well, someone had ever told me the performance of the chip in xbox 360 is just identical to the P3 733, now i believe......

popper
12th November 2006, 13:21
VC-1 Simple, Main and Advanced profile for 720p up to 60 fps for bitrates 6-8MBps. 1080p 24fps same bitrates (loop filter off).

Do not use display size != encoded size.

Anything above may or may not work - there are no hard limits and it is certainly content dependent. The only limit is the CPU performance.

Media center extender uses more or less the same decoder, so it supports the same profiles. However there are some system level differences and some features like non square pixels work in MCX and do not in the dash.

PhotoStory 1,2 and 3 is supported in the MCX - I don't have hard limits on the video size, but 800x600 should work fine.

Audio WMA Standard up to 320 kbps, WMA Pro up to 7.1@768kbps, WMA Lossless. (This is only when the audio is bundled with a video track).

As you get agressive in audio it eats from the video decode cycles, so you may want to lower the video settings if you want Lossless 5.1.

Hope this answers your questions.

looking at your No.'s it would appear that the codec has not yet been made to take advantage of the AltiVec vector Unit ?,or infact even use it at all,is that correct, if that is the case, is there any timeline when this AltiVec optimiseing might happen and become available?.

also, am i to assume that the UK version with its pal 50/25 can be pushed to the better bitrate, if so what.

also it seems rather odd that zambelli etc tells us that to compare VC-1 to AVC at lower bitrates isnt the right thing to do ,we should always compare at the higher bitrate.

so the question seems to be, is your 'for bitrates 6-8MBps' the ball park figure we should be using for our general testing or the MAX settings for both when testing?.... :cool:

more of a question for the readers but now that we have the likes of the bbc/sky HD streams is anyone really going to use 720p/i today for anything other than perhaps some special projects, and if so is it better to assume everyone will be trying to use/using 1080p/i for most 360 streaming ? and so that is our benchmark?.

Valeron
12th November 2006, 14:12
well, the xenon(chip in xbox 360) embrace 2 register files every core, there's 128x128bit stuff in one files. totally 6 group of this files for 6 parellely VMX128(enhanced AltiVec imo) units. in contrast, A64 and Core has only total 16 vector register
the VMX128 units can issue SIMD instructions in 4~14 clock cycle latency

all the info above is from IBM's xenon intro on it's official site.

do any of you think such a chip can't decode 720p VC-1 content?

perhaps...... this chip is good on paper but very bad for real application like Cyrix.....(i still remember GOW is image wise by far the best game i've seen)

popper
12th November 2006, 15:02
VC-1 AP has a feature, where the codec pictures are smaller size then the display size. Similar to non suqre pixels, but works to resize in both directions: vertical and horizontal.

For example you may encode 1920x1080 content as 1280x720, but set the display size to 1920x1080 - the decoder will resize internally to the display size.

The feature is designed for TV Broadcast scenarios, not terribly usefull for offline encoding.

Anyway we have a big perf hit if that feature is used. I hope we can adress this in feature updates.

interesting, thanks.

it sounds like the current 360 codec is CPU bound and not using the offload capabilitys of the GFX chip at the moment, or as above, the Altivec.

is this intentional or a 'feature' to be looked at later after yesturdays PS3 launch tests hit doom9 threads ;)

popper
12th November 2006, 16:49
I would like to clear a confusion here which starts some speculations in the wrong direction.

{DRM Restricted commercial}HD-DVD playback requires a restricted VC-1 decoder and this is what has been implemented and optimized for the HD-DVD addon.

A fully compliant VC-1 decoder is delivered in the dash player, however the perf is not as good.

I think the reasons are obvious: in the HD-DVD scenario you {want/}have {UN}restricted/compliant {[HD]}content, in the dash the content is user created so we must support all VC-1 features.

of course you do realise that the people on this very board are more likely to encode their user created content to a far higher standard than your average HD-DVD just because they can.

anyone done some super HD encodes yet LOL, just because the displays arnt around just yet doesnt mean doom9'ers havent tryed... stereo HD video being a very good example and we know thats being worked on right now.

they are looking to use their next kit to its full potential, if as your trying to tell us that the standard XB360 cant play these users files, or cant play them unless you buy the add-on as a requirement (is it even available yet?) then theres a problem right there.

what of all the old user content everyone here has, such as the Mpeg-4 part 2 and part 10 content,lots of these files are unrestricted and intentionally so , your telling them they cant play their files because their locked out of that ability and PERHAPS it might be fixed or it MIGHT NOT.

we know full well how powerful the chips are, super-HD not a problem, so its a software problem/fix/feature that might get fixed sometime.

it just doesnt seem like a very good way to get people this cristmas to buy and advocating the machine as [U]the must have living room content player, and so that means its games all the way with the ODD video now and then, arr well, time to look at the next machine on the list that can play what the user wants to play, unrestricted HD user created content..... with a few commercial HD-DVD's/BR now and then..., welcome to the wonderful world of [HD]IPTV my friends, it might not be using the MS OS of choice though, try YellowDog5 instead perhaps.

red:is me

popper
13th November 2006, 11:26
First of all, I'd like to thank Venelin for taking the time to clarify all the confusion surrounding WMV9/VC-1 playback on the 360. :)

I wanted to throw in one more detail about HD-DVD support in both Xbox 360 and Vista Premium/Ultimate. A lot of people assume that just because decoders for MPEG-2, H.264 and VC-1 exist, they they will be able to leverage those decoders for playback of their MPEG, MP4 and WMV files. Well, not so fast. A lot of the HD-DVD decoders (and not just the ones made by Microsoft, but by other companies) are targetted at HD-DVD playback and nothing else. They could be restricted to specific profiles as mandated by the HD-DVD spec. Furtermore, a decoder alone isn't enough to read an MP4 file or a MPEG-2 PS file - you still need parsers and splitters and all that good stuff. So bottom line: as HD-DVD software solutions become more prominent in the months to come, don't always assume that an advertisement of HD-DVD support extends to anything beyond HD-DVD playback. We take it for granted today that Nvidia's PureVideo decoder handles ATSC decoding as well as DVD decoding, but remember that with HD-DVD/BluRay we're still in the infancy stages - so that kind of extensive support might still be a long way away.


Keep in mind that switching from Main Profile to Advanced Profile is not enough to increase quality. Quality is subject to encoder efficiency, not profile level. The differences between profiles - in any codec - are in the feature set and decoder complexity. It is implied that AP content is more difficult to decode than MP content - that's the whole point of having profiles defined to start with.

What exactly does AP bring as an advantage over MP? Take a look the feature tables at http://en.wikipedia.org/wiki/VC-1 and http://forum.doom9.org/showthread.php?t=112634. AP's most important features are:
Interlaced encoding support
Chroma and luma range reduction
Coded resolution != Display resolution
Bitstream level metadata
So as you can see, none of that really affects quality. Microsoft's latest version of the WMV9 (WMV3/WVC1) encoder is v11, now available for download with the v11 Player and WMF SDK. If you use this encoder to encode to either Main Profile or Advanced Profile, you ought to be able to get the same quality for both because most of the quality-related optimizations (i.e. B-frames, inloop filtering, perceptual optimization, etc.) apply to both MP and AP.

So don't feel like you have to encode to AP just because it's there. If MP is more appropriate for your scenario, then go with that instead.

zambelli, thank you , very useful info as always.

perhaps im just being slow this morning but when you say 'HD-DVD support' your refering to the actual media as apposed to a HD-DVD compatible encoded file, it seems if we cant place our HD-DVD compatible files on to this media we cant play it on 360, even from the internal Hard drive or the network?.

one interesting point (although unless theres a way to got it on there and running its unusable i suppose),is that ffmpeg since version 0.4.7: had AltiVec optimizations (by Magnus Damn and others).
http://ffmpeg.mplayerhq.hu/changelog.html
VC-1/WMV3/WMV9 video decoder is in there too, wmv3 is also altivec optimized according to lu_zero,
dont know about the rest.
"lu_zero: Wed Sep 13, 2006
Quite old news, btw now we have also vp6 for those flash video addicted.

(wmv3 is also altivec optimized, so isn't running that bad)"

i thought everyone is now useing DVB for the likes of [HD]IPTV and the rest, so is that US ATSC still used/important, i thought it now also had DVB extentions or something (not that it matter here in the UK and EU)?.

zambelli
13th November 2006, 11:59
perhaps im just being slow this morning but when you say 'HD-DVD support' your refering to the actual media as apposed to a HD-DVD compatible encoded file, it seems if we cant place our HD-DVD compatible files on to this media we cant play it on 360, even from the internal Hard drive or the network?.
Right, that's exactly my point. Too many people read too much into "HD-DVD support". Such wording suggests only support of the HD-DVD optical disc standard. It doesn't imply offline file playback, MP4 parsing, and who knows what else.


VC-1/WMV3/WMV9 video decoder is in there too, wmv3 is also altivec optimized according to lu_zero,
dont know about the rest.
I haven't had a chance to check out the WMV9 decoder in latest ffdshow builds yet. Do you know it they reverse engineered it or if they followed VC-1 specs?

foxyshadis
13th November 2006, 13:10
The first WMV3/9 decoder was reverse engineered, never really worked, and stalled a year or two ago. It was ripped and replaced after VC-1 specs came out as one of the summer of code projects. I don't think it's 100% HP or MP compatible, but it does most streams (with occasional non-fatal bugs).

popper
13th November 2006, 13:14
Right, that's exactly my point. Too many people read too much into "HD-DVD support". Such wording suggests only support of the HD-DVD optical disc standard. It doesn't imply offline file playback, MP4 parsing, and who knows what else.


I haven't had a chance to check out the WMV9 decoder in latest ffdshow builds yet. Do you know it they reverse engineered it or if they followed VC-1 specs?

im afaid i dont know, it gets very confusing when you refer to WMV9/VC-1 as there appears to be a reference to it here from 2004

http://www.multimedia.cx/pre/re-wmv9.html
"Practical Reverse Engineering
by Mike Melanson (mike at multimedia.cx)
Updated June 29, 2004

Example: Windows Media Video 9
For this experiment, I decided to target Microsoft's Windows Media Video 9 (WMV9) binary codec module. This is a big target. One reason I chose this is because popular Unix media players can already use the Win32 binary decoding module in order to decode the data via some clever hacking. Thus, it is (relatively) simple to add hooks into these open source programs to gather execution profiling data. "

but then theres also links about useing the reference decoder too
http://multimedia.cx/eggs/2005/09/
"September 15th, 2005 by Multimedia Mike
Pursuant to DVD Jon’s post about compiling and using the SMPTE reference VC-1/VC-9/WMV3/WMV9 decoder with VLC, I wrote an FFmpeg module to use the same reference code. Next, I will try to adapt it to xine. Though I hope we do not grow too collectively complacent with this decoder.

I tried decoding 3 different WMV3 videos from 3 unique sources. The reference decoder seemed to work fine on 2 videos but not on the third."

thanks foxy ;) , i suppose if its based on the reference design thats the better option and your thinking of helping that progess perhaps?,

sjchmura
13th November 2006, 14:45
So in summary:

1. We need to restrict the bitrate to 8000 average / 15000 peak 720p to get good playback from the 360 native DVD drive, streaming, etc..

2. If you purchase the HDDVD addon (now $159 at circuit city btw) we can encode AVC, higher bitrate VC-1 etc and it will use the "new codecs" that enable multithreading support.

Correct?

zambelli
14th November 2006, 02:03
2. If you purchase the HDDVD addon (now $159 at circuit city btw) we can encode AVC, higher bitrate VC-1 etc and it will use the "new codecs" that enable multithreading support.
See http://forum.doom9.org/showthread.php?p=899669#post899669 and http://forum.doom9.org/showthread.php?p=897611#post897611. These decoders will only be used for HD-DVD playback - not ASF playback, not AVI playback, not MP4 playback.

woah!
14th November 2006, 06:41
i read somewhere that the xbox360 can only do 24/30fps at 720p not 60fps. i read that on passing and cant remember where :(

sjchmura
14th November 2006, 16:25
Zambelli,

Thanks for the help and to the rest of the MS MVP's and employees.

So again...

If you play the a WMV VC1 DVD-ROM through the HD-DVD "box" will that permit higher bit rates?

Second, I would NOT recommend 8000/15000 max. I tried encoding some PBS stuff and it was stuttering badly when turned to 720p. I am trying now at 8000/12000.

Third:

ULEAD is now advertising "burn HD-DVD to a DVD9 or 5" in a compliant format with MovieFactory 5 Plus. So based on your posts above, this will work in the HD-DVD drive - correct?

jm9843
14th November 2006, 22:14
If you play the a WMV VC1 DVD-ROM through the HD-DVD "box" will that permit higher bit rates?

ULEAD is now advertising "burn HD-DVD to a DVD9 or 5" in a compliant format with MovieFactory 5 Plus. So based on your posts above, this will work in the HD-DVD drive - correct?

I'm not Zambelli but your first assumption is correct. HD DVD authored content on red laser media (DVD9 or 5) is part of the spec which the Xbox 360 addon implements.

A word of warning: ULEAD will want to reencode your VC1 content to MPEG2. I'm not aware of a consumer level software package that will author an HD DVD w/ VC1 yet.

sjchmura
14th November 2006, 23:41
jm - good catch....

I am trying to figure out if the new Pinnacle Beta does this. This would be a $100 solution adn would be great.

sjchmura
15th November 2006, 20:30
So the new pinaccle will transocde to their own MPEG4 but will NOT accept VC-1 :(

veffremov
16th November 2006, 01:49
looking at your No.'s it would appear that the codec has not yet been made to take advantage of the AltiVec vector Unit ?

The CPU in Xbox does not support AltiVec. It supports a different kind of vector commands.

CruNcher
16th November 2006, 19:55
I would like to clear a confusion here which starts some speculations in the wrong direction.

HD-DVD playback requires a restricted VC-1 decoder and this is what has been implemented and optimized for the HD-DVD addon.

A fully compliant VC-1 decoder is delivered in the dash player, however the perf is not as good.

I think the reasons are obvious: in the HD-DVD scenario you have restricted/compliant content, in the dash the content is user created so we must support all VC-1 features.


Sorry vffremov, but what the hell has another Profile todo with the overall Decoder Engine speed ? that makes no sense you don't need 2 decoders just 1 optimized one see CoreAVCs perfect optimization work on their AVC Software Decoder or Sony's work on the PS3 Decoder. And Microsoft Guys are not able to get a fast all in one Decoder working on a Platform and Video Standard they Designed (and claimed to be less Complex), that sounds strange to me so you really "meesed it up" can't belive that somehow and another thing is why don't you take advantage of ATI's GPU for the Decoding ? somehow i doub't that it's more energy efficient todo everything on the CPU.

easy2Bcheesy
16th November 2006, 20:09
I think it's been pointed out that they have one dedicated decoder optimised exclusively for HD DVD VC-1 compliant streams, and then a general purpose 'catch all' decoder which handles any WMV stream... but only runs on one thread.

I'm sure there are any number of reasons for this. For example, it may well have been the case that the addition to playback 'homebrew' WMV streams was added to the 360 spec later on in the development of the new dashboard.

One thing about the new update which I find really irritating is that I would very much like to burn a DVD titleset onto a disc, but include WMVs in the DVD-ROM portion. But as soon as the 360 sees a DVD titleset, it auto-starts, and even when using the guide button, the option to view video files on the disk is blanked out. Is there anything wrong with the concept of burning, say, a home movie onto DVD to play on standalone players while having a WMV version burnt for HD viewing on the 360?

The PS3 media player, by contrast, has had far more thought put into it and is full of nice, pleasant surprises.

popper
18th November 2006, 10:53
The CPU in Xbox does not support AltiVec. It supports a different kind of vector commands.
really?, would you happen to have links to the information
as regards that, and also a full rundown of the spec of this 'different kind of vector commands' with code examples would be very interesting to see perhaps, urls please?.

veffremov
18th November 2006, 11:05
really?, would you happen to have links to the information

Unfortunately the detailed specs/instruction set of the CPU are not public.

popper
20th November 2006, 12:25
veffremov:
The CPU in Xbox does not support AltiVec. It supports a different kind of vector commands.
Unfortunately the detailed specs/instruction set of the CPU are not public.

thanks veffremov.


it seems rather odd though given that the official IBM link

http://www-128.ibm.com/developerworks/power/library/pa-fpfxbox/
states
"The Xbox 360 CPU architecture

The Xbox 360 system has a single chip (with 165 million transistors) for its CPU. This chip is in fact a three-way symmetric multiprocessor design. The three PowerPC cores are identical, except that they are physically reflected through the X and Y axis. Each of the CPU cores is a specialized PowerPC chip with a VMX128 extension related to (and partially compatible with) the VMX instructions in the G4 and G5 CPUs. The three CPU cores share a 1MB Level2 cache. Each processor has 32KB each of data and instruction Level1 cache. The chip's front-side bus/physical interface has a 21.6GB/second bandwidth, and runs at 5.4GHz. The high frequency clocks are generated on-chip by four phase-locked loops: two for the core clocks, two for the PHY clock."

and
" While the term VMX is familiar to PowerPC users, the implementation on the Xbox 360 processor is a new design called VMX128 which was specially enhanced to accelerate 3D graphics and game physics.

The number of vector registers was increased from 32 to 128. All 128 registers are directly addressable, and the original 32 registers are mapped to the first 32 entries of 128-entry vector register file, and so are compatible with the original PowerPC ISA. We also added a number of new instructions.

Instructions were added to calculate the dot-product of two vectors made from three or four floating point values. Data formatting instructions were added to help improve the processing of data that has been packed into memory to reduce the program size. These include: instructions for rotate and insert operations, pack/unpack instructions for handling Direct3DŽ data types, and loads and stores for misaligned data. The VMX128 ISA is binary-compatible with a subset of VMX. A few vector floating point and vector integer instructions are no longer supported, and attempting to execute them will result in the system illegal instruction handler being invoked.

The Level2 cache provides 1MB of cache shared by the three processing units. It uses a MESI protocol for memory coherency, and is eight-way set associative. The cache itself provides single-bit correct, double-bit detect ECC validation. "


given that right now, [linux dev]people are installing and able to run/running the standard PPC compiled Altivec enabled linux apps
(devs might like to look at http://www.freevec.org/ for the replacement AltiVec routines for GLIBC) on their PS3's with its ppc derived CPU, are the readers to assume that the Xbox 360 CPU with its secret AltVec extended unit is still going to be unavailable to the end users even after a full years head start?.

again if the answer is yes (unless your a payed up dev OC)then again, it seems like a disadvantage to the [potential]Xbox 360(homebrew,3rd party dev etc) users/developers.....

i get the impression that there is no current plans to open up the power of the 360 PPC Altivec/VMX128 unit generally and so artificially restrict its full market potential for several years yet, thats a shame........

halim
5th December 2006, 02:16
Hi guys,

Sorry about the delay.
The numbers below indicate the numbers with which you should be able to encode and get pretty good results.

I did categorize them by frame-rate, and all the analysis below uses 720p.


24fps: B-rate of 15Mbps is safe, 20 might play properly.
30fps: B-rate of 15Mbps is good. Above that is questionable
60fps: 5Mbps is safe, and around 6 Mbps would be the peak.


Intuitively, going abit above those numbers might work, but doubling them would be a stretch.

Note: The rough f-rate/b-rate values above did utilize the various VBR/CBR modes. However, Constraint Peak VBR seamed to have the slight edge over other modes.

sjchmura
5th December 2006, 02:54
SO what peak value do you recommend??? I ASSume you are referring to Peak being about 2000kbits/sec????