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.

Possible hevc 10 bit HW decoding bug in current drivers

Celio_A_
Beginner
1,162 Views

Hi, i'm trying to decode and encode 10 bit HEVC using hardware on Kabylake i7 7700 processor, command line used

sample_multi_transcode -i::h265 "D:\Intel Media SDK Plugins\4K Demos\Samsung Journey Of Color 4K Demo.265" -o::h265 D:\TESTE.hevc -hw -async 10 -pe hevce_gacc -pd hevcd_hw -cqp -qpi 20 -qpp 22 -qpb 24 -u balanced -l 1 -gop_size 24 -dist 4 -num_ref 6 -bref -bpyr -ec::p010 -w 1920 -h 1080 -WeightedPred::implicit -WeightedBiPred::implicit -amfs:on -extbrc::implicit -pp

I'm on Windows 10, tryed the first media sdk driver release and the latest, both produce same problems, if i use hevc decode plugin from Media SDK 2018R1 it works perfectly but are too slow for decode > encode, i have uploaded the result hevc stream in attachment

Regards

 

 

 

0 Kudos
8 Replies
Mark_L_Intel1
Moderator
1,162 Views

Hi Celio,

I am investigating, I did a brief test and I got an error, is it the same as yours?

......

Pipeline surfaces number (EncPool): 19
Pipeline surfaces number (DecPool): 16
MFX HARDWARE Session 0 API ver 1.26 parameters:
Input  video: HEVC
Output video: HEVC
MFX dll: C:\Program Files\Intel\Media SDK\libmfxhw64.dll
 
Session 0 was NOT joined with other sessions
 
Transcoding started
ERROR: No free surfaces in decoder pool (during long period)
 
[ERROR], sts=MFX_ERR_MEMORY_ALLOC(-4), TranscodingSample::CTranscodingPipeline::Transcode, Decode<One|Last>Frame failed at src\pipeline_transcode.cpp:1713
 
Transcoding finished
 
Common transcoding time is 20.0306 sec
-------------------------------------------------------------------------------
*** session 0 FAILED (MFX_ERR_MEMORY_ALLOC) 20.0257 sec, 13 frames
-i::h265 SamsungJuourneyOfColor4KDemo.265 -o::h265 out.hevc -hw -async 10 -pe hevce_gacc -pd hevcd_hw -cqp -qpi 20 -qpp 22 -qpb 24 -u balanced -l 1 -gop_size 24 -dist 4 -num_ref 6 -bref -bpyr -ec::p010 -w 1920 -h 1080 -WeightedPred::implicit -WeightedBiPred::implicit -amfs:on -extbrc::implicit -pp
 
-------------------------------------------------------------------------------
 
The test FAILED
 
[ERROR], sts=MFX_ERR_MEMORY_ALLOC(-4), wmain, transcode.ProcessResult failed at src\sample_multi_transcode.cpp:920
 
Mark
0 Kudos
Celio_A_
Beginner
1,162 Views

No, i don't get error it simple transcode with wrong colors, like the example mentioned above, it finish sucessfully but with wrong colors, the hevcd_hw decoder don't decode correctly the 10bit sample but software hevcd_sw works with no problem, but are too slow, can u investigate further?

0 Kudos
Mark_L_Intel1
Moderator
1,068 Views

Hi Celio,

Apologized for the long delay.

Dev team had review this issue and confirmed the issue solved.

Here are the detail if you want to check it:

  • This issue was fixed in our latest release which has integrated the hevc_hw plugin, you can run it directly or run with "-hw" argument.
  • Run directly will be successfully, run with plugin can reproduce the issue.

If you still have question, please post a new request so it can be tracked immediately.

Mark

0 Kudos
Celio_A_
Beginner
1,162 Views

Any news about this? I tested with the latet drivers from intel site and have same problem, this will be fixed in next drivers version?

0 Kudos
Mark_L_Intel1
Moderator
1,162 Views

Yes, I can reproduce the issue now, here is the output:

sample_multi_transcode.exe -i::h265 SamsungJuourneyOfColor4KDemo.265 -o::h265 out.hevc -hw -async 10 -pe hevce_gacc -pd hevcd_hw -cqp -qpi 20 -qpp 22 -qpb 24 -u balanced -l 1 -gop_size 24 -dist 4 -num_ref 6 -bref -bpyr -ec::p010 -w 1920 -h 1080 -WeightedPred::implicit -amfs:on -extbrc::implicit -pp
Multi Transcoding Sample Version 8.4.27.378

