Hello,
Could you please explain me the difference between hardware accelerated and GPU accelerated HEVC plugins? I understand that Professional version of the SDK has two hardware accelerated plugins - libmfx_hevce_hw64.so and libmfx_hevce_gacc64.so. Their GUID's are 6fadc791a0c2eb479ab6dcd5ea9da347 and e5400a06c74d41f5b12d430bbaa23d0b.
They both utilize GPU - I can see that in the output of the metrics_monitor tool. However the two plugins have different performance; libmfx_hevce_hw64 is almost 2.5x faster than libmfx_hevce_gacc64. I am confused because libmfx_hevce_gacc64 ships with Professional Evaluation version and I was under the impression that it should perform better than the plugin that comes with Community Edition version of the SDK.
$ /opt/intel/mediasdk/samples/sample_multi_transcode -i::h265 puppies.h265 -b 6000 -o::h265 puppies_out.h265 -hw -u 7 -n 1000 -pe 6fadc791a0c2eb479ab6dcd5ea9da347
Multi Transcoding Sample Version 7.0.16053497
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0x33, 0xa6, 0x1c, 0x0b, 0x4c, 0x27, 0x45, 0x4c, 0xa8, 0xd8, 0x5d, 0xde, 0x75, 0x7c, 0x6f, 0x8e } (Intel (R) Media SDK HW plugin for HEVC DECODE)
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0x6f, 0xad, 0xc7, 0x91, 0xa0, 0xc2, 0xeb, 0x47, 0x9a, 0xb6, 0xdc, 0xd5, 0xea, 0x9d, 0xa3, 0x47 } (Intel (R) Media SDK HW plugin for HEVC ENCODE)
Pipeline surfaces number (DecPool): 9
MFX HARDWARE Session 0 API ver 1.19 parameters:
Input video: HEVC
Output video: HEVC
Session 0 was NOT joined with other sessions
Transcoding started
..........
Transcoding finished
Common transcoding time is 25.57 sec
MFX session 0 transcoding PASSED:
Processing time: 25.57 sec
Number of processed frames: 1000
The test PASSED
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x564e053eaf20), sts=0
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x564e053eaf20), sts=0
$ /opt/intel/mediasdk/samples/sample_multi_transcode -i::h265 puppies.h265 -b 6000 -o::h265 puppies_out.h265 -hw -u 7 -n 1000 -pe e5400a06c74d41f5b12d430bbaa23d0b
Multi Transcoding Sample Version 7.0.16053497
libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0x33, 0xa6, 0x1c, 0x0b, 0x4c, 0x27, 0x45, 0x4c, 0xa8, 0xd8, 0x5d, 0xde, 0x75, 0x7c, 0x6f, 0x8e } (Intel (R) Media SDK HW plugin for HEVC DECODE)
plugin_loader.h :170 [INFO] Plugin was loaded from GUID: { 0xe5, 0x40, 0x0a, 0x06, 0xc7, 0x4d, 0x41, 0xf5, 0xb1, 0x2d, 0x43, 0x0b, 0xba, 0xa2, 0x3d, 0x0b } (Unknown plugin)
Pipeline surfaces number (DecPool): 13
MFX HARDWARE Session 0 API ver 1.19 parameters:
Input video: HEVC
Output video: HEVC
Session 0 was NOT joined with other sessions
Transcoding started
..........
Transcoding finished
Common transcoding time is 89.21 sec
MFX session 0 transcoding PASSED:
Processing time: 89.21 sec
Number of processed frames: 1000
The test PASSED
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x5599cb479f20), sts=0
plugin_loader.h :196 [INFO] MFXBaseUSER_UnLoad(session=0x0x5599cb479f20), sts=0
Thanks,
Ingvar