VPP then Encode speed slow ?

VPP then Encode speed slow ?

I get VPP then Encode slow situation in my code,

then I tried Intel Media SDK R2 example, Media SDK 2013 R2\samples\sample_encode, find the same thing 

Please help how should I set  parms in situations below :

1.  I add some code to test time:
    LARGE_INTEGER tStart, tEnd;
    double freq = (double)tStart.QuadPart;
    double duration = ((double)tEnd.QuadPart - (double)tStart.QuadPart)  / freq;
    printf("\nExecution time: %3.2fs (%3.2ffps)\n", duration, frames/duration);

2. test results:
a.  -d3d h264 -i "d:\\samples\\out\\00000.track_4113.264_1920x1080.yuv" -o "d:\\samples\\out\\out_Intel__.264" -w 1920 -h 1080 -hw -dstw 1920 -dsth 1180

 Frame number: 614, Execution time: 65.42s (9.39fps)

b. -d3d h264 -i "d:\\samples\\out\\00000.track_4113.264_1920x1080.yuv" -o "d:\\samples\\out\\out_Intel__.264" -w 1920 -h 1080 -hw -dstw 2020 -dsth 1080

Frame number: 614 Execution time: 6.13s (100.21fps)

And It seem if out put width big then 1920, then speed will down significantly.

Please Give me some suggestions.





5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi LK,

I suspect the issue is that you are falling back on SW implementation of the encoder. Older generations of Intel processors did not support HW accelerated encode or resize beyond the 1920p resolution threshold (greater resolution content is instead processed using SW codec).

You should be able to verify if this is the case by looking at your CPU utilization while executing the two workloads you mentioned above.


Hi Petter,

Thanks for the tip about gpu falling back on SW. 

Here is infomation of my computer:

Intel Media SDK System Analyzer (64 bit)

The following versions of Media SDK API are supported by platform/driver:

        Version Target  Supported       Dec     Enc
        1.0     HW      Yes             X       X
        1.0     SW      Yes             X       X
        1.1     HW      Yes             X       X
        1.1     SW      Yes             X       X
        1.3     HW      Yes             X       X
        1.3     SW      Yes             X       X
        1.4     HW      Yes             X       X
        1.4     SW      Yes             X       X
        1.5     HW      Yes             X       X
        1.5     SW      Yes             X       X
        1.6     HW      Yes             X       X
        1.6     SW      Yes             X       X
        1.7     HW      Yes             X       X
        1.7     SW      Yes             X       X

Graphics Devices:
        Name                                         Version             State
        NVIDIA GeForce GT 640                      08
        Intel(R) HD Graphics 4000                 Active
        AMD Radeon HD 6800 Series                 Active

System info:
        CPU:    Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
        OS:     Microsoft Windows 7

Is i7-3770 that old can not support encode size big than 1080p in HW ?

Simple change to -dstw 1940 ,  

-d3d h264 -i "d:\\samples\\out\\00000.track_4113.264_1920x1080.yuv" -o "d:\\samples\\out\\out_Intel__.264" -w 1920 -h 1080 -hw -dstw 1940 -dsth 1080

run    sts = m_pmfxENC->Init(&m_mfxEncParams);  get warning WARNING: partial acceleration !

Frame number: 614 , Execution time: 16.74s (36.67fps)  

The problem is what parameters should I set to avoid this ? Please give  some suggestions, Thanks.




Hi LK,

Right, your processor is an Intel 3rd generation Core processor which does not support HW accelerated encode for resolutions greater than 1920x1200.

Intel 4th generation Core processors supports up to typical 4K resolution encode.

The "partial acceleration" warning you get essentially means that the SDK fell back on SW encoder implementation, thus the degraded performance.


Got it.

Thanks, Petter

Leave a Comment

Please sign in to add a comment. Not a member? Join today