Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th August 2005, 19:15   #1  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
MPEG-4 AVC/H.264 decoder comparison

one of the main advantages of open standards, like mpeg-4 avc, is that it leads to competition between various codec producers as the consumer will always tend to use the product with the best price/performance relationship.

while prices are pretty well known for the consumer there is one thing often lying in the dark: the actual performance

while for the encoding side quality comparisons exist, like the one from doom9, decoders are often overlooked. of course, as every decoder should output exactly the same picture and speed also didnt really play a role as existing formats are pretty easy to decode.
but with a format, like avc, which needs a lot of resources while decoding, this might be different for a lot of people who dont own top of the notch pcs.

so as avc is very speed consuming and actually only one free avc decoder is existing (libavcodec) it indeed makes sense to compare the performance of existing decoders, before the user decides what to spend his money on

in this comparison i will compare the following decoders:
- ateme
- elecard
- libavcodec
- mainconcept
- moonlight
- nero
- videosoft

imho the quality of a decoder is defined by four things:
A) price
B) supported features of the format
C) decoding speed
D) postprocessing


A) PRICE

its pretty easy to check out the prices of the available decoders:
- libavcodec: 0 USD as being opensource, but you have to compile it yourself, supported in various players
- videosoft: 19.95 USD, available in their "VSS H.264/AVC Codec Baseline" tool
- moonlight: 20 USD, available in the "Moonlight-Elecard MPEG Player 3.0"
- nero: 29.90 USD, available in their "Nero Digital Pro" tool
- elecard: 499 USD, available in the mainconcept "H.264 Encoder v2" tool
- mainconcept: 499 USD, not available anymore, has been available in their "H.264 Encoder v1" tool (v2 uses the elecard decoder)
- ateme: not publically available


B) SUPPORTED FEATURES

according to my tests the following features are NOT supported by the different decoders (version number described below):

Code:
		|   ateme   |  elecard  | libavcodec | mainconcept | moonlight |   nero   | videosoft |
------------------------------------------------------------------------------------------------------
BASELINE PROFILE|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
p4x4,b8x8,i4x4  |           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
loop		|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
multireferences	|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
adaptive quant	|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------
MAIN PROFILE	|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
b-frames	|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
b-references	|           |           |            |             |           |          |     x     |
------------------------------------------------------------------------------------------------------
wp,wbp		|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
cabac		|           |           |            |             |           |          |           |
------------------------------------------------------------------------------------------------------
fields-only	|           |           |            |      *      |           |          |           |
------------------------------------------------------------------------------------------------------
paff		|           |           |            |      *      |     *     |          |     x     |
------------------------------------------------------------------------------------------------------
mbaff		|           |           |            |      *      |     x     |          |     x     |
------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------
HIGH PROFILE	|           |           |            |      x      |           |          |     x     |
------------------------------------------------------------------------------------------------------
8x8dct		|           |           |            |      x      |           |          |     x     |
------------------------------------------------------------------------------------------------------
i8x8		|           |           |            |      x      |           |          |     x     |
------------------------------------------------------------------------------------------------------
cqm		|           |           |            |      x      |           |          |     x     |
------------------------------------------------------------------------------------------------------
lossless	|           |     x     |            |      x      |     x     |    x     |     x     |
------------------------------------------------------------------------------------------------------
so the only decoder which supported everything was the not publically available decoder from ateme
second place goes to libavcodec (not supporting interlacing), elecard and nero (not supporting lossless avc)
the not anymore developed decoders from mainconcept and moonlight had problems with their interlacing support. moonlight shows artefacts with paff. mainconcept shows artefacts with all interlacing modes.
videosoft didnt support b-references/arbitrary frame orders

it also gets interesting when looking at the high profile support, whose tested features were supported more or less by libavcodec, moonlight, elecard and nero but fully only by ateme


C) DECODING SPEED

as all decoders are available as directshow decoders i used this interface for testing the decoders
additionally i also tested libavcodec in mplayer to honor its advantage of being useable also in potentially better and faster interfaces than directshow

my cpu is a pentium3 866mhz

the speed has been measured with elecard's great Chegepuga filter, available here. yv12 output has been enforced, which all decoders supported

the graph has been setup as
file parser -> decoder -> chegepuga

as some decoders are limited to or work best with specific file formats, eg mainconcept only works with .mpg, i decided to use the file parsers of the decoder manufacturers too. this also helped avoiding interoperability problems. of course faster parsers can influence the output speed positively, which has to be taken into account when looking at the values described below

