- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi all,
I used the intel ipp to run the H.264 encoder and decoder through intel C++ compiler. There is a software called JM which is also used to implement H.264 codec.
1. Could some one please give me one good reason as to why is the intel compiler almost 500 times faster , and better than JM output. What is making the compiler special ? Is motion estimation done in a different way in this encoder ?
2. what is this parameter " speed/quality grade [0,3] (0-maximum speed, 3-maximum quality) " all about ? what parameters are set to default when
a. 0,0 ( maximum speed, min quality ) is selected
b. 3,0 ( minimum speed , max quality ) is selected
Regards,
Suchethan
Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is a question for IPP forum. So I'll transfer you to there and the IPP experts will answer your question.
Thanks,
Jennifer
Thanks,
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - suchethanswaroop
hi all,
I used the intel ipp to run the H.264 encoder and decoder through intel C++ compiler. There is a software called JM which is also used to implement H.264 codec.
1. Could some one please give me one good reason as to why is the intel compiler almost 500 times faster , and better than JM output. What is making the compiler special ? Is motion estimation done in a different way in this encoder ?
2. what is this parameter " speed/quality grade [0,3] (0-maximum speed, 3-maximum quality) " all about ? what parameters are set to default when
a. 0,0 ( maximum speed, min quality ) is selected
b. 3,0 ( minimum speed , max quality ) is selected
Regards,
Suchethan
The IntelH264Encoder is multi-threaded and uses CPU-optimized IPP routines. The JM reference encoder is just for the academic reference. Of course IntelH264Encoder is much faster. but if you compare it with x264, you will see which one is the real winner, ^-^.
The output image quality depends on many factors including motion search method, rate control algorithm.
Again, JM is not on the same level of IntelH264Encoder or x264.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - shyaki
My laptop has " intel core 2 duo processor" . so is this the reason why the encoding time of H.264 codec i implemented using intel ipp so fast ? what if i run the sequence in a mac pc. will i be getting the same performance ?
Could you please elaborate on "CPU optimized IPP routines" ?
Thanks and warm regards,
Suchethan
The IntelH264Encoder is multi-threaded and uses CPU-optimized IPP routines. The JM reference encoder is just for the academic reference. Of course IntelH264Encoder is much faster. but if you compare it with x264, you will see which one is the real winner, ^-^.
The output image quality depends on many factors including motion search method, rate control algorithm.
Again, JM is not on the same level of IntelH264Encoder or x264.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The one and simple reason is that IPP H.264 codec was designed to be fast and use Intel IPP libraries to exploit benefits from SIMD instructions available on modern processors. In addition to that it also able to utilize multiple cores doing some work in parallel. I do not know much on JM software but usually reference implementation is more focused on correct algorithm implementation rather than on performance.
And yes, IPP H.264 codec (found in IPP audio-video-codecs sample is available for Windows, Linux and MacOS)
Regards,
Vladimir
And yes, IPP H.264 codec (found in IPP audio-video-codecs sample is available for Windows, Linux and MacOS)
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Vladimir Dudnik (Intel)
I am curious to know as to how the motion estimation part is done in the intel ipp H.264 encoder... Are there any changes than the conventional way it is done ( in terms of
a. different block sizes used for motion compensation
b. intra prediction modes used
c. inter prediction modes used
d. number of reference frames used
e. motion vectors used, etc ) ?
I wish to know the functioning of intel IPP h.264 codec and not the order of the classes in which they are called and executed.
(As you all know, Motion estimation is the most time consuming process in the encoder)
Regards,
Suchethan
The one and simple reason is that IPP H.264 codec was designed to be fast and use Intel IPP libraries to exploit benefits from SIMD instructions available on modern processors. In addition to that it also able to utilize multiple cores doing some work in parallel. I do not know much on JM software but usually reference implementation is more focused on correct algorithm implementation rather than on performance.
And yes, IPP H.264 codec (found in IPP audio-video-codecs sample is available for Windows, Linux and MacOS)
Regards,
Vladimir
And yes, IPP H.264 codec (found in IPP audio-video-codecs sample is available for Windows, Linux and MacOS)
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Then why just don't take a look at IPP H.264 codec? It is available in source code form, you can study and profile it to get all details you are interested in
Regards,
Vladimir
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can anyone let me know how can I compile Intel IPP H.264 codec? Previously I used JM codec. I dont have knowledge about the Intel IPP H.264.
Please help me.
Please help me.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Refer to readme.htm file in the IPP sample code to build the IPP based H.264 codec.
To get IPP sample - http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-code-samples/.
Refer to - w_ipp-samples_p_7.0.4.054\ipp-samples\audio-video-codecs
To run this sample code, make sure that you have lasted version of IPP main package installed.
Regards,
Naveen Gv

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page