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

does hevc encoder support the extmbqp feature on windows?

luyf91
Beginner
2,910 Views

when I use the sample_multi_transcode to test the extmbqp feature,I find that h264 encoder support extmbqp, but h265 return error.

my devices is Intel core i7-8700@3.2GHz, my system is windows 10.

H265:

sample_multi_transcode.exe -i::h265 StandardSequence_cbr.bin -o::h265 test_1080_trans.265 -hw -cqp -extmbqp

Multi Transcoding Sample Version 8.4.27.0

Session 0:
[WARNING] Configuration changed on the Query() call
mfx.LowPower:0 changed to mfx.LowPower:32
ext.265P.PicHeightInLumaSamples:1080 changed to ext.265P.PicHeightInLumaSamples:1088
ext.CDO3.EnableMBQP:16 changed to ext.CDO3.EnableMBQP:0
Pipeline surfaces number (DecPool): 11
Input video: HEVC
Output video: HEVC
MFX dll: C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f48be35b3d221b44\libmfxhw32.dll

Session 0 was NOT joined with other sessions

Transcoding started

[ERROR], sts=MFX_ERR_UNDEFINED_BEHAVIOR(-16), TranscodingSample::CTranscodingPipeline::PutBS, Encode: SyncOperation failed at src\pipeline_transcode.cpp:1950

[ERROR], sts=MFX_ERR_ABORTED(-12), TranscodingSample::CTranscodingPipeline::Transcode, PutBS failed at src\pipeline_transcode.cpp:1912

[ERROR], sts=MFX_ERR_ABORTED(-12), TranscodingSample::CTranscodingPipeline::Run, CTranscodingPipeline::Run::Transcode() [03B1DE10] failed at src\pipeline_transcode.cpp:4584


session 0 [03B1DE10] failed with status MFX_ERR_ABORTED shutting down the application...

session [03B1DE10] m_bForceStop is set

Transcoding finished

Common transcoding time is 0.0635322 sec
-------------------------------------------------------------------------------
*** session 0 [03B1DE10] FAILED (MFX_ERR_ABORTED) 0.0628109 sec, 8 frames, 127.366 fps
-i::h265 StandardSequence_cbr.bin -o::h265 test_1080_trans.265 -hw -cqp -extmbqp

-------------------------------------------------------------------------------

The test FAILED

[ERROR], sts=MFX_ERR_ABORTED(-12), wmain, transcode.ProcessResult failed at src\sample_multi_transcode.cpp:1255

 

H264:

sample_multi_transcode.exe -i::h265 StandardSequence_cbr.bin -o::h264 test_1080_trans.264 -hw -cqp -extmbqp

Multi Transcoding Sample Version 8.4.27.0

Session 0:
Pipeline surfaces number (DecPool): 7
Input video: HEVC
Output video: AVC
MFX dll: C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f48be35b3d221b44\libmfxhw32.dll

Session 0 was NOT joined with other sessions

Transcoding started
..........
Transcoding finished

Common transcoding time is 13.4545 sec
-------------------------------------------------------------------------------
*** session 0 [012F9CC0] PASSED (MFX_ERR_NONE) 13.4536 sec, 1097 frames, 81.539 fps
-i::h265 StandardSequence_cbr.bin -o::h264 test_1080_trans.265 -hw -cqp -extmbqp

-------------------------------------------------------------------------------

The test PASSED

0 Kudos
15 Replies
ArunJ_Intel
Moderator
2,876 Views

Hi 


I could see the input streams for both of the samples had the same file name "StandardSequence_cbr.bin". Are you using the same input stream for h264 and h265. Would it be possible to share the input streams with us so we could validate the issue at our end.


Thanks

Arun


0 Kudos
luyf91
Beginner
2,865 Views

I dont know why my stream can not be uploaded, it always stays uploading, so I finish the uploading. And i think this problem is not related to the specific stream, you can use any stream to test the feature.

0 Kudos
ArunJ_Intel
Moderator
2,847 Views

Hi

 

We are checking on this internally will get back to you when we have an update.

 

Thanks

Arun


0 Kudos
luyf91
Beginner
2,837 Views

ok,thank you for your reply, and waiting for your news.

0 Kudos
Mark_L_Intel1
Moderator
2,827 Views

hi luyf,

 

The hevc encoder should support the extmbqp at least on Linux, see this post. Your code failed at this line of SMT and in this function

I guess this might be related to the hardware setup.

Could you try add "-lowpower:on" to the command line and see if it can be fixed?

 

Mark

 

