Log in

View Full Version : Hyperfast H.264 (and others) encoding with ATI Avivo Xcode - i am amazed


Flexy
21st August 2006, 04:45
This works with ALL ATI cards, NOT only X1XXX series !

I do NOT know whether it works with other cards (Nvidia etc.)

Please report back !

The speeds are AMAZING...however, i am still unsure whether it actually uses hardware/GPU encoding...

Just to give you an idea:

A video i encoded with X264 which took over an HOUR i encoded with this in 2 MINUTES ! (I am not kidding)

I am still experimenting with this, maximum quality setting etc. and will do comparisons.

Another quick test (with max Quality H264, a 1GB VOB ripped right off CD took 4 mins to complete encode on max quality !)

The same encode took almost 2 hours with X264 and CE-main profile.

Please understand..i dont want to make X264 look in a bad light because of the speed....maybe the quality of the ATI Xcode is FAR lower than x264....i am still looking into that.


HOW TO INSTALL
----------------

First, look on google etc. for a file called
AvivoVideoConverter1_12.rar

This is a modified older installation for ALL cards since the original ATI installer doesnt work (AFAIK) on anything less than X1900.

Download the latest ATI Catalyst "complete avivo package" on

https://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=293

Install the before mentioned package 1.12....then from the "avivo package" from the lastest Catalyst drivers (what you just downloaded and installed) you ONLY need the dll-files which you (after the install) can find in a .cab file in C:\ATI\support\xcode_35179\AVIVO

Extract the dlls in that cab file (winzip/winrar etc.) and copy 'em over where the older package moved the old dlls from the 1.2 package. (In C:\program files\ati technologies)

unregister the old dlls with CMD
regsvr32 -u "C:\program files\ati technologies\atidvcr.dll"
regsvr32 -u "C:\program files\ati technologies\atixcode.dll"

and re-register the *new* dlls (the ones you just coped over) with

regsvr32 "C:\program files\ati technologies\atidvcr.dll"
regsvr32 "C:\program files\ati technologies\atixcode.dll"
regsvr32 "C:\program files\ati technologies\atimcenc.dll

Then you can start the executable AvivoXcode.exe... (in c:\program files\ati technolgies)
There is also CMD-line version called atixcode.exe


ADDENDUM:

I dont have ATI Catalyst Control Center installed...so..when i go the normal route and install the official 6.8 atiavivo package it seems nothing gets installed at all.

Thats why i install the old modified version and then copy over the new dlls.

Flexy
21st August 2006, 04:50
add: i am encoding a very good version of Star Wars Ep III right now...and the ETA for this is 29 MINUTES !!! I dont have a doubt that x264 would need 10 or so hours for this.

ChronoCross
21st August 2006, 05:11
AVIVO doesn't have near the quality of x264...in fact tests have shown that it is afar below other encoders.

huang_ch
21st August 2006, 05:45
And I've also heard that this encode doesn't really use some GPU resources to optimize the encoder.

bond
21st August 2006, 18:45
last time i tested it, it was also pretty fast (without using the gpu, as i have none), but the quality was very crappy and hardly any advanced avc features were used

lets hope that changed since then :)

Flexy
21st August 2006, 18:58
last time i tested it, it was also pretty fast (without using the gpu, as i have none), but the quality was very crappy and hardly any advanced avc features were used

lets hope that changed since then :)

my quick and dirty testing so far had..hmm...weird results.

Admittedly its VERY fast...but eg. i had a 2.1GB XVid which i encoded in the hope to COMPRESS it even further since i ASSUMED h264 does a better job than xvid. But...the resulting file was 4.1 GB ...with highest quality ATI Avivo...which of course was NOT intended :) (It enlarged it instead of copress it better :)

I need to do tests with original DVD-rips...eg. using one and compress w/ Xvid...compare and then compress one with Avivo and compare.

Also..options are as good as NONE...(except a quality slider) but then i use this "hack" and i dont know whether a real install would provide any more options. (Eg. w/ X1900XT and CCC).
But i dont think so.

