MP4/ HD video codec performance review: CoreAVC vs FFmpeg which is better ?

MPEG-4 is used for AV data for web (streaming media) and CD distribution, voice (telephone, videophone) and broadcast television applications.MPEG-4 adds new features such as (extended) VRML support for 3D rendering, object-oriented composite files (including audio, video and VRML objects), support for externally-specified Digital Rights Management and various types of interactivity. AAC (Advanced Audio Codec) was standardized as an adjunct to MPEG-2 (as Part 7) before MPEG-4 was issued.The key parts to be aware of are MPEG-4 part 2 (MPEG-4 SP/ASP, used by codecs such as DivX, Xvid, Nero Digital and 3ivx and by Quicktime 6) and MPEG-4 part 10 (MPEG-4 AVC/H.264, used by the x264 codec, by Nero Digital AVC, by Quicktime 7, and by next-gen DVD formats like HD DVD and Blu-ray Disc).

If you were looking for MPEG 4 Part 2/ AVI video codec performance review: Divx vs Xvid then click here

Codecs:

As told previously 2 parts of MPEG-4 format are popular. There are several codecs available that implement  MPEG-4 with different level of perfection, popular ones are Quicktime(Part 10), FFmpeg(Part 10), Xvid(Part 2), Divx(Part 2) and CoreAVC(Part 10). After consulting several forums, I found 2 of those very talked about CoreAVC and FFmpeg. I have compared the 2 codecs below.

FFmpeg
FFmpeg Logo
Whether you are a codec geek or not, this is the most probable codec that you have been using since time  immemorial.  Its free, opensource, can allow a lot of tweaking, plays a major number of containers and codecs. I will try not to go beyond H.264 in this article but one thing is for sure, whether you are using CoreAVC or not, you definitely have to use FFmpeg due to its overwhelmingly large number of codec compatibility.

CoreAVC
CoreAVC or Corecodec Logo
Its a closed source alternative for decoding H.264, infact its one of the accepted formats for Blue-ray. When it came out it astonished everyone with the sheer speed and performance outputs. Its known to exceed several hardware implementations (reminds me of John Carmack implementation of square root in Quake 3 which was faster than FPU). Corecodec people call it the fastest codec on earth.(and I am nobody to argue).

Left one is CoreAVC and right is FFmpeg

x264 encoded movie Sunshine decoded with CoreAVC

x264 encoded movie Sunshine decoded with CoreAVC

x264 encoded movie Sunshine decoded with CoreAVC

x264 encoded movie Sunshine decoded with CoreAVC
x264 encoded movie Sunshine decoded with CoreAVC

x264 encoded movie Sunshine decoded with CoreAVC

Doesnt take a rocket scientist to notice that better one. However when I discussed this on outside forums, I faced considerable shouting and screaming so I did more tweaking and testing and found another bit of information that convinced me to use CoreAVC for good.
Left is CoreAVC and right is FFmpeg.
Top is W/O post processing and bottom is with Post Processing

CPU usage between FFmpeg and CoreAVC
Cpu Cycles with CoreAVC
CPU cycles consumption when using FFmpeg codec
Difference between CPU usage when using FFmpeg and CoreAVC is huge. It can be seen from the above CPU usage or by seeing CPU cycles consumption . Considering that I have a Core 2 duo system with 1.8Ghz this difference is a substantial one, infact with preprocessing the player hung at 100% cpu usage in FFmpeg.

I found out to my amazement that Corecodecs are actually the fastest codecs in the world. I used all possible codecs at my disposal(VLC, ffmpeg, quicktime, windows media player and Nero) but CoreAVC not only gave better performance compared to all of them but also astonishingly smooth one at that. I ran it on 1080p trailer of 10000BC on MPC using quicktime alternative(had to rename .mov to .hdmov to use coreAVC) and performance was mind boggling.
Bottomline, I’d suggest you one thing. just go right now to Final build site and download the coreavc format and start using it. You can find out how to do that here.

