I'm developing a encode/decode lib for a video conference software, it's almost ready with exception of the decode model.
I have been followed the "Video Conferencing features of Intel® Media Software Development Kit" article to set up the parameters of encode and decode in order to improve performace.
But it isn't working well in the decoding side, the colors of the frame starts to mix up with time and in some minutes it turned in to a mess... The only thing i had figured out is always after 11 frames the return from DecodeFrameAsync changes from MFX_ERR_NONE to MFX_WRN_VIDEO_PARAM_CHANGED and it repeats after every 11 frames, my GOP size is 12, so it's obviously connected and it seems to make sense because the frame is different.
The thing i do different from the samples is the mfxVideoParam structure that i fill with out use the DecodeHeader function. The only two fields it's fill and i don't is the CodecLevel and CodecPreset becouse i don't found much information about what to put on it, i tryed some values but the result is a pink decodified frame so i left it with 0 and move on.
Another thing is the workingSurfaces i'm using, the mfxFrameAllocRequest::NumFrameSuggested give me 18 surfaces that will be needed but the decoding process just use the first three ones.
If someone already had a problem like this, please help me.
I will put a ziped sample of a 1920 x 1080 .yuv in attach.
(The green bar in the top of the sample is a MFX_ALIGN16 problem with the 1920 x 1080 resolution and i simply cut it of in exibition.. so i think it's not a problem).
Thank you in advance and sorry for the poor english