the following filter/parser combinations have been used:
Code:
ateme:			ateme mp4 parser 1.2.5.3 / ateme decoder 2.2.1.0
ateme_old: 		ateme mp4 parser 1.2.2.0 / ateme decoder 1.1.2.0
elecard:		elecard mp4 parser 1.4.0 b50929 / mainconcept decoder 1.01.00.07
libav-ffdshow:		haali mp4 parser Sep 03 2005 / ffdshow-libavcodec decoder Oct 13 2005
libav-ffdshow_old:	haali mp4 parser Aug 18 2005 / ffdshow-libavcodec decoder Aug 22 2005
libav-mplayer:		mplayer mp4 parser cvs aug 12 2005 / mplayer-libavcodec decoder cvs aug 12 2005
mainconcept:		mainconcept mpg parser 1.00.01.02 / mainconcept decoder 1.01.00.04
moonlight: 		elecard mp4 parser 1.3.5 b50823 / moonlight decoder 0.9.0 b50208
nero:			nero mp4 parser 2.0.2.49 / nero decoder 2.0.2.46
videosoft: 		m$ avi parser 6.5.1.902 / videosoft decoder 2.3.1.5
videosoft_old:		m$ avi parser 6.5.1.902 / videosoft decoder 2.0.2.3
the method for measuring the libavcodec performance with mplayer is described here

the source was the typical matrix 1 clip often used for comparisons (smith interrogating morpheus, lobby shootout), ~7000 frames
various resolutions and codec settings have been used (the details can be seen in the raw results attached below), the target bitrate was ~700kbps, which can be seen as the typical 1 CDR DVD backup bitrate

as encoder x264 has been used, because its one of the most complete encoders and easy to configure
also its able to output directly to .mp4, which most decoders supported
.mpg has been muxed from .mp4 with ffmpeg cvs june 24 2005

the following amount of samples have been encoded:
high profile: 9
main profile: 13
baseline profile: 1

Results: (measured in frames per second)

ALL SAMPLES
average of all samples except 1 with cqm

Code:
ateme: 			58.78
libav-mplayer:		58.22
moonlight: 		55.48
libav-ffdshow:		52.15
libav-ffdshow_old:	52.11
nero:			50.74
elecard: 		44.04
HIGH PROFILE
average of all samples except 1 with cqm

Code:
libav-mplayer:		55.11
ateme:			53.77
moonlight: 		49.57
libav-ffdshow:		49.44
libav-ffdshow_old:	48.84
nero:			46.37
elecard:		40.48
ateme_old: 		high profile not supported
mainconcept:		high profile not supported
videosoft:		high profile not supported
MAIN PROFILE

Code:
ateme:			60.83
libav-mplayer:		59.00
moonlight: 		57.59
libav-ffdshow_old:	53.24
libav-ffdshow:		53.08
nero:			52.58
elecard:		45.61
mainconcept:		43.40
videosoft:		not all samples tested (b-ref not supported)
ateme_old: 		not all samples tested (b-ref not supported)
BASELINE PROFILE

Code:
moonlight:		75.34
libav-mplayer:		72.88
ateme:			72.28
ateme_old:		70.63
videosoft:		64.01
libav-ffdshow_old:	63.47
libav-ffdshow:		61.83
nero:			61.80
elecard:		52.02
mainconcept:		51.16
videosoft_old:		33.46
- libavcodec in mplayer and ateme are nearly always the fastest

when looking only at the directshow decoders you see that
- moonlight is faster than ffdshow and nero (but not than mplayer)
- ffdshow is as good as always faster than nero
- videosoft is performing in the middle
- elecard and mainconcept are slow


D) POST PROCESSING

imho post processing doesnt really play a role with avc, as the format itself is already good enough to provide a pretty good picture without the need for enhancing it during playback
as post processing would also require more processor power and the output quality would have to be judged subjectively i left it away in this comparison totally


CONCLUSION

the results show once again that opensource development is very powerful when it comes to providing excellent quality as libavcodec was able to provide great speeds when being used in the opensource mplayer and also supports as good as all tested avc features except interlacing

the not publically available decoder from ateme also provided excellent results outperforming the other decoders on many samples and being the only one which supported all tested coding features

moonlight was a surprise for me as it provided excellent speed results, supported nearly all avc features i tested and is also relatively cheap available. also moonlight offers the possibility to play avc in .mp4 and .mpg
moonlight is bankrupt and selling its tools, including the decoder, atm. i hope someone will buy it and continue developing it, its really worth it

nero was a disappointment imho as it was till now always seen as the benchmark, a role it clearly wasnt able to play, being slower than moonlight and also slightly slower than ffdshow, not to speak of mplayer
it also has to be mentioned that nero uses a very fast mp4 parser, whereas ffdshow and moonlight used slower ones
still nero also supports a lot of avc features

