"Additionally, for best performance, delay synchronization as long as possible. In your case, sync on encode and skip VPP sync."
I am currently synchronizing on VPP color conversion operation to know when i can let go the RGB4 input buffer, and also synchronizing on the encode operation to know when the bit-stream has been generated. I do both calls to MFXVideoVPP_RunFrameVPPAsync and MFXVideoENCODE_EncodeFrameAsync then send the synchronization point from MFXVideoENCODE_EncodeFrameAsync to another thread to wait for the bit-stream and in the current thread wait for the synchronization point from MFXVideoVPP_RunFrameVPPAsync to know when i can let go of the RGB4 input buffer. Does the wait on the synchronization point from MFXVideoVPP_RunFrameVPPAsync introduce any performance penalties? Since the comment in the topic above made me doubt if it was good that i am doing that.