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.

 

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

Reply
 
Thread Tools Search this Thread Display Modes
Old 18th November 2009, 17:18   #181  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by dimitrik View Post
Jumping in late with a question here. As I understand it, since all decoders give bit identical output, they must all be equal in "image quality" (however that is defined) but may differ in efficiency i.e. resource usage, speed etc.

My questions stems from the fact that when I experimented with ffdshow using libavcodec and ffmpeg-mt, I noticed that ffmpeg-mt gave slightly inferior image quality to libavcodec (certainly there was a visible difference).

The difference was not huge but it was too clear to be a subjective impression. This was about 3-4 months ago, so obviously ffdshow has changed several versions since, so it may no longer be the case.

Did you ever experience anything similar in your tests, or are you aware of some difference that may explain this? Could it be that ffmpeg-mt, being experimental is not fully compliant and hence does not give bit identical output?
ffmpeg-mt is libavcodec. If there was a bug that resulted in non-compliance, it would generally be rather obvious (e.g. tons of blocking).
Dark Shikari is offline   Reply With Quote
Old 19th November 2009, 15:34   #182  |  Link
dimitrik
Registered User
 
Join Date: Mar 2004
Location: London, UK
Posts: 79
Quote:
Originally Posted by Dark Shikari View Post
ffmpeg-mt is libavcodec. If there was a bug that resulted in non-compliance, it would generally be rather obvious (e.g. tons of blocking).
OK, pardon my ignorance here, but ffdshow allows me to choose using either libavcodec or ffmpeg-mt, meaning they cannot be the same.

In fact the difference is CPU use, and IIRC, this difference in image output I noticed (which was definitely not bad as tons of blocking, but was clear enough to the naked eye, mostly grainyness I think).

I suspect when you say they are the same you mean they are the same codec, differently implemented, but from a user perspective, you can choose one or the other and from what I saw the difference in picture reproduction was clear. I'm not keen to re-install the old version to try it again though
dimitrik is offline   Reply With Quote
Old 19th November 2009, 15:56   #183  |  Link
JEEB
もこたんインしたお!
 
JEEB's Avatar
 
Join Date: Jan 2008
Location: Finland / Japan
Posts: 512
Quote:
Originally Posted by dimitrik View Post
OK, pardon my ignorance here, but ffdshow allows me to choose using either libavcodec or ffmpeg-mt, meaning they cannot be the same.
Same codebase is used, just that "ffmpeg-mt" means multithreaded decoding, which means that not only one of your cores gets used in decoding.