judging from the price mainconcept charges for their avc implementation (499 USD) i had high expectations for both mainconcepts original decoder (available in v1) and the new elecard decoder its uses since v2, which it surely didnt meet, as it performed pretty poorly
i know elecard's decoder is very new and i hope they will continue improving it so it can keep up speedwise with the other decoders and also with the price you have to pay for it. it already supports a lot of avc features

videosoft's decoder was a midperformer, with the downside of not supporting b-references, paff/mbaff and high profile. i know vss is working on high profile, but i wasnt able to test it. i hope the bref thing will get fixed soon so i can rank the decoder speedwise in main profile too
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free

Last edited by bond; 14th October 2007 at 10:11.
bond is offline   Reply With Quote
Old 30th August 2005, 19:22   #2  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
i finally found the time to calculate how the different decoders perform on different coding tools, eg which decoder is the fastest on decoding cabac, etc...

the results shown below can give you an idea on how the decoders perform, of course the results are only valid on the specific two clips i compared for deriving the shown value (in fps) telling the decoding speed difference between two clips (one with the specific feature enabled and the other one with the feature disabled)
i ranked the decoders by the % by which the decoding speed decreases when an additional features is enabled

the higher the shown value, the worse the performance of the decoder for the specific feature:

Code:
------------------------------------------------------------------------
------------------------------------------------------------------------
blocksizes

p8x8 vs. p4x4

720x288	 B2 Ref3 i4x4 cabac

nero:			18,4%	12,00
ateme_old:		9,7%	5,13
ateme:			9,2%	5,62
videosoft:		5,7%	3,24
libav-ffdshow:		1,7%	1,03
libav-mplayer:		1,5%	1,00
elecard:		1,5%	0,74
libav-ffdshow_old:	1,4%	0,84
moonlight:		1,1%	0,68
mainconcept:		0,8%	0,37

------------------------------------------------------------------------
i4x4 vs. i8x8

720x288	B3-Ref Ref5 p4x4 loop-5 WBP cabac

ateme:			4,8%	2,57
elecard:		3,1%	1,20
libav-ffdshow:		1,3%	0,59
libav-ffdshow_old:	0,9%	0,40
libav-mplayer:		0,0%	0,01
moonlight:		-0,1%	-0,06
nero:			-0,7%	-0,28


640x256 B3-Ref Ref5 p4x4 loop-5 WBP cabac

libav-ffdshow_old:	4,8%	2,87
elecard:		4,3%	2,12
ateme:			3,0%	1,94
libav-mplayer:		2,0%	1,26
moonlight:		1,3%	0,70
nero:			0,4%	0,21
libav-ffdshow:		-5,8%	-3,09

------------------------------------------------------------------------
------------------------------------------------------------------------
multiple reference frames

ref1 vs. ref5

720x288	 B3-Ref p4x4-i4x4 loop-5 WBP cabac

nero:			10,8%	5,06
libav-mplayer:		10,0%	5,53
elecard:		7,1%	2,95
libav-ffdshow:		7,0%	3,42
ateme:			6,7%	3,85
libav-ffdshow_old:	6,7%	3,22
mainconcept:		5,5%	2,12
moonlight:		5,1%	2,46

------------------------------------------------------------------------
ref1 vs. ref3

720x288	 B3-Ref p4x4-i4x4 loop-5 WBP cabac

libav-mplayer:		7,6%	4,59
nero:			7,3%	4,33
ateme:			5,9%	3,97
libav-ffdshow:		5,7%	3,12
elecard:		5,7%	2,69
libav-ffdshow_old:	5,3%	3,02
mainconcept:		4,4%	1,99
moonlight:		2,7%	1,86

------------------------------------------------------------------------
ref3 vs. ref5

720x288  B3-Ref p4x4-i4x4 loop-5 WBP cabac

libav-mplayer:		1,8%	0,94
nero:			1,7%	0,73
moonlight:		1,3%	0,60
elecard:		0,7%	0,26
libav-ffdshow:		0,7%	0,30
libav-ffdshow_old:	0,4%	0,20
mainconcept:		0,4%	0,13
ateme:			-0,2%	-0,12

------------------------------------------------------------------------
------------------------------------------------------------------------
weighted (bi)prediction

wbp vs. nowbp

720x288  B3-Ref	Ref3 p4x4-i4x4 loop-5 cabac

moonlight:		20,0%	11,54
mainconcept:		10,4%	4,27
elecard:		8,4%	3,55
nero:			6,2%	2,80
libav-mplayer:		2,3%	1,22
libav-ffdshow_old:	2,1%	0,96
libav-ffdshow:		1,1%	0,49
ateme:			0,9%	0,46

