View Full Version : MPEG-4 AVC/H.264 decoder comparison
Caroliano
31st October 2005, 23:19
It's time to update libavcodec table for cqm also.
Hyper Shinchan
1st November 2005, 02:47
So there are still some guys with PIII class CPU??? I'm not the only one ? On my PC (PIII 1Ghz) AVC decoding is really a pain, I've noticed a faster playback with vlc and mplayer, but it's not good enough to be watched (it lost audio sync).... I'will try elecard's decoder.
P.S.: maybe I'm really a bad boy, but why don't you include QuickTime 7 too in your tests (maybe because it su##s?)?
bond
1st November 2005, 04:15
i will add the cqm test asap
but why don't you include QuickTime 7 too in your tests?because i dont know a method for testing apples decoders speed
foxyshadis
1st November 2005, 04:38
So there are still some guys with PIII class CPU??? I'm not the only one ? On my PC (PIII 1Ghz) AVC decoding is really a pain, I've noticed a faster playback with vlc and mplayer, but it's not good enough to be watched (it lost audio sync).... I'will try elecard's decoder.
P.S.: maybe I'm really a bad boy, but why don't you include QuickTime 7 too in your tests (maybe because it su##s?)?
Try muxing into a stricter container (I know mkv/ogm work, mp4 should), this will cause audio skips but at least sync is maintained, which is often more pleasing. Recompression is also a last-ditch solution.
Quicktime is consistently slower, also doesn't support high profile. (At least that's all I need to know. =p)
Hyper Shinchan
1st November 2005, 19:47
Try muxing into a stricter container (I know mkv/ogm work, mp4 should), this will cause audio skips but at least sync is maintained, which is often more pleasing. Recompression is also a last-ditch solution.
I use only mp4 for avc tests (avi sucks), actually I'm trying with the Elecard MPEG player.
Using main profile with cabac, 3 reference frame and 3 b-frame (and alpha and beta deblocking +3) it works with a little of audio delay, but without skipping the audio or video frame.
Now I've just made a little test without multiple reference frame and deblocking and 2 b-frame and it seems to work (but it was just 1:30 of video and audio).
Anyone can suggest safe PIII settings (of course I will continue testing tonight)?
Recompression is also a last-ditch solution.
What do you want to say? Recompression of avc video?
Quicktime is consistently slower, also doesn't support high profile. (At least that's all I need to know. =p)
I think that it doesn't support some high profile features, but anyway it's too slow, at least on Windows.
redfordxx
21st November 2005, 11:26
I am permanently confused reading here about Ateme vs Nero:
Is it same or different codec?
More over, it's written that it supports High Profile. I don't see any such options in Nero Recode
Manao
21st November 2005, 11:30
I'd say once more to use search feature, but that piece of information is a little bit harder to find that the other one. Anyway :
* nero uses ateme's encoder, from december 2004
* nero doesn't use ateme's decoder.
* both decoders support high profile
* ateme's encoder from december 2004 doesn't support high profile ( hence nero's too )
redfordxx
21st November 2005, 11:36
:thanks:
CruNcher
24th November 2005, 01:07
2 months past now should be time for a update ;)
bond
24th November 2005, 01:36
2 months past now should be time for a update ;)well i will redo the test once bigger changes to more than one decoder have been made (eg vss releasing 3.0 + new nero + more libav changes + who knows what else :D )
edit:
of course if some producer sends me an unlimited copy of a tool, i will be so happy about it i will test it right away ;)
CruNcher
24th November 2005, 12:29
The Greatest Game Ever Played Trailer
1920x1080p AVG 6 Mbit Max 22 Mbit (Main Profile)
Athlon 64 Venice 3000+ 1.8 GHz @ 2.4 GHz
32.03 ffdshow 21.11.05
31.27 nero 4.2.1.0
30.98 ateme 2.2.1.0
redfordxx
24th November 2005, 12:49
1920x1080p AVG 6 Mbit Max 22 Mbit (Main Profile)x264 or what?
CruNcher
24th November 2005, 16:02
http://trailer.nerodigital.com/eng/184.html <- this H.264 (AVC) Nero Sample
ac-chan123
24th November 2005, 16:24
Why is the MPEG4 Part 2 ASP encoded file always smaller than the H.264 encodec one(and which profile is used in the H.264 encodes)?
bond
24th November 2005, 16:42
The Greatest Game Ever Played Trailer
1920x1080p AVG 6 Mbit Max 22 Mbit (Main Profile)
Athlon 64 Venice 3000+ 1.8 GHz @ 2.4 GHz
32.03 ffdshow 21.11.05
31.27 nero 4.2.1.0
30.98 ateme 2.2.1.0wow interesting results! i thought the new nero is sooo fast?
bobololo
25th November 2005, 23:35
wow interesting results! i thought the new nero is sooo fast?
On the same clip, using the same filters (except for ffdshow which is 20051124). I got those figures on my P4 3 GHz with HT :
36.9 fps with nero
24.4 fps with ateme
22.7 fps with ffdshow
I did the measurements using Haali timeCodec application. The difference compared to CruNCher's results are due to multi-thread optimization of nero.
bond
26th November 2005, 06:05
On the same clip, using the same filters (except for ffdshow which is 20051124). I got those figures on my P4 3 GHz with HT :
36.9 fps with nero
24.4 fps with ateme
22.7 fps with ffdshow
I did the measurements using Haali timeCodec application. The difference compared to CruNCher's results are due to multi-thread optimization of nero.interesting, can you also test it without multithread?
and do you know what nero "multithreads" during decoding?
Manao
26th November 2005, 06:25
Well, since the clip in question has only one slice, it's the decoding process itself that is threaded. I would say that one thread decode the cabac and another make the MC / deblocking.
tomos
18th December 2005, 15:25
interesting, can you also test it without multithread?
and do you know what nero "multithreads" during decoding?
nero's codec is multithreaded? i'm trying it now to play back a clip i've made (1080p) and one core is maxed out on my 4400+ - i'm getting around 16fps on it. my 3800+ overclocked plays it fine (barely). same with ffdshow and libavcodec :(
Manao
18th December 2005, 18:24
Nero 7 is multithreaded, afaik.
tomos
18th December 2005, 19:28
thank you :goodpost:
was trying with v6 before. now working properly :)
cant use it in mplayer-c, have to use neros player to get it working for some reason
bond
18th December 2005, 19:51
cant use it in mplayer-c, have to use neros player to get it working for some reasonindeed, nero limits their decoder to only work in nero showtime
tomos
18th December 2005, 19:55
shame, its not a bad player, but mpC is better.
hopefully libavcodec will be multithreaded some day :) may keep on using x264 from now on, i found it nicer on hdtv material than divx - although a lot slower
PicardGK
9th January 2006, 11:43
I got those figures on my P4 3 GHz with HT :
36.9 fps with nero
24.4 fps with ateme
22.7 fps with ffdshow
Just for the record this nero result is probably false (see http://forum.doom9.org/showthread.php?p=764588#post764588 ).
Well, since the clip in question has only one slice, it's the decoding process itself that is threaded. I would say that one thread decode the cabac and another make the MC / deblocking.
Unlikely. Such huge inter communication between threads would be more pain. But non reference b-frames can be decoded in a different thread.
ChronoReverse
10th January 2006, 21:02
The Greatest Game Ever Played Trailer
1920x1080p AVG 6 Mbit Max 22 Mbit (Main Profile)
Athlon64 Winchester 3000+ @ 2.25GHz (250x9) ~3500+
VMR9
44.8 CoreAVC 0.0.0.3
28.3 ffdshow 21.12.05 GCC SSE2
Inventive Software
16th January 2006, 15:11
@Bond: Perhaps CoreAVC should be added to this, bearing in mind it can be played on your machine now. ;)
Sagittaire
13th February 2006, 01:02
First legend : "MPEG4 AVC is slow" ... and at this time MPEG4 AVC is faster than all the other codec with better quality.
Second legend : "MPEG4 AVC is hard to play".
why not general comparison with other codec:
MPEG4 ASP + FFDShow dec PP0 (default) and PP4
MPEG4 ASP + XviD dec PP0 (Default) and PP4
MPEG4 ASP + DivX dec PP0 and PP4 (Default)
VP7 + VP7 dec PP0 and PP2 (default)
VC-1 + DMO dec PP0 and PP4 (default)
IMO MPEG4 AVC + CoreAVC dec is faster than MPEG4 ASP + PP4 dec or VC-1 + PP4 dec
berrinam
13th February 2006, 08:32
IMO MPEG4 AVC + CoreAVC dec is fastest than MPEG4 ASP + PP4 dec or VC-1 + PP4 dec
You mean AVC with super-fast options, and ASP with slow options, like your other test? Sounds good.
Sagittaire
13th February 2006, 11:53
You mean AVC with super-fast options, and ASP with slow options, like your other test? Sounds good.
... lol
1) My speed encoding test all possible encoding setting for all codec (fastest and slowest setting for all codec) and fast encoding setting for AVC are by far very better for quality and speed than MPEG4 ASP slow setting. "Slow setting" for MPEG4 ASP here are not extreme setting but usual setting for all XviD/DivX user like default setting for XviD (ME6, VHQ1, Chroma, Trelli)
2) Use CoreAVC dec is not an "super-fast options" but just decoder choice and PP4 is default setting for DivX dec for example. Doom9 in this test use PP4 for all MPEG4 ASP dec ...
3)
MPEG4 ASP + FFDShow dec PP0 (default) and PP4
MPEG4 ASP + XviD dec PP0 (Default) and PP4
MPEG4 ASP + DivX dec PP0 and PP4 (Default)
VP7 + VP7 dec PP0 and PP2 (default)
VC-1 + DMO dec PP0 and PP4 (default)
MPEG4 ASP + FFDShow dec PP0 are slow options ?
VP7 + VP7 dec PP0 are slow options ?
VC-1 + DMO dec PP0 are slow options ?
For my Sempron MPEG4 AVC + CoreAVC (CABAC, High Profil, 16 ref and bref ... aka hardest setting for AVC decoding) is better for speed decoding than MPEG4 ASP (and without QPel or GMC ... aka not hardest option for ASP decoding) + PP4 ...
bond
13th February 2006, 11:55
actually i think i indeed will add an asp sample to the comparison, encoded with slowest settings possible and decoded with the fastest asp decoder (which is ffdshow afaik)
IgorC
15th February 2006, 16:48
Core AVC decoder has very high average speed. Faster than average ffdshow Xvid decoding PP4.
But it may be usefull to invistigate speed of the decoders in function of time.
I obtain some result with high-motion video :
1. Xvid ffdshow PP4 - approx. 70% of CPU usage
2. Core AVC decoder decoding x264 HP - average CPU was approx 50-55%.
But for example due to large number of ref. frames there were peaks of CPU usage (100%)
However I'm happy with a new Core AVC decoder :)
As a conclusion. Xvid had 70% of CPU usage but without 100% peaks.
Core AVC had higher decoding speed than FFdshow-Xvid speed but has some peaks on high motion due to long prediction (ref, weightb etc.).
As a result Core AVC has drop frame and/or not smooth playback.
Manao
15th February 2006, 17:46
Drop frame / speed low peaks are due to bitrate surge, and only to that. The decoding time spent in the picture processing ( interpolation, deblocking, weighted, mref ) is *roughly* constant, while decoding time for cabac is *totally* proportionnal to the bitrate, and the bitrate can vary a lot.
IgorC
15th February 2006, 18:26
ups. I had my doubt about it when thought about buffering in the RAM to avoid high bitrate peaks.
Sharktooth
15th February 2006, 18:31
CABAC eats CPU cycles almost proportionally to the bitrate...
IgorC
15th February 2006, 18:36
Yes. But in this case CABAC's performance depends more on fastness,size of RAM and BUS speed than on CPU.
BetaBoy
15th February 2006, 18:38
actually i think i indeed will add an asp sample to the comparison, encoded with slowest settings possible and decoded with the fastest asp decoder (which is ffdshow afaik)
bond.... i'll see once Toff has time for him to do a CoreASP DS port (I changed it from CoreMP4, as per your suggestion)... But we still need to add QPEL and GMC. You will find (like we have) that our ASP decoder is faster then any other ASP decoder atm. But its not fair outside of TCPMP till we get a DS filter so everyone can compare it.
iceloki
20th February 2006, 02:42
my cpu is a pentium3 866mhz
I think in nowadays most of the commercial codecs are optimized for Pentium4 (SSE2 enabled), SSE2 does improve the perfomance in a degree... So I think benchmark on a pentium4 is relative 'fair' ... ;)
bond
20th February 2006, 13:03
:search: devs have stated that sse2 is hardly useable for avc decoding (eg libavcodec doesnt use sse2 at all for avc decoding)
IgorC
20th February 2006, 20:00
Not sse2. But maybe isse. On Ateme HP encoder turned off isse CPU-instructions slowed down speed twice. Yes encoder and decoder are different things, but who knows...
akupenguin
20th February 2006, 23:13
isse = mmx2 = mmxext. And yes, ffmpeg and x264 make much use of it. Most dsp functions have only an mmx2 implementation, not mmx1. Because it's such a pain to write mmx without pavgb and pshufw...
Hans Ohlo
3rd March 2006, 09:40
has anyone got the intervideo h264 decoder working?
i tried it in windvd and as an directshow filter, but i couldn't get a picture from it.
(plus is tried the new nvida drivers with h264 acceleration, but also nothing)
bond
3rd March 2006, 10:41
the intervideo decoder is an old version of the videosoft decoder i have in my comparison already
the last windvd build i checked (7.0.27.172, i think from this feb) still had that old build from 2004, which surely doesnt support the nvidia gpu
so unless there is a new windvd version out with new decoder you cant use it with nvidia
robU*4
18th April 2006, 17:01
Bond, did you get a version of CoreAVC to test ? How does it compare to the rest of the test ?
bond
18th April 2006, 17:31
Bond, did you get a version of CoreAVC to test ? How does it compare to the rest of the test ?i havent found the time to do the comparison till now :B
also i am waiting for elecard, so i guess it will take some time till i update the comparison
BetaBoy
18th April 2006, 18:51
bond.... i'll see once Toff has time for him to do a CoreASP DS port (I changed it from CoreMP4, as per your suggestion)... But we still need to add QPEL and GMC. You will find (like we have) that our ASP decoder is faster then any other ASP decoder atm. But its not fair outside of TCPMP till we get a DS filter so everyone can compare it.
Not sure if I posted a followup... but QPEL and GMC were added to CoreASP in the TCPMP RC1 release... we however need to add Post Processing.
SeeMoreDigital
18th April 2006, 19:18
but QPEL and GMC were added to CoreASP in the TCPMP RC1 release... we however need to add Post Processing.May I test this please?
Cheers
BetaBoy
18th April 2006, 22:00
http://picard.exceed.hu/tcpmp/test/tcpmp.win32.0.72RC1.zip
ChronoCross
18th April 2006, 22:48
http://picard.exceed.hu/tcpmp/test/tcpmp.win32.0.72RC1.zip
Ihaveabugreport.thisversionseemstodisablethespacebarwhileitisopen
In case you couldn't read it: This version disables the spacebar while the program is open. Windows XP pro SP2.
siddharthagandhi
19th April 2006, 02:35
I have a relatively high end system what benefits would I see with a good decoder?
I have watched a lot of AVC content, and the decoder is probably Nero AVC or something like that (because I have Nero suite installed), and I haven't had any problems with playback.
Would there be a really good quality benefit, so good that I should go out and purchase CoreAVC? Because decoding speed isn't a problem, even at high bitrates (I have encoded at 16 mbps and played it back just fine).
Avish
19th April 2006, 07:50
Ihaveabugreport.thisversionseemstodisablethespacebarwhileitisopen
In case you couldn't read it: This version disables the spacebar while the program is open. Windows XP pro SP2.Its was there in previous version also, I reported this almost 2 weeks back http://forum.doom9.org/showthread.php?p=810623#post810623
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.