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

MFXVideoDECODE_DecodeHeader and Windows Media Foundation

chatelier__pierre
3,579 Views

[context]

I want to use oneAPI/vpl/MFXVideoDECODE for raw samples provided by an IMFSourceReader (part of Microsoft Windows Media Foundation). That way, I delegate the media reading to Media Foundation, and let H264 decoding occur through VPL. I need to to that explicitely, I don't want to use "plugins".

 

[what works]

I have a valid avi file containing valid H264 (AVC1) samples, that can be played by any movie player.

I can myself handle that file with the Media Foundation API.

 

[what does not work]

In order to call MFXVideoDECODE_Init() , I need a valid mfxVideoParam structure filled with information matching the movie.

Since it seems really difficult to fill correctly a mfxVideoParam by hand, and that there is no way to fill it from an IMFMediaType, I have to resort to MFXVideoDECODE_DecodeHeader().

However, whatever I send to MFXVideoDECODE_DecodeHeader(), it pretends to succeed but does not fill correctly the structure, making the next call to MFXVideoDECODE_Init() fail miserably

 

[some details]

I tried to feed the input bitstream of MFXVideoDECODE_DecodeHeader() with

-the complete raw file bytes

-the first IMFMediaSample from the IMFSourceReader

-the MF_MT_MPEG_SEQUENCE_HEADER  blob from the IMFMediaType (that contains the NALUs)

-as expected, I also manually set the mfx.codecId of the mfxVideoParam  as MFX_CODEC_AVC

 

in any case, MFXVideoDECODE_DecodeHeader() returns success, but no mfx.FrameInfo fields  are filled, and of course MFXVideoDECODE_Init() will fail

 

[the question]

What am I supposed to do to get a correct mfxVideoParam  from a sequence opened in Windows Media Foundation ?

0 Kudos
22 Replies
Pamela_H_Intel
Moderator
254 Views

Pierre,

Have you begun using the oneVPL GPU implementation? If not, we will try to find a workaround for you.

However, know that the CPU implementation of oneVPL is a reference implementation and is not expected to be performant.

We have been working to improve our documentation to be more clear.

Pamela

0 Kudos
chatelier__pierre
250 Views

I don't have a supported GPU to test oneVPL GPU implementation.

I understand that CPU is not "a reference implementation and is not expected to be performant.", but once again it has nothing to do with the *bug* !
And that's the point : if it does not work at least with the CPU, I have zero confidence to go further with this technology.


Please reread this thread. It started 8 months ago and I have not been provided any useful hint or solution. From time to time, a new message was posted that just had nothing to do with addressing the problem.

This is one of the worst support I have ever seen.

0 Kudos
Reply