------------------------------------------------------------------------

wp+wbp vs. nowp+nowbp

640x256  B2   Ref3 p8x8-i4x4 loop-5 cabac

videosoft:		35,6%	19,74
moonlight:		23,6%	16,18
nero:			13,7%	8,16
mainconcept:		12,3%	5,58
elecard:		11,3%	5,37
ateme_old:		9,1%	5,25
libav-mplayer:		4,3%	2,63
libav-ffdshow_old:	2,9%	1,61
ateme:			2,4%	1,65
libav-ffdshow:		0,4%	0,20

------------------------------------------------------------------------
------------------------------------------------------------------------
b-frames

0 B-frames vs. 3 B-frames

720x288 Ref5 p4x4-i8x8 loop-5 WBP cabac

moonlight:		27,7%	17,49
nero:			27,6%	15,52
elecard:		18,3%	8,30
ateme:			16,5%	9,95
libav-mplayer:		14,0%	8,09
libav-ffdshow:		12,5%	6,37
libav-ffdshow_old:	11,8%	5,90

------------------------------------------------------------------------
0 B-frames vs. 2 B-frames

640x256 Ref3 p8x8-i4x4 loop-5 cabac

ateme_old:		20,0%	14,35
mainconcept:		13,6%	7,17
libav-ffdshow:		12,9%	8,08
ateme:			12,7%	9,80
elecard:		12,6%	6,81
nero:			12,4%	8,40
libav-ffdshow_old:	12,3%	7,89
libav-mplayer:		11,4%	7,79
moonlight:		9,5%	7,21
videosoft:		9,0%	5,50

------------------------------------------------------------------------
0 B-frames vs. 1 B-frames

720x288 Ref5 p4x4-i8x8 loop-5 WBP cabac

moonlight:		23,1%	14,55
nero:			21,8%	12,23
elecard:		15,4%	6,97
ateme:			13,6%	8,20
libav-mplayer:		8,4%	4,81
libav-ffdshow:		8,3%	4,25
libav-ffdshow_old:	5,8%	2,92

------------------------------------------------------------------------
1 B-frames vs. 3 B-frames

720x288 Ref5 p4x4-i8x8 loop-5 WBP cabac

nero:			7,5%	3,29
libav-ffdshow_old:	6,3%	2,98
libav-mplayer:		6,2%	3,28
moonlight:		6,1%	2,94
libav-ffdshow:		4,5%	2,12
elecard:		3,5%	1,33
ateme:			3,4%	1,75

------------------------------------------------------------------------
B-ref vs. no B-ref

720x288	 B3 Ref5 p4x4-i8x8 loop-5 WBP cabac

nero:			3,4%	1,39
libav-ffdshow:		0,9%	0,38
libav-mplayer:		0,8%	0,41
ateme:			0,7%	0,34
libav-ffdshow_old:	0,4%	0,16
elecard:		0,2%	0,08
moonlight:		-0,1%	-0,04

------------------------------------------------------------------------
------------------------------------------------------------------------
loop

loop-5 vs. no loop

720x288	 B2 Ref3 p8x8-i4x4 cabac

libav-mplayer:		21,0%	14,16
libav-ffdshow:		20,5%	12,28
nero:			19,8%	12,89
libav-ffdshow_old:	18,7%	10,85
elecard:		18,4%	9,34
mainconcept:		15,8%	7,48
videosoft:		14,3%	8,18
moonlight:		6,9%	4,34
ateme:			6,2%	3,80
ateme_old:		4,9%	2,62


720x288  B3-Ref Ref5 p4x4-i8x8 WBP cabac

libav-ffdshow:		20,6%	11,67
libav-mplayer:		19,4%	12,05
libav-ffdshow_old:	17,3%	9,30
elecard:		17,0%	7,62
nero:			16,5%	8,33
ateme:			6,2%	3,37
moonlight:		5,8%	2,80

------------------------------------------------------------------------
loop-5 vs. loop+6

720x288	 B3-Ref	Ref5 p4x4-i8x8 WBP cabac

ateme:			14,7%	7,45
moonlight:		11,9%	5,44
nero:			7,4%	3,11
libav-ffdshow_old:	5,5%	2,43
libav-mplayer:		5,3%	2,67
libav-ffdshow:		4,4%	2,00
elecard:		4,2%	1,55

------------------------------------------------------------------------
------------------------------------------------------------------------
cabac

cabac vs. no cabac

720x288	 B3-Ref	Ref5 p4x4-i8x8 loop-5 WBP