Also, using ffmpeg-mt here on several things (Kovensky's mplayer builds and CCCP's ffdshow), but still have yet to have seen any "grainyness".
__________________
[I'm human, no debug]
JEEB is offline   Reply With Quote
Old 19th November 2009, 16:16   #184  |  Link
nm
Registered User
 
Join Date: Mar 2005
Location: Finland
Posts: 2,641
Quote:
Originally Posted by dimitrik View Post
I suspect when you say they are the same you mean they are the same codec, differently implemented, but from a user perspective, you can choose one or the other and from what I saw the difference in picture reproduction was clear. I'm not keen to re-install the old version to try it again though
I don't use ffdshow, but can't you switch between "ffmpeg-mt" and libavcodec on the fly?

Anyway, you'll need to post screenshots and a sample video that exhibits this to make us believe. I suspect that you had in-loop deblocking disabled or you used different post-processing filters if there really was such a difference.
nm is offline   Reply With Quote
Old 22nd November 2009, 16:43   #185  |  Link
dimitrik
Registered User
 
Join Date: Mar 2004
Location: London, UK
Posts: 79
Quote:
Originally Posted by nm View Post
I don't use ffdshow, but can't you switch between "ffmpeg-mt" and libavcodec on the fly?

Anyway, you'll need to post screenshots and a sample video that exhibits this to make us believe. I suspect that you had in-loop deblocking disabled or you used different post-processing filters if there really was such a difference.
You can't switch deocders on the fly, you have to unload and reload the filters, i.e. terminate and restart the application.

I did some tests this week and I found no difference in image quality. I'm pretty sure when I tested them las time I did not use postprocessing filters. It it possible that I had inloop deblocking enabled but it would have been the same for both decoders.
I can't explain it except to say that it was several versions ago and that I would swear there was a visible difference. Since its no longer the case though, it's a moot point. Call me crazy, I don't mind


Quote:
Originally Posted by JEEB View Post
Same codebase is used, just that "ffmpeg-mt" means multithreaded decoding, which means that not only one of your cores gets used in decoding.

Also, using ffmpeg-mt here on several things (Kovensky's mplayer builds and CCCP's ffdshow), but still have yet to have seen any "grainyness".
You can set ffdshow to run several decoding threads from "decoder options" so it uses all the cores. Not quite as evenly balanced as with ffmpeg-mt but the difference is actualy pretty small in terms of multicore decoding.

Slightly OT, but for anyone interested in the difference in performance, using libavcodec with 4 decoding threads on my brief test, tended to load one core slightly more than the mt decoder (I left ffdshow configured for 4 threads).
The difference was about 10% i.e. 3 cores had ~35% CPU use, while one had ~45%. With the mt, they all had about ~40%.

It made no visible difference, except when I created an unusually heavy load: upscaling 720p to 1080p with lanzocs, RGB32 coversion, postprocessing enabled with fast spp deblocking. With the x64 version of libavcodec, there was video delay on an Intel Quad 2.26GHz while ffmpeg-mt was fine. The x86 decoders had no problem either way.

So from now on I'm using ffmpeg-mt on my HTPC.
dimitrik is offline   Reply With Quote
Old 22nd November 2009, 17:04   #186  |  Link
nurbs
Registered User
 
Join Date: Dec 2005
Posts: 1,460
Quote:
Originally Posted by dimitrik View Post
It it possible that I had inloop deblocking enabled but it would have been the same for both decoders.
You should never disable inloop deblocking in the decoder. That can get very ugly.
nurbs is offline   Reply With Quote
Old 22nd November 2009, 17:13   #187  |  Link
nm
Registered User
 
Join Date: Mar 2005
Location: Finland
Posts: 2,641
Quote:
Originally Posted by dimitrik View Post
You can set ffdshow to run several decoding threads from "decoder options" so it uses all the cores. Not quite as evenly balanced as with ffmpeg-mt but the difference is actualy pretty small in terms of multicore decoding.
The difference can be large depending on the decoded stream and number of CPU cores. Libavcodec's slice-based parallelization doesn't work on H.264 streams that only have one slice.
nm is offline   Reply With Quote
Old 23rd November 2009, 03:03   #188  |  Link
dimitrik
Registered User
 
Join Date: Mar 2004
Location: London, UK
Posts: 79
That's useful info, thank you both.
dimitrik is offline   Reply With Quote
Old 21st December 2009, 15:44   #189  |  Link
tal.aloni
Registered User
 
Join Date: Sep 2008
Posts: 496
Quote:
Originally Posted by Dark Shikari View Post
ffmpeg-mt is libavcodec. If there was a bug that resulted in non-compliance, it would generally be rather obvious (e.g. tons of blocking).
just to clear dimitrik's name:
there was such a bug with one of the old ffmpeg-mt releases, it has been fixed long time ago.
tal.aloni is offline   Reply With Quote
Old 21st December 2009, 21:39   #190  |  Link
dimitrik
Registered User
 
Join Date: Mar 2004
Location: London, UK
Posts: 79
Hey, thanks. See? I was innocent all along your honor!
dimitrik is offline   Reply With Quote
Old 25th November 2010, 13:46   #191  |  Link
xv
Registered User
 
Join Date: Mar 2010
Posts: 98
Hi,
also this thread is sticky, itīs information is completly outdated. It would be nice if the comparison in the first post could be updated, new fields added (yuv 4:2:2, 4:4:4 decoding, 9/10 Bit..., old lossless supported, new lossless supported) and new decoders added (CoreAVC, DiAVC, Microsoft, DivX, Nvidia VPx)
Thanks
xv is offline   Reply With Quote
Old 18th February 2011, 20:36   #192  |  Link
CeeJay.dk
Registered User
 
Join Date: Dec 2003
Location: Denmark
Posts: 122
Blue_misfit did some testing back in July last year and found that ffmpeg-mt is the fastest decoder now.

I did my own tests back then, as I needed to find a way to get two old P4 2.0 and 2.2 ghz systems to play 720P and 1080P, and came to the same conclusion.
ffmpeg-mt was the fastest decoder for me for most files but on a few CoreAVC seemed slightly faster.

On my cpu limited systems though, the fastest (usable) option was to use VLC and setting "Skip H.264 in-loop deblocking filter" to Non-key.
This was always faster than CoreAVCs "Deblocking : Skip when safe" option.
Of course the fastest option was to disable all deblocking, but that absolutely destroys the quality, and is unwatchable, so I chose VLC and skipping the deblocking of the Non-key frames, as I couldn't really tell the difference in quality between that and deblocking all the frames.
CeeJay.dk is offline   Reply With Quote
Old 23rd February 2011, 21:41   #193  |  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 11th June 2021, 15:19   #194  |  Link
PCU
Registered User
 
Join Date: Oct 2017
Posts: 327
Where I can find the latest comparison?
PCU 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 23:45.


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