![]() |
AMD Game | ![]() |


|
Topic Title: DXVA Limitations on ATI 3450 Topic Summary: How can hardware acceleration of x264 streams with large number of reference frames using DXVA be enabled? Created On: 01/15/2009 07:20 PM Status: Post and Reply |
Linear : Threading : Single : Branch |
|
Search Topic |
Topic Tools
|
|
|
|
|
I have a HTPC configuration as below: |
|
|
|
|
|
|
|
|
The Bluray spec is 4 reference frames at 1920 x 1080, thats the most likely maximum content to be played back by 99.9% of people. All the specs of the cards only mention bluray playback at 1080P being accelerated. Whilst some people may want beyond bluray quality its not supported. The larger the reference frames the more processing power and bandwidth is needed its not just about file sizes. Altering the UVD clock speed of the card via a BIOS edit would probably help a little bit with 5 reference frame movies. Making sure you alter the voltage as well as the clockspeed to the usual high 3D setting. ------------------------- Game.AMD Administrator |
|
|
|
|
|
|
|
|
Hi Spyre,
Thanks for your reply. I tried using ATI OverDrive in Catalyst Control Panel to increase the memory clock speed as well as the core speed, but it doesn't seem to help.
As far as 99.9% of people playing only Blu-Ray content goes, I guess there are still some ATI users who use it for their hobbies such as encoding and playing back hi-def cacmorder recordings / HD-PVR recordings from TV shows, where they have the ability to alter the bit rate and other technical aspects of the encoding (such as the reference frames and the H264 encoding level etc).
I believe that DXVA fails for higher reference frames because the driver code (or whatever helps the 3450 to decode the x264 stream in bitstream mode) assumes that it will support only Level 4.1 (which calls for 4 reference frames at the maximum, if I am not wrong), and hence allocates memory for the DPB (decoded picture buffer -- refer my first post) according to the calculation (1920 x 1080 x 4). I believe it would be of tremendous help to the ATI using HTPC crowd if the DXVA support could be extended upto as many reference frames as possible (within the H264 spec, obviously -- it is 16) as the amount of memory available in the video card permits.
Or, is there some registry key which can be modified to enable this? I saw on some other forums that installing the latest CCC drivers enables some registry keys which can be played around with, but there is never any documentation for this.
|
|
|
|
|
|
|
|
|
Overdrive doesnt change the UVD speed. 4.1 profile only supports 1920x1080 with a max of 4 reference frames at 30.1 frames a second. So any higher would be beyond the spec. 4.2 which does allow higher, also requires a vast amount more macro blocks to be decoded so not very useful particularly for slower 3xxx cards with less pixel shaders etc. You have to support the whole thing, you cant just pick and choose which bits suit you thats the whole point of standards. ------------------------- Game.AMD Administrator Edited: 01/19/2009 at 06:20 AM by spyre |
|
|
|
|
|
|
|
|
However, it appears that Nvidia is able to update their recent drivers (few months ago) to support H264 High@L5.1 for their Purevideo2 capable card. How come ATI unable to do so too? |
|
|
|
|
|
|
|
|
Spyre,
Thanks for the reply.
I work for a H264 video compression company and routinely conduct performance metrics tests on various PCs to make sure that our streams are decodable on various PCs.
With the same 3450 setup, I was able to decode a video with the following spec:
20.2 Mbps, 1920x1080 at 59.94fps encoded in AVC (Main @L4.2) (Cabac / 4 Ref Frames)
So, this debunks the theory that ATI doesn't want to support L4.2.
I think it will be good for ATI to support as many features as the chipset would allow. With 256 MB of DRAM, I am not sure why the EAH3450 from Asus should not support more number of reference frames 'unofficially'. I am sure it will be a major selling point for ATI if Catalyst driver is updated to support complex encodings. |
|
|
|
|
|
|
|
|
I dug up more information on JohnLai's post:
http://ranpha.wordpress.com/page-1/
Search for L5.1
James Bond Quantum of Solace trailer – available at http://dl.getdropbox.com/u/132004/test_hd_9refs_high_l5.1.mp4 (HD 1080p High@L5.0). For selected nVidia cards only with 178.24 or later drivers. The reason why you should consider nVidia cards. This video will not play in DXVA mode with ATI cards. |
|
|
|
|
|
|
|
|
There is one problem with nvidia card. Although PureVideo2 capable card can support High@L5.1, but it still unable to decode in hardware(dxva) properly if the ref frame is more than 11. It happens with all Level 1-5. I have Nvidia 8500GT and ATI 4850. But no point having more than 10 ref frame, right? Although it offer better video compression. Still, I dont think ATI driver team is willing to listen to their users feature request.........Even if they did, they wont implent it and maybe force us to get a newer card with future UVD revision. Who dont want to earn profit? I am sure hope it wont happen like this. |
|
|
|
|
|
|
|
|
I looked up the specs of the 8500GT, and it seems to be weaker compared to ATI 3450 (with only 16 stream processors instead of 40, and lesser clocking speeds -- Though the former comparison might be apples to oranges).
Maybe 16 stream processors are not enough to decode more than 9 reference frames? [ Edit:
Did more Googling, and determined that it is a problem with the player. In fact, PureVideo supports upto 16 reference frames. For example, take a look at the Linux guys trying to get the PureVideo equivalent -- VDPAU-- to work with mplayer: http://ubuntuforums.org/showthread.php?t=1037625 If you have the VRAM, 16 reference frames shouldn't be an issue. http://www.nvnews.net/vbulletin/showpost.php?p=1882910&postcount=352 By god! Is there any equivalent ATI forum where the ATI driver developers interact directly with the people who are using their cards? I am becoming more and more envious of these Nvidia card owners...
End of Edit ]
Anyways, it would be great if spyre were to update us on whether ATI is working on a driver update to decode higher number of reference frames (like what Nvidia has done with its drivers) Edited: 01/26/2009 at 08:27 PM by ganeshts |
|
|
|
|
|
|
|
|
I read somewhere around the internet about the graphic card architecture review before. Apparently, the processing ability for 1 stream processor of nvidia is equivalent to 5 stream processors of ATI, so technically, if apple to apple comparison, ATI 3450 has only 8 stream processors while Nvidia 8500gt has 16 stream processors. |
|
|
|
|
|
|
|
|
First - x264 is the name of a piece of software, a particular H.264 encoder. It is not a type of video stream.
To answer John Lai's question, "ATI's How come ATI unable to do so too?" Unable and uninterested currently are two totally different things. ATi would first have to consider there to be a NEED to support 16 reference frames. My guess is that the 48xx cards can do 4.2 in some situations. "So, this debunks the theory that ATI doesn't want to support L4.2." Your statement is inaccurate because you fail to see this from a software programming standpoint. Supporting rendering the same input data (ie. 4 reference frames) into more output frames (ie 60 fps instead of 30fps) is likely simply a biproduct of the way the driver was written to attempt to scale different framerates. The driver may be able to do this without ever having the intention to do so by its authors. However, supporting higher profiles means doing a lot of addition programming work to support quit a bit more input data. Since there is no consumer media that uses those higher profiles, it is unlikely that a market-driven product like this would spontaneously support them. The purpose of DXVA support on ATI's cards is to make peoples' computers play Blue-ray discs easily. I tried your sample video on my 4870 1GB. It has 800 stream processors. Although 48xx stream cores are much better than the 5:1 ratio of the 34xx, that would still be WAY more than necessary. Using DXVA support on Vista 64, your video blue-screens the machine. Thus, it's not a matter of power (I have WAY more than enough) it's a matter of interest in supporting the standard beyond what most users will purchase (blueray discs). It is certainly possible from a power standpoint. I would like to see it also. However, it costs money to pay people to write this stuff, and I would currently speculate that 99.9999% of their customers want them to spend that driver development money on game performance, stability, device mode support (multi-monitor, etc). In addition, that money must be stretched thin by tri-developing XP, Vista, and now Windows 7 drivers. I'm sure this support will come, but it probably isn't much of a priority. Rob ------------------------- E8400 3.8GHz Gigabyte ex38-DS4 4GB OCZ DDR2 860 RAID 0 Array 1TB 2x 7200.11 Sapphire HD 4870 1GB Toxic (Yellow Gold Edition) Aegia PhysX PPU Vista Ultimate SP1 64-bit Logitech G25, MS Reclusa KB, Lachesis Mouse TrackIR 4 Pro |
|
|
|
|
|
|
|
|
@RobRedbeard:
After looking at the nvnews.net site, I wonder why ATI doesn't have such a forum.
If ATI thinks they dont have enough bandwidth (in terms of resources) to support complex video decoding, they better 'open source' their APIs (like what Nvidia has done for Linux). I am sure there are thousands of people out there who are interested in seeing ATI cards be able to decode any video stream out there, and are ready to participate in developing such support .
Just look at the extent of user involvement in the nvnews thread -- Even if the Nvidia guys originally didn't want to support beyond L4.1, their source code and APIs were released and the users were able to make appropriate hacks / modifications to the source to be able to play almost any x264 video contingent upon the resources available in their video card (VRAM).
On a side note: After spending $40 on this 3450 card, I now wish I had done a little more research and actually probably spent an extra $30 on getting some GeForce 9500 card
|
|
|
|
|
|
|
|
|
Dude, I just said, they have enough bandwidth, but the profile you're discussing isn't being used on commercial medium (ie. Blueray) and that's why they've not spent the extra effort to support it. (actually Spyre told you this a while ago).
One, you can play your library without DXVA, so you're not at the mercy of your card to support your library. Two, their support is for the mass commercial market. What you're asking about is really for a niche market. If you want it supported then you should submit a Catalyst crew feedback (that is the ONLY place the developers look, NOT HERE). Tell them that when you play that 16 reference frame video your computer (and mine) bluescreens. They will only spend money to develop the system beyond the Blueray profile (4.1) if user demand appears to want it. If there are commercially published movie trailers (not fan transcodes) that could tank a system with an ATi card, I'm sure they'll fix that. Otherwise, most of your Tom, Dick, and Marys out there are just sticking Bluerays in their computer and wanting to watch. Maybe Nvidia has the resources to develop this. They are the bigger company. They've got money to burn (and wow, did they last year). Maybe ATI should get community development support, but for now they're closed house. We'll see. As for your message -- the only readers on these forums are other users, so make sure and mossy over to "Catalyst Crew Feedback" and submit something to the actual driver team. Best wishes, Rob ------------------------- E8400 3.8GHz Gigabyte ex38-DS4 4GB OCZ DDR2 860 RAID 0 Array 1TB 2x 7200.11 Sapphire HD 4870 1GB Toxic (Yellow Gold Edition) Aegia PhysX PPU Vista Ultimate SP1 64-bit Logitech G25, MS Reclusa KB, Lachesis Mouse TrackIR 4 Pro |
|
|
|
|
|
|
|
|
Oh, and not to be an ass, but dude, it's H.264 not x264. Nobody is going to believe you work for a commercial coding company if you write things like that. Just a tip, okay? Even the guys over at Doom9 would jump on you about that.
Maybe read the x264 homepage, okay? http://www.videolan.org/developers/x264.html Rob ------------------------- E8400 3.8GHz Gigabyte ex38-DS4 4GB OCZ DDR2 860 RAID 0 Array 1TB 2x 7200.11 Sapphire HD 4870 1GB Toxic (Yellow Gold Edition) Aegia PhysX PPU Vista Ultimate SP1 64-bit Logitech G25, MS Reclusa KB, Lachesis Mouse TrackIR 4 Pro |
|
|
|
|
|
|
|
|
I do know that x264 is an implementation of the H264 spec.
If I am not wrong, it is the most commonly used and only non-proprietary open source implementation of the H264 spec. Most non-BluRay HD content out there (fan transcodes and personal video back ups) are encoded in x264. I am not too sure about this, but I guess x264 supports the broadest possible implementation of the H264 spec (Most proprietary 'encoder' implementations probably do not support all the features). In that respect, I noted that if a particular implementation could decode any x264 encoded videos, it would, in all probability, be able to decode any H264 stream encoded with other (possibly proprietary) implementation.
Btw, I had already posted the request on the CC feedback page (And also linked them to this discussion) Edited: 01/27/2009 at 01:10 PM by ganeshts |
|
|
|
|
|
|
|
|
Now it is 4/12. |
|
|
|
|
|
|
|
|
So......I guess this is the end of H.264 L5.1 request. Shouldn't have spent money on ATI card. |
|
|
|
|
|
|
|
|
There is a suggestion on how to get rid of this limitation on this site: http://nunnally.ahmygoddess.net/watching-h264-videos-using-dxva/comment-page-4/#comments "... Intel’s DXVA limitations is the same as ATI, but if these two wants to, they can follow nVidia’s lead and remove the limitation. MPC-HC recent releases can already decode out-of-spec H.264 videos with DXVA, but that is for nVidia cards only. But if you feel that you are a computer expert, add this entry into your registry.
This will force the MPC-HC decoder to always use DXVA even if the video is out of spec, even for non-nVidia cards. Only do this if you really know your way around Windows though. No warranty is provided for this." -------------------------------------------------------------------------------- But I didn't try it out yet. So I don't know if it works or not ?? This hack may also have some side effects as mentioned in another comment: "....I expierience macroblocking and corruption with dxva forced but only in anime rips in h264 that are from dvd sources, with resolutions under 720p...." Edited: 05/18/2009 at 02:14 PM by PeterK |
|
|
|
|
|
|
|
|
Well, it still depends on ATI Catalyst Crew members to make the necessary coding to support it. Forcing the L5.0 encoded file to play with current driver will resulting in green block or corrupted macroblocking. |
|
|
|
|
|
|
|
|
I wouldnt recommend doing that hack. I have also 3450 and I made it one time on XP and ended up with locked windows. Only hard reset helped. But win 7 is another story. Win 7 codecs dont limit h.264 decoding on ati hardware,... so 5.1l files are played but with garbage output. Some videos are better some worse. But videos are played on full speed and at 14% gpu usage so its definitely drivers' fault. The same situation is with VC-1 in .wmv container while in m2ts all works fine. Looks like ati saves money on programmers work. Nvidia know what to do. Let somebody talk to catalyst crew and explain them they may lost consumers because of that. seya |
|
|
|
|
AMD Game
» AMD Technology » ATI Catalyst
»
DXVA Limitations on ATI 3450
|
Topic Tools |
FuseTalk Hosting Executive Plan v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.



Search Topic