libav-mplayer:		16,0%	9,54
libav-ffdshow_old:	15,1%	7,89
libav-ffdshow:		13,8%	7,20
ateme:			10,3%	5,80
moonlight:		9,3%	4,68
nero:			5,2%	2,31
elecard:		4,9%	1,90

------------------------------------------------------------------------
------------------------------------------------------------------------
cabac + noloop vs. loop-5 + nocabac

720x288  B3-Ref Ref5 p4x4-i8x8 WBP

elecard:		12,8%	5,72
nero:			12,0%	6,02
libav-ffdshow:		7,9%	4,47
libav-mplayer:		4,1%	2,51
libav-ffdshow_old:	2,6%	1,41
moonlight:		-3,9%	-1,88
ateme:			-4,5%	-2,43

------------------------------------------------------------------------
------------------------------------------------------------------------
resolution

720x288 vs. 640x256

B3-Ref	Ref5 p4x4-i8x8 loop-5 WBP cabac

nero:			22,8%	12,43
libav-ffdshow_old:	21,1%	11,87
elecard:		20,4%	9,49
libav-ffdshow:		20,3%	11,48
ateme:			20,2%	12,83
libav-mplayer:		20,1%	12,54
moonlight:		17,2%	9,46

------------------------------------------------------------------------
------------------------------------------------------------------------
custom quant matrix

cqm qmatrix vs. no cqm

720x288 B3-Ref	Ref5 p4x4-i8x8 loop-5 WBP cabac

nero:			7,5%	2,68
ateme:			3,5%	1,71
elecard:		3,3%	1,50
moonlight:		1,7%	0,67

------------------------------------------------------------------------
------------------------------------------------------------------------
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free

Last edited by bond; 16th October 2005 at 23:40.
bond is offline   Reply With Quote
Old 30th August 2005, 21:43   #3  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768

sorry, i need to buy a pair of googles...
Sharktooth is offline   Reply With Quote
Old 31st August 2005, 03:20   #4  |  Link
celtic_druid
Registered User
 
celtic_druid's Avatar
 
Join Date: Oct 2001
Location: Melbourne, Australia
Posts: 2,171
@bond, did you use my ffdshow build as is? Because the libavcodec is built with gcc and generic flags. It might be interesting to see the same test with a version compiled with flags specific for your CPU, since as you say ffdshow is not that much slower than moonlight.
celtic_druid is offline   Reply With Quote
Old 1st September 2005, 20:34   #5  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
first of all thx for all the responses and the interest!

Quote:
Originally Posted by celtic_druid
@bond, did you use my ffdshow build as is? Because the libavcodec is built with gcc and generic flags. It might be interesting to see the same test with a version compiled with flags specific for your CPU, since as you say ffdshow is not that much slower than moonlight.
yep i used your build as is. if you could make a build compiled for my pentium3 866mhz i would be happy to test it too

Quote:
Originally Posted by bill_baroud
your results numbers mean absolutly nothing... You could write somewhere that you are talking about Frame Per Second (and not cpu occupation or whatelse)... That puzzled me until i decided to read the thread linked in your post.
indeed, i will add this

Quote:
Originally Posted by alexcyn
It seems you are using very-very old videosoft decoder version 2.0.2.3. New much faster version 2.2 is available for already long time. Free evaluation of VSS h264 DirectShow decoder filter 2.2 is available here:
i used indeed an old version, and that was mainly done because i did the test to find out what decoder i could use for my encodes, so i used the last version you released which was unlimited

i simply wasnt really interested in testing a decoder which becomes useless for me after 30 days

Quote:
The DirectShow decoder should support any format, not only AVI.
hm i think your decoder works with the VSSH and H264 fourcc. actually i dont know a splitter which outputs this (eg from .mp4 or .mpg) your decoder could connect to, so theoretically your decoder can of course work with any format, but practically its not so easy till now

Quote:
Commercial version of the decoder is included into both Base ($20) and Main ($99) codec 2.3 consumer packages, so the price of the decoder is only $20.
so the 20$ baseline version includes a main profile decoder?

Quote:
The newest VSS H264 decoder 3.0 (currently available only in Professional products) supports all features from Main & Baseline profiles as well as High Profile. Also it has performance ~15% better than version 2.2.
sounds indeed very powerful and i would love to test it, its just that the 30days limit makes it pretty useless for me, but if you send me an unlimited copy i will of course test it

Quote:
By the way, what hardware (CPU, memory) are you using?
a good old pentium3 866mhz

Quote:
Alexey Doilnitsyn, VSS Inc.
great to have you around on doom9!