Selur
21st August 2006, 21:59
lets hope that changed since then
it didn't. just checked today

i dont know whether a real install would provide any more options.
Only if you the directshowfilters in Graphedit.
(though only avi output works there with the ati filters for me)

Cu Selur

Sulik
22nd August 2006, 01:31
Any comparison with Avivo should be done with Baseline profile (it is a baseline profile encoder) - ie: No CABAC and No B-frames, everything else is fair game.

foxyshadis
22nd August 2006, 02:10
I'd think that any comparison should be based on speed, since that's the only reason anyone would ever want to use it. Find x264 configurations as fast as Avivo and compare quality. Only bother with baseline if you absolutely must be restricted to it (ie, Quicktime.), but not for comparing performance.

Sulik
22nd August 2006, 03:18
Agreed. I'm saying this because I'd like to see a fair comparison.

I happened to have downloaded the MSU 2005 H.264 Codec comparison the day it was released, and one of the pages in the documents showed Avivo compared to one of the fastest settings in the Ateme encoder. Ateme was still 3x slower than avivo and Avivo's quality was much higher.

Somehow, this page was taken out of the document the next day, so I'm guessing Ateme didn't like this and asked the MSU guys to take it out.
(Maybe Dmitry can jump in and provide more info)

gameplaya15143
22nd August 2006, 17:07
it didn't. just checked today
I'll consider that good news, as I have no reason to re-download the ati codecs. :) avi, mp4, and mpg worked fine for me (I have the first version that was available)

Their speed is what would make them good for capture, maybe even hi-def capture. Unfortunately, graphedit isn't exactly a fantastic capture application:sly:

I don't think you even need an ATI card at all to use these speed demons :confused:

