Recently, I am working out to combine several h264 streams (after resized) into one stream, in order to view those several videos in the video wall at the same time. The operating system is window 7 and the CPU is Intel i3-2120(Integrated graphics HD2000). To get good performance, I try to call the Intel Media SDK API to do this. My solution is that, decode the several h264 streams then resize them use VPP (runnig in several session), after resize call RunFrameVPPAsync, the input surface store serval resize stream and the output surface is the same one but each session has different mfxFrameInfo(the value of CropX, CropY is different means the image's origination position). But it didn't work, the output surface only show one resized image on its position, the other field on the video wall is black. Seemingly, the other streams were overlied.
So, I hope someone can provide me a good solution with the Intel Media SDK.
Like Juixiang mentioned there is no direct operation available in Media SDK to perform frame merging. The way you are trying to use VPP i quite interesting but that usage has never been verified as far as I know. It is remotely possible that there may be a way to get this to work but keep in mind that this approach also requires locking the output surfaces from several decoding sessions which may introduce delays.
Instead you could explore the option of decoding and resizing the steams independently then copy the frame to the specified region of a larger frame surface, that can then be rendered. Or, via direct insertion of frame into render surface via VideoProcessBlt.