Quote:
Originally Posted by Manao
Also, I wouldn't have used average speeds but, inverse of average of inverse speeds ( hence, the sum of decoding
hm the clips all have the same lenght, in what way would the sum tell us more?

Quote:
Finally, including mplayer is great for promotting mplayer ( or vlc, btw ), but serves no purposes in your comparison : you're comparing decoders, not players ( and -vo null is almost cheating if it does what I think )
well the point is you have to see this from a users point of view and the user asks "what player should i play my avc clips with"
for the user it doesnt matter what codec interface stands behind it, be it directshow or whatever

i am actually also planning to add decoding of qt7 to the comparison, but i am simply too lazy to set it up

the thing is if the commercial decoders are limited to directshow, its the commercials decoders problem and not libavcodec's, which is simply available in a form which allows it to be used in superior platforms than directshow, that should be honored

and as you saw i also included ffdshow and it still performed great

Quote:
Originally Posted by hpn
"-vo null" means mplayer will output no frame to a video device. I've never tried the Chegepuga filter that Bond has used with the paid decoders, but I guess It does the same thing (plus the fps measuring itself), so unless I'm missing something I don't see any cheating here.
chegepuga is also a null renderer with fps measurement, exactly the same as what mplayer does imho

Quote:
Originally Posted by akupenguin
cabac isn't baseline. (wpred isn't either, but wbp without B-frames doesn't matter)
my fault, the baseline clip i tested of course didnt use cabac, altough i noted it (must be a copy paste error or so)

actually i noticed that x264 enables the wbp flag in the pps altough it sets the baseline profile in the sps correctly

Quote:
Also, how about lossless and interlacing in the feature comparison?
yep i thought about that too, i was too lazy to do it actually, also i lacked the time to really make some good comparable interlaced clips with the reference
maybe i will simply test the decoders capabilities on the clips i have lying around without speed measurement
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free

Last edited by bond; 1st September 2005 at 20:37.
bond is offline   Reply With Quote
Old 1st September 2005, 21:05   #6  |  Link
Nil Einne
Registered User
 
Join Date: Feb 2003
Posts: 46
I could be wrong but I was under the impression not all decoders are equal quality-wise. Frequently they use estimations etc to improve speed which is fine but when quality can very IMHO a straight out speed test is not so meaningful for many people. I could make a decoder that is very very fast but the output it so crap it isn't worth it. Of course I'm aware quality issues are a problem since it's so subjective so instead, I would recommend you get the reference implementation of h.264 which I assume is completely accurate and then do a mathematical comparison. Of course, this can be a bit misleading since a smart decoder may have higher mathmatical difference but lower noticable difference but it's better then nothing.
Nil Einne is offline   Reply With Quote
Old 3rd September 2005, 03:35   #7  |  Link
TheBashar
Registered User
 
TheBashar's Avatar
 
Join Date: Jan 2002
Posts: 112
Quote:
Originally Posted by Nil Einne
I could be wrong but I was under the impression not all decoders are equal quality-wise.
I concur on this point. After reading your comparison, I tried out the Moonlight-Elecard MPEG Player that Bond linked to. In testing with some of my AVC high-profile encodes, I found it periodically produced dark macroblocks which did not appear when using nero's decoder.

Being fast is great, but not at the cost of decoding artifacts.

Here's a sample of what I'm talking about:


Last edited by TheBashar; 3rd September 2005 at 03:43.
TheBashar is offline   Reply With Quote
Old 2nd September 2005, 06:26   #8  |  Link
Sergey A. Sablin
Registered User
 
Join Date: Dec 2004
Location: Tomsk, Russia
Posts: 366
Quote:
Originally Posted by bond
chegepuga is also a null renderer with fps measurement, exactly the same as what mplayer does imho
Bond, I dunno what exactly does mplayer with "-vo null" option, but I exactly know what does chegepuga - DShow decoder should copy output frame into this renderer. So if mplayer with "-vo null" doesn't require this from decoder, then it is the difference for the test, cause for real playback decoders in mplayer also should do the copy.
In that way real performance can be different from what you have measured.
Does somebody know how mplayer process with this option? with or without the copy?
Sergey A. Sablin is offline   Reply With Quote
Old 2nd September 2005, 10:42   #9  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
well the mplayer devs recommend when wanting to do benchmarks to use the -vo null and -benchmark options, so i assume the output values are useable!?
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline   Reply With Quote
Old 2nd September 2005, 11:00   #10  |  Link
Sergey A. Sablin
Registered User
 
