Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.

Hyper Encode not supported

ShiYue
Novice
914 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
887 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


AlekhyaV_Intel
Moderator
820 Views

Hi,


Please give us an update regarding this issue.


Regards,

Alekhya


ShiYue
Novice
799 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.
AlekhyaV_Intel
Moderator
725 Views

Hi,


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


Regards,

Alekhya


AlekhyaV_Intel
Moderator
682 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#ru...) for Hyper Encode. sample_encode command line with the given parameters is known to work.


Regards,

Alekhya


ShiYue
Novice
645 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

 

 

 

ShiYue
Novice
635 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.

ShiYue
Novice
608 Views

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

roy5
Moderator
493 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

Reply