- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I downloaded Intel® Media SDK 2014 for Clients with samples and trying to use HW acceleration in Windows 8.0 with the sample_decode to decode h.264 stream to YUV. But it always use SW instead of HW.
Test command line:
sample_decode.exe h264 -i in.h264 -o out.yuv -hw
Output:
Intel(R) Media SDK Decoding Sample Version 5.0.461.92695
Input video AVC
Output format YUV420
Resolution 1280x720
Crop X,Y,W,H 0,0,0,0
Frame rate 30.00
Memory type system
MediaSDK impl hw
MediaSDK version 1.10
Intel HD Graphics driver updated to the last version and Media SDK System Analyzer says:
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
1.8 HW Yes X X
1.8 SW Yes X X
Graphics Devices:
Name Version State
Intel(R) HD Graphics 4600 10.18.10.3621 Active
AMD Radeon HD 7700 Series 12.104.0.0 Active
AMD Radeon HD 7700 Series 12.104.0.0 Active
System info:
CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
OS:
Installed Media SDK packages (be patient...processing takes some time):
What I'm doing wrong?
How can I enable HW acceleration in the sample_decode?
I noticed g_msdk_supported_plugins array (mfx_plugin_uids.cpp) does not have HW supported decoder plugins. Is it correct?
Thank you.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Like Ivan, I also am trying the sample_decode and am really wondering if HW decode is working. In my case, I'm doing it on Ubuntu:
sample_decode_drm h264 -i BigBuckBunny.h264 -o BigBuckBunny.yuv -hw
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Intel(R) Media SDK Decoding Sample Version 5.0.1603344.93446
Input video AVC
Output format YUV420
Resolution 416x240
Crop X,Y,W,H 0,0,0,0
Frame rate 24.00
Memory type system
MediaSDK impl hw
MediaSDK version 1.10
Decoding started
Frame number: 14314, fps: 172.105, fread_fps: 0.000, fwrite_fps: 184.659
Decoding finished
While the decode completes, it is terribly slow. If I do the same decode with ffmpeg, I get the same result in 25% of the time. It seems the Media SDK Analyzer is not part of the Linux SDK, so I don't believe I can do much with that to make sure the HW decode is really happening. Vmstat shows about 58% of the CPU is consumed when the decode runs.
Now, when I leave off the "-hw" option, I get:
Return on error: error code -3, /home/msdk/mdp_msdk-samples/samples/sample_decode/src/pipeline_decode.cpp158
Return on error: error code 1, /home/msdk/mdp_msdk-samples/samples/sample_decode/src/sample_decode.cpp 341
so, maybe hardware decode is working? My processor is small. SIngle core Xeon:
model name : Intel(R) Xeon(R) CPU E3-1285 v3 @ 3.60GHz Around 12GB memory.
I'm using the SDK to try the Intel MCU. Performance there (not surprisingly) is also bad, with 3 VGA callers about the limit for a conference.
Here is my graphics controller:
Display controller [0380]: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller [8086:041a] (rev 06)
Any guidance as to whether this is really happening in HW and if this is the best possible performance for this system would be appreciated.
Thx.
John
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Ivan and John,
"But it always use SW instead of HW."
According to your SDK output, you are decoding using the HW acceleration.
"While the decode completes, it is terribly slow. If I do the same decode with ffmpeg, I get the same result in 25% of the time. "
While the decoder implementation is very fast and well optimized, the slowdown (and high CPU activity) you notice in the sample_decode application is due to the not-so-efficient File I/O operation, where the SDK writes the output to the file. This implementation choice was made for the sample applications.
"if this is the best possible performance for this system "
Since the File I/O operation is the bottleneck, for performance measurements and benchmarking purpose, we recommended you test the decoder without writing the output of the decoder to a file.
Let me know if you have more questions.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page