Community
cancel
Showing results for 
Search instead for 
Did you mean: 
luyf91
Beginner
192 Views

does hevc encoder support the extmbqp feature on windows?

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
12 Replies
ArunJ_Intel
Moderator
158 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
147 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
129 Views

Hi

 

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

 

Thanks

Arun


luyf91
Beginner
119 Views

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

Mark_L_Intel1
Moderator
109 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
93 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
71 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
65 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
59 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
49 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
44 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
41 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


Reply