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.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

HEVC encoding: error MFX_ERR_UNSUPPORTED

Sid023
Beginner
1,308 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
1,237 Views

Hi,

Do you have any news regarding this issue?

 

AthiraM_Intel
Moderator
1,218 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.


Sid023
Beginner
1,201 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.

Sid023
Beginner
1,167 Views

Hi,

Do you have any news?

AthiraM_Intel
Moderator
1,155 Views

Hi,


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



Thanks


Sid023
Beginner
1,123 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.

AthiraM_Intel
Moderator
1,026 Views

Hi,


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



Thanks


Sid023
Beginner
956 Views

Hi,

any updates?

Pamela_H_Intel
Moderator
933 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


Pamela_H_Intel
Moderator
925 Views

Sid023,


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


Pamela


Pamela_H_Intel
Moderator
908 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
714 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

Reply