diff --git a/_studio/mfx_lib/encode_hw/vp9/src/mfx_vp9_encode_hw_par.cpp b/_studio/mfx_lib/encode_hw/vp9/src/mfx_vp9_encode_hw_par.cpp index 281af7290a..f0b0973179 100644 --- a/_studio/mfx_lib/encode_hw/vp9/src/mfx_vp9_encode_hw_par.cpp +++ b/_studio/mfx_lib/encode_hw/vp9/src/mfx_vp9_encode_hw_par.cpp @@ -1850,9 +1850,14 @@ mfxStatus CheckAndFixCtrl( checkSts = MFX_WRN_INCOMPATIBLE_VIDEO_PARAM; } - if (ctrl.FrameType > MFX_FRAMETYPE_P) + if (ctrl.FrameType & 0xFF00) { + ctrl.FrameType = (ctrl.FrameType & 0xFF); + checkSts = MFX_WRN_INCOMPATIBLE_VIDEO_PARAM; + } + + if ((ctrl.FrameType & 0xF) > MFX_FRAMETYPE_P) { - ctrl.FrameType = MFX_FRAMETYPE_P; + ctrl.FrameType = (MFX_FRAMETYPE_P | (ctrl.FrameType & 0xF0)); checkSts = MFX_WRN_INCOMPATIBLE_VIDEO_PARAM; }