[FFmpeg-devel] Intel IPP H264 encoder

Erik Van Grunderbeeck erik
Fri Dec 4 00:40:40 CET 2009

>Fast?  No, it's awfully written and slow relative to the amount of
>analysis that it does.

>> It has features not available in x264, such as high profile YUV 444 color
>> space

>Yes, that is pretty much the only merit it has.  But I'm pretty sure
>that the form of YUV444 it *does* support was removed from the spec in

>> Here is a comparison of H264 encoders

>The MSU comparisons are laughably bad (and that one is 3.5 years old,
>for that matter).

Well, I integrated version 6 of the IPP H264 encoder, and the XVID/MP4
encoder with FFMPeg. 

Results (on my "standard" Beyonce video (320*240, WMV2 encoded, has 10
seconds of no video in front, which is my quick thumb test on a/v sync):

Tested compare

o) X264, snapshot-20091017-2245, build 77, MingW compiled
o) Intel IPP 6.1 H264, libs 5.1 (my license), Intel compiler 11 compiled.

Encoded as base profile, level 13, no b frames (I know, but that's the ipod
format and most people seem to encode for that).

o) X264: 2.32 seconds (mean average on 5 runs)
o) Intel IPP: 2.25 seconds (mean average on 5 runs)

Size: same (+- 1 mb on 38 mb).

I'll run some main/high profiles if people are interested.

Quality: the ipp encoded one seems to be a bit more blurry (may be personal
opinion). I did a quick scan with H264Visa and ran it through JM testing,
nothing seems to be out of order.

Integration time was about 2 days btw. Spend most of the time figuring out
parameter mapping and the Nal mapping for mp4 container. Reason I mention
this is that it is thus possible to build a full LGPL dll version of FFMpeg
with H264/Xvid encoding supported. No excuse for anyone to fail GPL.

I also gave the Opencore encoder a shot (the one from android). That
codebase is no way near any completion, and doesn't even generate a valid
base profile H264 stream...


More information about the ffmpeg-devel mailing list