Our scenario is using H.264 encoder to encode multiple channelvideo, but the performance isdisappointing because of high cpu loading. The following is our testresult andanyone's assistance will be appreciated.
Our test machine:
OS: Windows XP SP3
CPU: Intel Dual Core E5200 (2.5 GHZ)
When using IPP to encode raw CIF (320x240) video frame into H.264, our tests results are:
Channel Count, Frame/second/channel, CPU utilization
4 , 30 fps , 60%
8 , 15 fps , 95%
12 , 10 fps , 100%
We use one H264VideoEncoder object to encode one channel.As the result, the maximum channels is only 12, Does it correspond the benchmark of Intel IPP?
The UMC code you are using is a sample and is not tuned for optimum performance. It is meant to show how to use the IPP functions. Thus, we do not have any performance benchmarks for that code to use as a comparison point.
Note that the processor you are using has only two hardware threads (it is a dual core processor and does not have any hyper-threading), so the level of real multi-threading possible on your test system will be limited to two simultaneous threads of execution.
Does the performance meet your needs?
Paul did indeed answer you perfectly.
You may consider a newer processor with hyper threading (more hardware threads per core), and turbo boost (smart processing load balancing among processors cores). These are 2 key features dramatically increases processing power, and are already available with Core i7 for example.
Also, there is an option that would take you some work; if you could employ the GPU to do the encoding functionality, you will have a completely different performance, you may consider OpenMax for such solution.