20 Responses to “MP4/ HD video codec performance review: CoreAVC vs FFmpeg which is better ?”

  1. Drivers Gratis Blog » Blog Archive » H.264/ MP4/ HD codec review: CoreAVC or FFmpeg which is better ? Says:

    [...] weiliang10: [...]

  2. H.264/ MP4/ HD codec review: CoreAVC or FFmpeg which is better ? Says:

    [...] unknown wrote an interesting post today onHere’s a quick excerpt… by codecs such as DivX, Xvid, Nero Digital and 3ivx and by Quicktime 6) and MPEG-4 part 10 (MPEG-4 AVC/H.264, used by the x264 codec, by Nero Digital AVC, by Quicktime 7, and by next-gen DVD formats like HD DVD and Blu-ray Disc). … [...]

  3. free codecs Says:

    [...] new features such as extended VRML support for 3D rendering, object-oriented composite files inchttp://techdigger.wordpress.com/2008/05/21/264-mp4-hd-codec-review-coreavc-ffmpeg/Recent Original Stories New Mobile ComputingDistroWatch reviews Fedora 7 , and concludes: “While [...]

  4. vlc and media Says:

    [...] new features such as extended VRML support for 3D rendering, object-oriented composite files inchttp://techdigger.wordpress.com/2008/05/21/264-mp4-hd-codec-review-coreavc-ffmpeg/Recent Original Stories New Mobile ComputingYesterday, Trolltech released the final version of Qt [...]

  5. Meow Says:

    You didn’t even use the same source-frames for your so-called comparisons!
    Probably afraid to show us the commands (especially the missing parameters and settings) you used for the ffmpeg testing.

    What a scam! Most likely set up by someone paid for by CoreAVC. In our tests it comes out as much worse than x264, making ffmpeg the winner by far. You didn’t even note that ffmpeg isn’t behind the x264 parts of it. Freaking fool.

  6. Mayur Rustagi Says:

    Well i recieved similar kicking and screaming at the forums(offering me the missing parameters perhaps ), I believe you have missed my point completely, I have no doubt that I could have tweaked more performance out of both filters but my agenda in this blog was to compare the standard performance delivered by standard software, used by most people worldwide without any advanced tweaking.
    Disclaimer: I have not recieved any payment of any sort from any firm(i’d wish)

  7. Mayur Rustagi Says:

    btw x264 is for encoding whereas I have compared decoding, so perhaps you misread my blog completely.

  8. Cesar Says:

    I’m a big fan of ffmpeg/x264, but I have to agree with Mayur, CoreAVC is a great and fast decoder.

    Meow probably has some problems with language and his internal “decoder”.

  9. MP4 Watch Man Says:

    I would agree with Mayur too, although there are a few good options out there you can play with.

  10. Willem Koopman Says:

    The difference between FFMPEG and coreAVC is due to colour settings. When you compare two players its really important to try and weed out the differences that are due to differences in contrast and brightness.

    There are no obvious compression artefacts in either frame, the only difference between them is contrast, If you boost the contrast on FFMPEG, you’ll endup with identical frames.

    If you were to use accurate colour profiles for the players you’d struggle to notice the difference.

    The thing that CoreAVC does have going for it is multithreading. however unless youre in an MCR

  11. Abe Says:

    Are you kidding me, Meow? You have no clue what you’re talking about.

    CoreAVC blows ffmpeg out of the water with decoding speed in regard to H.264, which is what most scene Blu-Ray and HD rips are. You *will not* be able to decode a 1080p, 9.5mbps bitrate H.264 video on the fly with ffmpeg without one of the top CPUs on the market – ffmpeg uses a single-threaded, poorly implemented decoding algorithm while CoreAVC uses a very efficient decoding algorithm and multi-threaded, multi-processor support. It’s hard to even compare them.

    As much as I would love to be able to do everything in Linux, when it comes time to watch my HD rips I have to switch back to Windows. I know there *is* a workaround to get CoreAVC working with Mplayer (using wine and custom patches), but it is a real bitch and pretty buggy. If you’re interested in trying it, it is here: http://code.google.com/p/coreavc-for-linux/

    And really, with the crappy graphics card driver support for Linux (I blame the hardware manufacturers), I don’t see myself getting rid of Windows anytime in the future anyway. I know it has gotten better, but seriously… compare benchmarks with 3d rendering sometime. Ugh!

  12. seiryuu Says:

    I’m a newbie at this; I can’t understand half of what you guys are saying. So I’m pretty sure you guys are going to think that my question is really dumb, but anyway…
    I’m having problems with subtitles using coreavc on my mkv and blue-ray/hdtv ripped files.

    I just installed the coreavc and the haali thing that came with it and everything plays smoothly except for the subtitles that don’t show. I’m used to use CCCP, but I changed to coreavc because my computer is too slow to play blue-ray/hdtv ripped files. Can anyone give some light here? Thank in advance.

  13. Brad Says:

    seiryuu: Try downloading DirectVobSub and it’ll read the imbedded subtitles in the mkv

  14. seiryuu Says:

    Ok, thanks.

  15. The Dude Says:

    Sweet … directvosub worked perfect …. couldn’t find a good solution until yours – thanks again!

  16. Absolute-HDTV Says:

    I’m Vote for CoreAVC

  17. Wessel Says:

    what ffmpeg code did you use?

  18. Wessel Says:

    and what coreavc code did you use:P

  19. JG Says:

    I didn’t even know of CoreAVC until a few days ago when I downloaded a movie in high bitrate 1080P format and found my MediaServer unable to play it. After messing with FF MPEG for a while cursing the halting, stuttering awful picture I found CoreAVC. The slower of the two machines I use is a 3GHZ PentiumD with 1 GB Ram and the faster is a faster dual core Athlon with 2 GB Ram. Both yielded the same playback results with FF MPEG. Once I switch to CoreAVC the playback could not have been any better. SMooth and very well rendered.

    For those using CCCP and wanting to disable the standard codec just go into the setting and unclick the H264 checkbox. This will force the system to use the CoreAVC codec. Other other parts of the install will work fine including subtitle rendering.

    Now if you’ll excuse me I have some sweet 1080P video to watch :-)

  20. mark Says:

    well you learn somthing new every day

Leave a Reply