External allocator will be used as some cmd line paremeters request it.
Session 0:
plugin_loader.h :178 [INFO] Plugin was loaded from GUID: { 0x33, 0xa6, 0x1c, 0x0b, 0x4c, 0x27, 0x45, 0x4c, 0xa8, 0xd8, 0x5d, 0xde, 0x75, 0x7c, 0x6f, 0x8e } (Intel (R) Media SDK HW plugin for HEVC DECODE)
Preset-controlled parameters (Default):
RateControlMethod: 3 (original preset value: 2)
AdaptiveMaxFrameSize: 16 (original preset value: 0)
AsyncDepth: 10 (original preset value: 4)
BRefType: 2 (original preset value: 0)
EnableBPyramid: 1 (original preset value: 0)
GopRefDist: 4 (original preset value: 0)
IntRefCycleDist: 0
IntRefCycleSize: 0
IntRefQPDelta: 0
IntRefType: 0
LowDelayBRC: 0
TargetUsage: 4 (original preset value: 4)
WeightedBiPred: 0
WeightedPred: 3 (original preset value: 0)
GopPicSize: 24 (original preset value: 119)
MaxFrameSize: 0
LookAheadDepth: 0

plugin_loader.h :178 [INFO] Plugin was loaded from GUID: { 0xe5, 0x40, 0x0a, 0x06, 0xc7, 0x4d, 0x41, 0xf5, 0xb1, 0x2d, 0x43, 0x0b, 0xba, 0xa2, 0x3d, 0x0b } (Intel (R) Media SDK GPU-Accelerated plugin for HEVC ENCODE)
Pipeline surfaces number (EncPool): 19
Pipeline surfaces number (DecPool): 16
MFX HARDWARE Session 0 API ver 1.27 parameters:
Input  video: HEVC
Output video: HEVC
MFX dll: C:\Program Files\Intel\Media SDK\libmfxhw64.dll

Session 0 was NOT joined with other sessions

Transcoding started
....................
[ERROR], sts=MFX_ERR_UNDEFINED_BEHAVIOR(-16), CSmplBitstreamWriter::WriteNextFrame, pMfxBitstream->DataLength!=nBytesWritten error at src\sample_utils.cpp:428

[ERROR], sts=MFX_ERR_UNDEFINED_BEHAVIOR(-16), TranscodingSample::CTranscodingPipeline::PutBS, m_pBSProcessor->ProcessOutputBitstream failed at src\pipeline_transcode.cpp:2051

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

Transcoding finished

Common transcoding time is 134.088 sec
-------------------------------------------------------------------------------
*** session 0 FAILED (MFX_ERR_UNDEFINED_BEHAVIOR) 134.035 sec, 2033 frames
-i::h265 SamsungJuourneyOfColor4KDemo.265 -o::h265 out.hevc -hw -async 10 -pe hevce_gacc -pd hevcd_hw -cqp -qpi 20 -qpp 22 -qpb 24 -u balanced -l 1 -gop_size 24 -dist 4 -num_ref 6 -bref -bpyr -ec::p010 -w 1920 -h 1080 -WeightedPred::implicit -amfs:on -extbrc::implicit -pp

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

The test FAILED

[ERROR], sts=MFX_ERR_UNDEFINED_BEHAVIOR(-16), wmain, transcode.ProcessResult failed at src\sample_multi_transcode.cpp:948
plugin_loader.h :204 [INFO] MFXBaseUSER_UnLoad(session=0x000002025736E5E0), sts=0
plugin_loader.h :204 [INFO] MFXBaseUSER_UnLoad(session=0x000002025736E5E0), sts=0

The next step is to check if which component cause this problem, I will keep you updated.

Mark

0 Kudos
Ranganadh_K_Intel
1,162 Views

Hi 

I am trying to run msdk_decode sample in ubuntu 16.04 LTS .

In the software implementation I am able to run without any issues...

but in the  Hardware implementation, I am getting the following errors 

  • WARNING: Unsupported the FMO/ASO constraints!!!
  • undefined behaviour   . src/msdk_decode.cpp 160

can anybody help me in resolving this issue?

 

Thanks

Ranganadh .K

0 Kudos
Mark_L_Intel1
Moderator
1,162 Views

Hi Ranganadh,

Could you have a different post?

I am also not sure what command line are you using.

Mark

0 Kudos
Mark_L_Intel1
Moderator
1,162 Views

Hi Celio,

I didn't check this issue for a while because of other project, do you still have it?

I have report this issue to dev team and I am waiting for their response.

Mark

0 Kudos
Reply