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.

HEVC encoding: error MFX_ERR_UNSUPPORTED

Sid023
Beginner
2,605 Views

Hi,

I wanted to test HEVC encoding of a simply raw video in NV12 pixel format.
I started with the sample_encode application you provided in the Media SDK, but unfortunately i got following error coming from the Query method of the encoder that checks the parameters.

 

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), AllocFrames, Query (for encoder) failed at .../pipeline_encode.cpp:966

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), ResetMFXComponents, AllocFrames failed at .../pipeline_encode.cpp:2073

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), Init, ResetMFXComponents failed at .../pipeline_encode.cpp:1854

[ERROR], sts=MFX_ERR_UNSUPPORTED(-3), main, pPipeline->Init failed at .../sample_encode.cpp:1745

 

I also enabled the tracer and the log on text file, but personally i couldn't find the problem. Following is the core library log on text file:

 

804 2022-3-11 16:32:51 mfx_tracer: dll_init() +
804 2022-3-11 16:32:51 mfx_tracer: lib=libmfxhw64.so.1
804 2022-3-11 16:32:51 mfx_tracer: dll_init() -


804 2022-3-11 16:32:51 function: MFXInitEx(mfxInitParam par={.Implementation=MFX_IMPL_HARDWARE_ANY, .Version=0x7ffff10c8784}, mfxSession *session=0x5604c7746408) +
804 2022-3-11 16:32:51 par.Implementation=MFX_IMPL_HARDWARE_ANY
804 2022-3-11 16:32:51 par.Version.Major=1
804 2022-3-11 16:32:51 par.Version.Minor=0
804 2022-3-11 16:32:51 par.Version.Version=65536
804 2022-3-11 16:32:51 par.ExternalThreads=0
804 2022-3-11 16:32:51 par.NumExtParam=0
804 2022-3-11 16:32:51 par.ExtParam=0000000000000000
804 2022-3-11 16:32:51 par.reserved2[]={ 0, 0, 0, 0, 0 }
804 2022-3-11 16:32:51 par.GPUCopy=0
804 2022-3-11 16:32:51 par.reserved[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

804 2022-3-11 16:32:51 mfxSession session=0
804 2022-3-11 16:32:51 >> MFXInitEx called
804 2022-3-11 16:32:51 par.Implementation=MFX_IMPL_HARDWARE_ANY
804 2022-3-11 16:32:51 par.Version.Major=1
804 2022-3-11 16:32:51 par.Version.Minor=0
804 2022-3-11 16:32:51 par.Version.Version=65536
804 2022-3-11 16:32:51 par.ExternalThreads=0
804 2022-3-11 16:32:51 par.NumExtParam=0
804 2022-3-11 16:32:51 par.ExtParam=0000000000000000
804 2022-3-11 16:32:51 par.reserved2[]={ 0, 0, 0, 0, 0 }
804 2022-3-11 16:32:51 par.GPUCopy=0
804 2022-3-11 16:32:51 par.reserved[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 function: MFXInitEx(3.682 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXQueryVersion(mfxSession session=0x5604c7746030, mfxVersion *version=0x7ffff10c8834) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 version.Major=0
804 2022-3-11 16:32:51 version.Minor=0
804 2022-3-11 16:32:51 version.Version=0
804 2022-3-11 16:32:51 >> MFXQueryVersion called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 version.Major=1
804 2022-3-11 16:32:51 version.Minor=35
804 2022-3-11 16:32:51 version.Version=65571
804 2022-3-11 16:32:51 function: MFXQueryVersion(0.005 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXVideoENCODE_Close(mfxSession session=0x5604c7746030) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 >> MFXVideoENCODE_Close called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 function: MFXVideoENCODE_Close(0.007 msec, status=MFX_ERR_NOT_INITIALIZED) -


804 2022-3-11 16:32:51 function: MFXClose(mfxSession session=0x5604c7746030) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7746030
804 2022-3-11 16:32:51 >> MFXClose called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7746030
804 2022-3-11 16:32:51 function: MFXClose(0.721 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXClose(mfxSession session=0) +
804 2022-3-11 16:32:51 mfxSession session=0

804 2022-3-11 16:32:51 mfx_tracer: dll_init() +
804 2022-3-11 16:32:51 mfx_tracer: lib=libmfxhw64.so.1
804 2022-3-11 16:32:51 mfx_tracer: dll_init() -


804 2022-3-11 16:32:51 function: MFXInitEx(mfxInitParam par={.Implementation=MFX_IMPL_HARDWARE_ANY, .Version=0x7ffff10c8784}, mfxSession *session=0x5604c7746408) +
804 2022-3-11 16:32:51 par.Implementation=MFX_IMPL_HARDWARE_ANY
804 2022-3-11 16:32:51 par.Version.Major=1
804 2022-3-11 16:32:51 par.Version.Minor=0
804 2022-3-11 16:32:51 par.Version.Version=65536
804 2022-3-11 16:32:51 par.ExternalThreads=0
804 2022-3-11 16:32:51 par.NumExtParam=0
804 2022-3-11 16:32:51 par.ExtParam=0000000000000000
804 2022-3-11 16:32:51 par.reserved2[]={ 0, 0, 0, 0, 0 }
804 2022-3-11 16:32:51 par.GPUCopy=0
804 2022-3-11 16:32:51 par.reserved[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

804 2022-3-11 16:32:51 mfxSession session=0
804 2022-3-11 16:32:51 >> MFXInitEx called
804 2022-3-11 16:32:51 par.Implementation=MFX_IMPL_HARDWARE_ANY
804 2022-3-11 16:32:51 par.Version.Major=1
804 2022-3-11 16:32:51 par.Version.Minor=0
804 2022-3-11 16:32:51 par.Version.Version=65536
804 2022-3-11 16:32:51 par.ExternalThreads=0
804 2022-3-11 16:32:51 par.NumExtParam=0
804 2022-3-11 16:32:51 par.ExtParam=0000000000000000
804 2022-3-11 16:32:51 par.reserved2[]={ 0, 0, 0, 0, 0 }
804 2022-3-11 16:32:51 par.GPUCopy=0
804 2022-3-11 16:32:51 par.reserved[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 function: MFXInitEx(3.682 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXQueryVersion(mfxSession session=0x5604c7746030, mfxVersion *version=0x7ffff10c8834) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 version.Major=0
804 2022-3-11 16:32:51 version.Minor=0
804 2022-3-11 16:32:51 version.Version=0
804 2022-3-11 16:32:51 >> MFXQueryVersion called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 version.Major=1
804 2022-3-11 16:32:51 version.Minor=35
804 2022-3-11 16:32:51 version.Version=65571
804 2022-3-11 16:32:51 function: MFXQueryVersion(0.005 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXVideoENCODE_Close(mfxSession session=0x5604c7746030) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 >> MFXVideoENCODE_Close called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7745138
804 2022-3-11 16:32:51 function: MFXVideoENCODE_Close(0.007 msec, status=MFX_ERR_NOT_INITIALIZED) -


804 2022-3-11 16:32:51 function: MFXClose(mfxSession session=0x5604c7746030) +
804 2022-3-11 16:32:51 mfxSession session=0x5604c7746030
804 2022-3-11 16:32:51 >> MFXClose called
804 2022-3-11 16:32:51 mfxSession session=0x5604c7746030
804 2022-3-11 16:32:51 function: MFXClose(0.721 msec, status=MFX_ERR_NONE) -


804 2022-3-11 16:32:51 function: MFXClose(mfxSession session=0) +
804 2022-3-11 16:32:51 mfxSession session=0
804 2022-3-11 16:32:51 status=MFX_ERR_INVALID_HANDLE


804 2022-3-11 16:32:51 status=MFX_ERR_INVALID_HANDLE

 

It seems that the h265 encoding is not supported, but in the online docs it is written that it is. The strange thing is that if i use sample_decode it works properly, so the problem is related only to the h265 ncoding.

 

The target device is an Intel evaluation bord for Elkhart Lake with Intel Yocto image.

CPU: Intel Atom x6425RE

Intel media sdk: version 21.3.5

0 Kudos
12 Replies
Sid023
Beginner
2,534 Views

Hi,

Do you have any news regarding this issue?

 

0 Kudos
AthiraM_Intel
Moderator
2,515 Views

Hi,


Thank you for posting on Intel Communities.


We apologized for the delay from our side.

Please can you answer the following questions:

  1. Please can you share the command to used for running the HEVC encoding and the sample input file?
  2. Did you made any changes in code of sample_encode ? If yes please share that file.
  3. Can you share the exact model number/name of the Intel evaluation board that you are using?


Thank you.


0 Kudos
Sid023
Beginner
2,498 Views

Hi,

thanks for your reply.

 

I didn't made any chages to te sample_encode sources.

The evaluation board is the Elkhart lake Customer reference board (Fab C),  intel reference document 607610.

The CPU is Intel Atom x6425RE

 

The command i ran is:

sample_encode  h265 -i video.raw -o video.h265 -nv12 -w 3840 -h 2160

 

The video.raw is made of 400 frames in nv12 pixel format.

0 Kudos
Sid023
Beginner
2,464 Views

Hi,

Do you have any news?

0 Kudos
AthiraM_Intel
Moderator
2,452 Views

Hi,


We are sorry for the delay. We are checking on it internally, will get back to you soon with an update.



Thanks


0 Kudos
Sid023
Beginner
2,420 Views

Hi,

any updates?

From intel docs the H.265 encoding is supported by Elkhart lake CPU, but in reality the sample_encode does not work with h265.

0 Kudos
AthiraM_Intel
Moderator
2,323 Views

Hi,


We are working on this internally, will let you know the updates.



Thanks


0 Kudos
Sid023
Beginner
2,253 Views

Hi,

any updates?

0 Kudos
Pamela_H_Intel
Moderator
2,230 Views

Sid023 - huge apologies. Your issue was escalated to our priority support tool with only the original information. We had not realized you provided more information. This is a new process for us, please be patient just a bit longer.


We will test this and get back to you.


Pamela


0 Kudos
Pamela_H_Intel
Moderator
2,222 Views

Sid023,


We have reproduced your issue and are escalating to development. Thank you for reporting this.


Pamela


0 Kudos
Pamela_H_Intel
Moderator
2,205 Views

Sid023,


I was chatting with a colleague. It turns out your command line was not quite right. Please try this:

This command should encode the raw file to h265: sample_encode h265 -i video.raw -o video.h265 -w 3840 -h 2160 -sw


Pamela



nicod
Beginner
2,011 Views

Sid023,

on my side, the following command is working on x6425RE:

sample_encode h265 -i video.raw -o video.h265 -w 3840 -h 2160 -lowpower:on 

The LowPower option is mandatory for HEVC with hw acceleration.

Nico

0 Kudos
Reply