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.
3075 Discussions

MFXVideoENCODE_Init Cannot Handle Height Greater than 4320

cabrerae
Beginner
1,660 Views

Hi,

I am developing a C++ utility where I pass in a raw video file (pix_fmt=gray, width=7920, height=6004).  The mfxVideoParam that is passed to MFXVideoENCODE_Init is set up like this:

encodeParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY;
encodeParams.mfx.CodecId = MFX_CODEC_HEVC;
encodeParams.mfx.TargetKbps = 9510336;
encodeParams.mfx.FrameInfo.FrameRateExtN = 30;
encodeParams.mfx.FrameInfo.FrameRateExtD = 1;
encodeParams.mfx.FrameInfo.FourCC = MFX_FOURCC_I420 ;
encodeParams.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;
encodeParams.mfx.FrameInfo.CropW = 7920;
encodeParams.mfx.FrameInfo.CropH = 6004;
encodeParams.mfx.FrameInfo.Width = ALIGN16(encodeParams.mfx.FrameInfo.CropW);
encodeParams.mfx.FrameInfo.Height = ALIGN16(encodeParams.mfx.FrameInfo.CropH);

Implementation is MFX_IMPL_TYPE_SOFTWARE.

With these settings, MFXVideoENCODE_Init fails with -15 (MFX_ERR_INVALID_VIDEO_PARAM).

I played around with different CropW and CropH settings and came to the conclusion that if CropH is set to any value less than 4321, I get past MFXVideoENCODE_Init but of course the output video is crappy.

Is there a height limitation or is this a bug?

 

Thanks.

0 Kudos
8 Replies
DiyaN_Intel
Moderator
1,643 Views

Hi, 

 

Thank you for posting in Intel communities.

 

Could you please share with us the following details so that we can investigate further from our end:

 

     1. System hardware and software details.

     2. MSDK version.

     3. The reproducer code which you are using.

     4. The exact steps which you are using .

     5. Please share the error screenshots.

 

Regards, 

Diya

 

0 Kudos
cabrerae
Beginner
1,588 Views

System Hardware: Dell Precision 7670
Device name 7B2K6L3
Processor 12th Gen Intel(R) Core(TM) i7-12850HX 2.10 GHz
Installed RAM 32.0 GB (31.7 GB usable)
Device ID 61CF662F-4700-4FD3-85B8-45984867F898
Product ID 00329-00000-00003-AA033
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display

GPU: NVIDIA RTX A1000 Laptop GPU
Code Name: GA107
Architecture: NVDIA Ampere architecture
Parallel Processor Cores: 2,048
Tensor Cores: 64 (3rd Gen)
Memory Size: 4GB
Memory Type: GDDR6
Memory Interface: 128 bit
Memory Bandwidth: 192 GB/sec
Memory Speed: 14000 MHz
Encode Sessions: 3

Host Machine: Edition Windows 10 Enterprise
Version 20H2
Installed on ‎8/‎19/‎2022
OS build 19042.1889
Experience Windows Feature Experience Pack 120.2212.4180.0
Name: Intel® UHD Graphics
Adapter Type: Intel® UHD Graphics Family. Intel Corporation compatible
Adapter RAM: 1.00 GB
Resolution: 2560 x 1440 x 59 hertz
Bits/Pixel: 32

VM: RHEL 8.6

VPL version: 2022.2.0

The code is simply a copy of your hello-encode.cpp with minor cleanup to make it production quality.
There is nothing on the screen to capture. All I get is an error message saying "MFXVideoENCODE_Init fails with -15" when encoding any image file larger than 8k (7680 x 4320) resolution.

I don't understand why you need my reproducer code. Don't you have test drivers that test your product with high resolutions like in this case 7920 x 6004?

My simple question is can your product handle resolutions higher than 8k?

 

0 Kudos
DiyaN_Intel
Moderator
1,551 Views

Hi, 


Thank you for sharing your details. 


We are able to reproduce your issue. We are working on this internally.

We will get back to you with an update soon.


Regards, 

Diya


0 Kudos
DiyaN_Intel
Moderator
1,511 Views

Hi,

 

Please update to the latest driver. Currently, the 8k videos are not supported by oneVPL due to GPU driver limitations. The capability will soon be propagated to the latest driver. 

 

Also iGPU may be too weak to handle 8k encoding. So switching to ATS-M may be necessary.

 

Based on your information we could see that you are using CPU runtime and your input is "pix_fmt=gray", which is not I420 that we expect but it's just Y.

 

The input size is not valid to CPU HEVC encoder, especially Height. (Width Max: 8192, Height Max: 4320).

 

If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!

 

Regards,

Diya

 

 

 

 

 

0 Kudos
cabrerae
Beginner
1,497 Views

Please pardon my ignorance, but how do I update to the latest driver?  I tried "sudo yum -y update intel-basekit" and also "sudo yum upgrade --allowerasing --best intel-basekit" and nothing was updated.

 

I'm not sure I understand the rest of your responses.  Are you saying that even with the update, vpl still will not be able to handle encoding my high resolution tiff files (7920x6004, pix_fmt=gray)?

 

And your response regarding weak GPU, ffmpeg had no problem at all compressing these same tiff files with this command:

$ ffmpeg -hide_banner -probesize 1G -hwaccel qsv -i input.tiff -c:v libx265 -x265-params crf=0 -y  output.h265

 

Thanks

0 Kudos
DiyaN_Intel
Moderator
1,456 Views

Hi, 


Please find the below link with the list of resolutions supported by different Intel GPUs-


https://github.com/intel/media-driver/blob/master/docs/media_features.md#supported-encoding-input-format-and-max-resolution


As seen from the table on this page maximum resolution 8K (8192x8192) is supported by DG2/ATSM,DG1/SG1,TGLx,ICL for HEVC codec. 


So updating the driver should solve the issue regarding 8K resolution.


This webpage has the latest Graphics drivers for different OS versions- 


https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html


You can update your driver from the above link.


And TIFF files are not supported currently by oneVPL.


Regards,

Diya





0 Kudos
DiyaN_Intel
Moderator
1,412 Views

Hi,


Good day to you .


We have not heard back from you . Is your issue resolved with the above solution?


If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!


Regards,


Diya


0 Kudos
DiyaN_Intel
Moderator
1,376 Views

Hi,

 

Good day to you.

 

We assume that your issue is resolved.

 

If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.

 

Thanks and Regards,

Diya Nandy


0 Kudos
Reply