0 Kudos
luyf91
Beginner
2,811 Views

I got another error when try add "-lowpower:on".

sample_multi_transcode.exe -i::h265 StandardSequence_cbr.bin -o::h265 test_1080_trans.265 -hw -cqp -extmbqp -lowpower:on

cmd result:

Multi Transcoding Sample Version 8.4.27.0

Session 0:

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), TranscodingSample::CTranscodingPipeline::EncodePreInit, m_pmfxENC->Query failed at src\pipeline_transcode.cpp:483

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), TranscodingSample::CTranscodingPipeline::Init, EncodePreInit failed at src\pipeline_transcode.cpp:3870

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), TranscodingSample::Launcher::Init, pThreadPipeline->pPipeline->Init failed at src\sample_multi_transcode.cpp:530

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), wmain, transcode.Init failed at src\sample_multi_transcode.cpp:1248

0 Kudos
Mark_L_Intel1
Moderator
2,789 Views

Hi Luyf,


Thanks for the checking.


This looks interesting to me since your first test already switch to low power mode internal, you should get the same result with this test.


Just double check your input file: StandardSequence_cbr.bin, are you using a elementary stream as the input?


Mark


0 Kudos
luyf91
Beginner
2,783 Views

yes,  StandardSequence_cbr.bin is a elementary stream, it's just a output stream from sample_encode. And as I tested using H264, it does work. 

H264:

sample_multi_transcode.exe -i::h265 StandardSequence_cbr.bin -o::h264 test_1080_trans.264 -hw -cqp -extmbqp

Multi Transcoding Sample Version 8.4.27.0

Session 0:
Pipeline surfaces number (DecPool): 7
Input video: HEVC
Output video: AVC
MFX dll: C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f48be35b3d221b44\libmfxhw32.dll

Session 0 was NOT joined with other sessions

Transcoding started
..........
Transcoding finished

Common transcoding time is 13.4545 sec
-------------------------------------------------------------------------------
*** session 0 [012F9CC0] PASSED (MFX_ERR_NONE) 13.4536 sec, 1097 frames, 81.539 fps
-i::h265 StandardSequence_cbr.bin -o::h264 test_1080_trans.265 -hw -cqp -extmbqp

-------------------------------------------------------------------------------

The test PASSED

0 Kudos
Mark_L_Intel1
Moderator
2,777 Views

Thanks,


I guess there are some parameters to the samples might miss, let me ask dev team.


I will keep you updated.


Mark


0 Kudos
Mark_L_Intel1
Moderator
2,767 Views

Hi lufy,


Thanks for your patient, I think you are right.


Dev team told me they found out the HEVC support for extmbqp was turned off in Windows Driver for CoffeeLake platform.


I am asking them how they will fix it now, I will keep you updated.


Mark Liu


0 Kudos
luyf91
Beginner
2,762 Views

thankyou for your reply, and I wish the extmbqp feature can be supported in most platform for developers. By the way, does the latest platforms(such as Ice Lake, Tiger Lake) support the extmbqp feature on Windows Driver?

0 Kudos
Mark_L_Intel1
Moderator
2,759 Views

This is a good question, thanks for reminding.


I think this feature should be support in all platforms, but let me double check.


Mark


0 Kudos
Mark_L_Intel1
Moderator
2,431 Views

Hi lufy,


My apology for not updating this issue, here are the investigation result from dev team:

IceLake Windows : MBQP is not supported.

TigerLake Windows : MBQP supported. MSDK tests passed.

Linux : the feature is supported both for IceLake and TigerLake

So for Windows, the feature is supported starting from TigerLake


If you want to use this feature before TigerLake, you should use Linux. Let me know if you have further questions, if not, we could close this issue.


Mark Liu


0 Kudos
AthiraM_Intel
Moderator
1,947 Views

Hi,


We have not heard back from you. This thread will no longer be monitored by Intel. If you need further assistance, please post a new question.



Thanks


0 Kudos
sabrinahamrick
Beginner
1,839 Views

thankyou for your reply, and I wish the extmbqp point can be supported in utmost platform for inventors. By the way, does the rearmost platforms ( similar as Ice Lake, Tiger Lake) support the extmbqp point on Windows Motorist?

yes,StandardSequence_cbr. caddy is a abecedarian sluice, it's just a affair sluice from sample_encode. And as I tested using H264, it does work. H264  sample_multi_transcode.exe-ih265StandardSequence_cbr. caddy-oh264test_1080_trans.264-hw-cqp-extmbqp Multi Transcoding Sample Version8.4.27.0

0 Kudos
Reply