odditory
23rd August 2006, 07:52
I swear, these AVIVO threads should have their own forum that they can be moved to each time another person discovers Avivo-vapor. I guess enough time's gone by that everyone's forgotten (or just wasn't around when) the AVIVO myth was debunked initially upon the release of the first few builds.

All the way back to when ATI released/leaked the first few builds of this Avivo Xcode thing all the review sites shot so many holes thru it that it became obvious it was just a marketing placeholder for what ATI claimed it would (eventually) bring to market which was GPU-accelerated encoding and specifically H.264. Then days later after the first review sites like anandtech were skeptical about the encode speeds someone hacked it such that it worked on any graphics card, bypassing the vidcard check routine or whatever. Heck I even ran it on a laptop that a peashooter Intel onboard graphic chip and came up with basically the same encode times as my powerful desktop PC with high-end ATI card.

Clearly the thing was cpu-dependent or perhaps just naive-end-user-dependent but the results were worse than an xvid encode at the lowest quality settings. Basically a super-sloppy encode to give the illusion of speed.

Who knows what ATI's intentions actually were with these early Avivo xcode builds but the whole thing was just bizarre, and according to various sources nothing has changed in the mean time: Smoke and mirrors.

Sulik
23rd August 2006, 21:17
Odditory: what data do you have to back up your claims ? can you share your encoded clips ?
Before starting the usual avivo-bashing, it would be interesting to answer these 3 questions:
- How fast is baseline profile encoding with other encoders ?
- Is performance anywhere close to Avivo ?
- Is H.264 Baseline much better than MPEG-4 ASP (DivX/XVid)

Manao
24th August 2006, 02:17
Sulik : here's the reason why Ateme didn't want to be part of the "best speed" contest : Now, lets talk about the unofficial rating system used at the end of the test. You ask codecs developpers for two configurations : max psnr, and max speed. It has already been argued then that max speed alone was worthless : and that instead a quality / speed tradeoff should be used. You did so, but without telling the codecs developpers what was the tradeoff. How are we to offer you the correct configuration then ? That's the reason why Ateme isn't in that part of the test. We delivered two 'high speed' settings, one really fast, one a bit more balanced ( I remind you, the tradeoff wasn't known ). The balanced one was used when the really fast one was the one adapted to the test. It resulted in a bad ranking for Ateme ( which you can see, since they forgot to remove us from the score table ). You can see from the 2nd to the 6th, codecs are tied, and that using the proper configuration would have change our ranking. Another thing is that with the tradeoff chosen ( speed * 4 + bitrate handling * 2 + psnr ), a mpeg2 codec would have win the comparison. DivX should have, in any case, but they didn't provide a configuration for speed.You'll find more here (http://forum.doom9.org/showthread.php?p=750453#post750453)

- Is H.264 Baseline much better than MPEG-4 ASP (DivX/XVid)You have your answer in MSU's test, at least for Avivo. It was not better than DivX ( i.e sometimes worse, sometimes better ).

More generally, baseline's only advantages over ASP are deblocking and multi reference. But ASP has bframes. A good encoder will be better than XviD / DivX, at least PSNR wise. Visually, I'm more dubious. In any case, baseline is useless for us.

Sulik
24th August 2006, 08:35
You have your answer in MSU's test, at least for Avivo. It was not better than DivX ( i.e sometimes worse, sometimes better ).

My point exactly, roughly along with DivX at ultra low bitrates isn't exactly "super-sloppy" in my book.
If ATI Baseline is 5x faster than x264 baseline, we might expect future ATI Main/High profiles 5x faster as well. A good thing in my book as well.

More generally, baseline's only advantages over ASP are deblocking and multi reference. But ASP has bframes. A good encoder will be better than XviD / DivX, at least PSNR wise.
Multi-reference is pretty much useless when combined with CAVLC.

Visually, I'm more dubious. In any case, baseline is useless for us.
Maybe to you. Not for me or apparently the OP. I personally will gladly trade a 10% increase in bitrate to achieve the same quality if it means 500% performance improvement.
(Baseline is extremely useful for portable devices).

Manao
24th August 2006, 08:55
If ATI Baseline is 5x faster than x264 baseline, we might expect future ATI Main/High profiles 5x faster as well. A good thing in my book as well.It's definitely not 5x faster. And do remember that x264 fastest settings are better than Avivo quality wise. Speeding up x264 would be relatively easy too.Multi-reference is pretty much useless when combined with CAVLC.Indeed. It may help as much as GMC, sometimes more ( if an encoder could keep long term references )I personally will gladly trade a 10% increase in bitrate to achieve the same quality if it means 500% performance improvement.First of all, using cabac instead of cavlc would not slow down the encoding by 500%. It would depend of the bitrate - of course - but the slow down would be 10 to 20 % at most. Secondly, it's not 10% increased bitrate we are talking about. Those 10% only represents cabac vs cavlc. If avivo is faster, it's not because it is perfectly optimized, it's because it trades quality for speed. Avivo's quality ( for the following, quality = psnr at a certain bitrate ) is roughly the same as DivX balanced. x264, whatever the settings, is better than that. I'd say the bitrate increase is more 20% than 10%.Baseline is extremely useful for portable devicesIndeed, but portable devices uses small resolutions. x264, on my A64 3200+, encoded 720x576 @ 40fps, that means 160 fps for the 352x288 resolution that those portable devices may use. I think it's fast enough ( the avisynth script would be often slower... ).

GodofaGap
24th August 2006, 12:21
Haha, this program works even on my laptop with onboard intel graphic card. So much for hardware acceleration. Now lets check the speed vs. quality.

It supports AVS input too, neat for comparisons. :)

GodofaGap
24th August 2006, 16:18
Ok, this thing is useless. The AVIVO program has a bitrate slider with a granularity of 2000 kbps and it misses the bitrate by a fair margin (>300 kbps) so it is difficult to say if this thing is using a quality based mode an ABR mode, or something in between.

using x264 fast settings (--me dia --subme --analyse none --no-ssim --no-psnr) AVIVO still was about 2.5x faster.

But I won't test anything that can't be properly tested anymore, so I give up.