Join Date: Dec 2004
Location: Tomsk, Russia
Posts: 366
Quote:
Originally Posted by bond
well the mplayer devs recommend when wanting to do benchmarks to use the -vo null and -benchmark options, so i assume the output values are useable!?
Sure it usable. But if mplayer doesn't require output frame copy, then this values are only usable to compare different decoders inside mplayer - not with decoders inside DShow environment, do you agree?
But if mplayer also require to do this copy, then results are also comparable to DS filters.

(I just mean that if devs recommend this way to measure performance than we can't say that it measure like another tools)
Sergey A. Sablin is offline   Reply With Quote
Old 6th November 2007, 12:59   #11  |  Link
COOL-GOOD
Registered User
 
Join Date: Oct 2007
Posts: 1
Ateme MPEG-4 AVC H.264 Encoder PC Suite

Ateme MPEG-4 AVC H.264 Encoder PC Suite

i believed that a program "Ateme MPEG-4 AVC H.264 Encoder PC Suite" is good nothing like for Video Converter after the experiment of many of other programs...

> MPEG-4 AVC / H.264 Baseline, Main, High Profile
> From QCIF to Full HD 1080i
> Advanced audio codecs
> Up to 7 audio tracks encoding
> DVB subtitles and DVB Teletext
> Professional pre-processing
> Batch processing and job manager
> Both SD and HD full support in the same product
> Reduce bitrate up to 50% compared to MPEG-2 and preserve the same high quality
> Optimized architecture for multi-processor platforms to achieve real-time encoding
> Easy automation to run 24/7 processes
> Fully interoperable with major Set Top Boxes and VOD platforms
--------------------------
VIDEO ENCODERS

> H.264 BP and MP
> MPEG-4 SP
> JPEG/MJPEG

VIDEO DECODERS

> H.264 BP & MP
> MPEG-4 SP & ASP
> Xvid & similar codecs
> MPEG-2 MP@ML
> WMV/ VC1
> JPEG/MJPEG
> Enhanced JPEG for Consumer Electronics aaplications
AUDIO COMPRESSION

AUDIO ENCODERS

> MP3
> AAC
> MPEG-1 Layer 2
> ADPMC

AUDIO DECODERS

> AAC LC & HE
> AC3
> MP3
> WMA
> ADPMC
PRE-/POST-PROCESSING

> Resizer
> De-interlacer
> Dithering
> RGB/YUV conversion
TOOLS

> Streaming protocols
> File reader/writer
> A/V Sync
For more informations:
http://www.ateme.com/TEC_codecs.php

@edit by admin: Pirated tools have no place on this board.

Last edited by Doom9; 6th November 2007 at 15:42.
COOL-GOOD is offline   Reply With Quote
Old 23rd February 2011, 21:41   #12  |  Link
crouserali
Registered User
 
Join Date: Jan 2011
Posts: 3
Follow the development of H.264

Hello to every one
I need help in finding the new developments made to the H.264, can any onehelp me?
and what is the referance software used for such development?
best regards.

pleas send me an email to:
mohammed.ali.82@gmail.com

Last edited by crouserali; 23rd February 2011 at 21:44. Reason: Adding contact
crouserali is offline   Reply With Quote
Old 2nd September 2005, 11:01   #13  |  Link
akupenguin
x264 developer
 
akupenguin's Avatar
 
Join Date: Sep 2004
Posts: 2,392
Quote:
Originally Posted by Sergey A. Sablin
Does somebody know how mplayer process with this option? with or without the copy?
libavcodec returns a pointer into the same decoded picture buffer used for inter prediction. Then real vos copy it to video memory, and -vo null doesn't. (In some formats (including ASP but not yet implemented for H.264), frames that don't need to be kept (B-frames or Intra-only) can be decoded directly into video memory, or incrementally into a video filter if some filtering is performed.)

You're saying that in DShow, instead the vo passes a pointer to the decoder, and real vos pass a pointer to video memory while chegepuga passes a pointer to some dummy buffer that's never read?

Last edited by akupenguin; 2nd September 2005 at 11:05.
akupenguin is offline   Reply With Quote
Old 2nd September 2005, 11:16   #14  |  Link
Sergey A. Sablin
Registered User
 
Join Date: Dec 2004
Location: Tomsk, Russia
Posts: 366
Quote:
Originally Posted by akupenguin
libavcodec returns a pointer into the same decoded picture buffer used for inter prediction. Then real vos copy it to video memory, and -vo null doesn't. (In some formats (including ASP but not yet implemented for H.264), frames that don't need to be kept (B-frames or Intra-only) can be decoded directly into video memory, or incrementally into a video filter if some filtering is performed.)

