Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Hyper Encode not supported

ShiYue
Novice
1,626 Views

Help me!

It's aways returned MFX_ERR_INVALID_VIDEO_PARAM with mfxExtHyperModeParam, 

auto ret = MFXVideoENCODE_Init(m_session, par);

I can't use hyper encode on my computer. 

there is my computer info:

ShiYue_0-1661149555181.png

 

Labels (3)
0 Kudos
9 Replies
AlekhyaV_Intel
Moderator
1,599 Views

Hi,


Thank you for posting in Intel Communities. We would like to have some information from your end to resolve your issue.


1) OS details & Processor details

2) Did you make any modifications to already available code? Please attach the code.

3) Did you follow this documentation? If not, please try all the steps and see if the issue still persists. https://github.com/oneapi-src/oneVPL-intel-gpu/blob/main/doc/HyperEncode_FeatureDeveloperGuide.md


Regards,

Alekhya


0 Kudos
AlekhyaV_Intel
Moderator
1,532 Views

Hi,


Please give us an update regarding this issue.


Regards,

Alekhya


0 Kudos
ShiYue
Novice
1,511 Views
I read the source code of the sample_encode. I compared the code and found that I didn't set accelerationMode. I set the parameter accelerationMode to MFX_ACCEL_MODE_VIA_D3D11, and everything is normal. So I think it may be caused by this parameter.However, it seems that hevc still does not support hyperencode.
0 Kudos
AlekhyaV_Intel
Moderator
1,437 Views

Hi,


We are working on this internally. We will get back to you soon with an update.


Regards,

Alekhya


0 Kudos
AlekhyaV_Intel
Moderator
1,394 Views

Hi,


We got an update from the admin team. Hyper Encode supports HEVC. However, a very well-known issue with our API is that it is very picky about parameters. 

Please follow the command line given in the documentation(https://github.com/oneapi-src/oneVPL-intel-gpu/blob/main/doc/HyperEncode_FeatureDeveloperGuide.md#running-sample_encode-with-onevpl-runtime) for Hyper Encode. sample_encode command line with the given parameters is known to work.


Regards,

Alekhya


ShiYue
Novice
1,357 Views

I tried the following three sample_encode command line, only sample_encode command line with h265 return not supported. 

./sample_encode av1 -i input.yuv -o output.h264 -dGfx -dual_gfx::on -w 1920 -h 1080 -nv12 -idr_interval 0 -d3d11 -async 30 -g 30 -r 1 -u 4 -lowpower:on -perf_opt 10 -n 2000
./sample_encode h264 -i input.yuv -o output.h264 -dGfx -dual_gfx::on -w 1920 -h 1080 -nv12 -idr_interval 0 -d3d11 -async 30 -g 30 -r 1 -u 4 -lowpower:on -perf_opt 10 -n 2000
./sample_encode h265 -i input.yuv -o output.h264 -dGfx -dual_gfx::on -w 1920 -h 1080 -nv12 -idr_interval 0 -d3d11 -async 30 -g 30 -r 1 -u 4 -lowpower:on -perf_opt 10 -n 2000

 

The following pictures are the test results, and the attachment is my computer information:

ShiYue_0-1663906194169.png

ShiYue_1-1663906242135.png

ShiYue_2-1663906268231.png

 

 

 

0 Kudos
ShiYue
Novice
1,347 Views
 
I also found some problems on my computer, using "-dGfx" with the following command. 
The occupancy rate of the integrated graphics card is about 100%, and the occupancy rate of the discrete graphics card is about 30%.  
When I change "-dualgfx::on" to "-dualgfx::off"(the Hyper Encode is turned off) ,  will only occupy the discrete graphics card and faster than Hyper Encode on, because the discrete graphics card is more efficient

how can I make the discrete graphics card the main adapter?

 

./sample_encode h265 -i input.yuv -o output.h264 -dGfx -dual_gfx::on -w 1920 -h 1080 -nv12 -idr_interval 0 -d3d11 -async 30 -g 30 -r 1 -u 4 -lowpower:on -perf_opt 10 -n 2000

 

 

I'm sorry my English is not very good, can you give me some advice if you can understand my description.

0 Kudos
ShiYue
Novice
1,320 Views

I mean using a discrete graphics card is faster than turning on Hyper Encode

0 Kudos
roy5
Moderator
1,205 Views

Hello,

Thanks for your patience. We investigated this case and here is my response:

Currently, in the sample_encode example, "-idr_interval 0" is not supported by HEVC Hyper Encode. Please try the following command instead:

./sample_encode h265 -i input.yuv -o output.h264 -dGfx -dual_gfx::on -w 1920 -h 1080 -nv12 -idr_interval 1 -d3d11 -async 30 -g 30 -r 1 -u 4 -lowpower:on -perf_opt 10 -n 2000 

 

Thanks,

Rupak

0 Kudos
Reply