I'm using the H264 encoder and I want to choose a specific reference frames for each picture, so I filled the mfxExtAVCRefListCtrl structure with the appropriate references in "PreferredRefList" and "RejectedRefList".
With the software version of the encoder (MFX_IMPL_SOFTWARE) I was able to get the expected output, but with the hardware version (MFX_IMPL_HARDWARE) the encoder is using some of the rejected references to encoded the picture.
Is here any way to have the same result as using the software version.
The reference list control feature is a new addition in Media SDK API version 1.3. In beta5 SDK you can find examples on how to use the new features in the "sample_videoconf" sample. Looking at the sample you can see that it is using API 1.3 explicitly. This implies the following. The features will work fine using the Media SDK SW DLL that is shipped with the SDK. For the HW DLL, the API 1.3 is not available until the graphics driver for the next generation Intel platform is released sometime early next year (note that the new driver will also support current generation platforms, commonly also named Sandy Bridge).
So in essence, thePreferredRefList etc. is not yet available in Media SDK HW library.
All that said, in case you use API 1.3, I'm a bit surprised you did not encounter MFX_ERR_UNSUPPORTED when initializing the encoder?