Hello kkbee. I am not sure I understand what you mean by block size. Do you mean size of GOP (group of pictures)? In this case take a look at the description of GopPicSize parameter in mfxInfoMFX structure. It controls the number of frames from one I frameto another. You can also control how often I frames become IDR frames by using IdrInterval parameter in the same structure.
To enforce IDR on per frame basis you can use mfxEncodeCtrl structure. It contains field called FrameType where you can specify flags like MFX_FRAMETYPE_I | MFX_FRAMETYPE_REF | MFX_FRAMETYPE_IDR on an arbitrary frame to encode it asan IDR frame.
I'd like to add one more thing. Media SDK3.0 beta4, which will be released at the end of this week, will add further flexibility in control of encoded frame type. Using this release you will be able to use individual flags, such as MFX_FRAMETYPE_I, instead of "MFX_FRAMETYPE_I | MFX_FRAMETYPE_REF | MFX_FRAMETYPE_IDR"