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

does hevc encoder support the extmbqp feature on windows?

luyf91
Beginner
1,576 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
1,542 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


luyf91
Beginner
1,531 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.

ArunJ_Intel
Moderator
1,513 Views

Hi

 

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

 

Thanks

Arun


luyf91
Beginner
1,503 Views

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

Mark_L_Intel1
Moderator
1,493 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

 

luyf91
Beginner
1,477 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

Mark_L_Intel1
Moderator
1,455 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


luyf91
Beginner
1,449 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

Mark_L_Intel1
Moderator
1,443 Views

Thanks,


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


I will keep you updated.


Mark


Mark_L_Intel1
Moderator
1,433 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


luyf91
Beginner
1,428 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?

Mark_L_Intel1
Moderator
1,425 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


Mark_L_Intel1
Moderator
1,097 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


AthiraM_Intel
Moderator
613 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


sabrinahamrick
Beginner
505 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

Reply