Showing results for 
Search instead for 
Did you mean: 

DecodeHeader func work with H264 streaming video ?

Hi  I have a streaming video service, basicly, someone pass the H264 video frame by frame to my Decoder element and I need decode and vpp each video frame.  I saw the example code it use DecodeHeader fucntion to get the mfxVideoParams and then use it  to initialize the mfxVideoDecoder. I try pass first H264 raw frame to DecodeHeader function but it return  MFX_ERR_UNDEFINED_BEHAVIOR.    Is  that single frame is good enought for DecodeHeader function to fill the mfxVideoParam or not ?  or DecodeHeader function dont work with streaming video.   I can get some configuration data from outside and fill into  mfxVideoParams  strucutre but that structure looks very complex and I dont what the necessary paramter it needed.  here is the struture .

typedef struct _mfxVideoParam {
mfxU32 reserved[3];
mfxU16 reserved3;
mfxU16 AsyncDepth;
union {
mfxInfoMFX mfx;
mfxInfoVPP vpp;
mfxU16 Protected;
mfxU16 IOPattern;
mfxExtBuffer **ExtParam;
mfxU16 NumExtParam;
mfxU16 reserved2;
} mfxVideoParam;

the mfxInfoMFX mfx; looks really complex and I dont know which one is necessary.

0 Kudos
1 Reply

Hi Zheng,

I suspect the reason DecodeHeader is not able to determine the stream details is due to missing SPS/PPS header info in the bitstream data you provided to DecodeHeader. Please make sure that the data provided has the header info preceding first I frame or a reference frame.

If you are still having issue please extract and share the bitstream data and share it with us so that we can analyze the stream locally.