You're saying that in DShow, instead the vo passes a pointer to the decoder, and real vos pass a pointer to video memory while chegepuga passes a pointer to some dummy buffer that's never read?
I mean that in DShow decoder after frame decoding should copy the output frame into another location which is indicated by pointer passed to decoder by downstream filter (which is in this case chegepuga and in real playback is video renderer), but I don't know whether mplayer requires this too.
Sergey A. Sablin is offline   Reply With Quote
Old 2nd September 2005, 14:01   #15  |  Link
alexcyn
Registered User
 
alexcyn's Avatar
 
Join Date: Jan 2003
Location: St.Petersburg, Russia
Posts: 11
To: Bond

To: Bond
> i used indeed an old version, and that was mainly done because i
> did the test to find out what decoder i could use for my encodes,
> so i used the last version you released which was unlimited
unlimited free version may violate h264 patents, thats why we had to limit it by 30 days :-(.

> i simply wasnt really interested in testing a decoder which becomes
> useless for me after 30 days
we will think, may be it makes sense to give you unlimited version for testing.

> hm i think your decoder works with the VSSH and H264 fourcc.
> actually i dont know a splitter which outputs this (eg from .mp4 or .mpg)
> your decoder could connect to, so theoretically your decoder can of
> course work with any format, but practically its not so easy till now
Yes, version 2.0 was limited by 2 fourccs, but version 2.2 accepts any fourcc (type=video, subtype=[any]).

> so the 20$ baseline version includes a main profile decoder?
YES
=Alexei, VSS
alexcyn is offline   Reply With Quote
Old 2nd September 2005, 14:06   #16  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
thx for the info!
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline   Reply With Quote
Old 31st August 2005, 10:53   #17  |  Link
bill_baroud
Registered User
 
Join Date: Feb 2002
Posts: 407
Thanks for this usefull test !
I would just say that, for people like me who didn't go read the thread about libavcodec speed measurement, your results numbers mean absolutly nothing... You could write somewhere that you are talking about Frame Per Second (and not cpu occupation or whatelse)... That puzzled me until i decided to read the thread linked in your post.
bill_baroud is offline   Reply With Quote
Old 31st August 2005, 14:03   #18  |  Link
alexcyn
Registered User
 
alexcyn's Avatar
 
Join Date: Jan 2003
Location: St.Petersburg, Russia
Posts: 11
VSS (videosoft) h264 decoder

Hi Bond.
It seems you are using very-very old videosoft decoder version 2.0.2.3. New much faster version 2.2 is available for already long time. Free evaluation of VSS h264 DirectShow decoder filter 2.2 is available here:
http://www.vsofts.com/h264/decoders.html
See item "Installation". Or direct link to installer:
http://www.vsofts.com/h264/pub/vssh3dec.exe
The DirectShow decoder should support any format, not only AVI.

Commercial version of the decoder is included into both Base ($20) and Main ($99) codec 2.3 consumer packages, so the price of the decoder is only $20.

The newest VSS H264 decoder 3.0 (currently available only in Professional products) supports all features from Main & Baseline profiles as well as High Profile. Also it has performance ~15% better than version 2.2.

By the way, what hardware (CPU, memory) are you using?

=Alexey Doilnitsyn, VSS Inc.

Last edited by alexcyn; 31st August 2005 at 14:08.
alexcyn is offline   Reply With Quote
Old 31st August 2005, 15:22   #19  |  Link
Manao
Registered User
 
Join Date: Jan 2002
Location: France
Posts: 2,856
Quote:
i didnt know what to expect from the ateme decoder and i also have to say i wasnt really positively surprised as it performed in the middle or slow
i have to note that ateme is working on a new decoder also supporting high profile, which i wasnt able to test, i hope they will also enhance decoding speed
for the main profile that are decoded by ffdshow / moonlight / nero / ateme, the average speeds are respectively 55.93, 61.94, 56.69 and 54.65. So indeed, moonlight is above the others, but the others rank the same.

Also, I wouldn't have used average speeds but, inverse of average of inverse speeds ( hence, the sum of decoding time ).

Finally, including mplayer is great for promotting mplayer ( or vlc, btw ), but serves no purposes in your comparison : you're comparing decoders, not players ( and -vo null is almost cheating if it does what I think )
__________________

Last edited by Manao; 31st August 2005 at 15:25.
Manao is offline   Reply With Quote
Old 31st August 2005, 16:43   #20  |  Link
hpn
Registered User
 
Join Date: Jan 2005
Posts: 191
Quote:
Originally Posted by Manao
and -vo null is almost cheating if it does what I think
"-vo null" means mplayer will output no frame to a video device. I've never tried the Chegepuga filter that Bond has used with the paid decoders, but I guess It does the same thing (plus the fps measuring itself), so unless I'm missing something I don't see any cheating here.
hpn is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.