{ "MPEG2 MoComp", &DXVA2_ModeMPEG2_MoComp, 0 },
{ "MPEG2 IDCT", &DXVA2_ModeMPEG2_IDCT, 0 },
- // Intel drivers return standard modes in addition to the Intel specific ones. Try the Intel specific first, they work better for Sandy Bridges.
+#ifndef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
+ /* We must prefer Intel specific ones if the flag doesn't exists */
{ "Intel H.264 VLD, no FGT", &DXVADDI_Intel_ModeH264_E, AV_CODEC_ID_H264 },
{ "Intel H.264 inverse discrete cosine transform (IDCT), no FGT", &DXVADDI_Intel_ModeH264_C, 0 },
{ "Intel H.264 motion compensation (MoComp), no FGT", &DXVADDI_Intel_ModeH264_A, 0 },
{ "Intel VC-1 VLD", &DXVADDI_Intel_ModeVC1_E, 0 },
+#endif
{ "H.264 variable-length decoder (VLD), FGT", &DXVA2_ModeH264_F, AV_CODEC_ID_H264 },
{ "H.264 VLD, no FGT", &DXVA2_ModeH264_E, AV_CODEC_ID_H264 },
{ "VC-1 MoComp", &DXVA2_ModeVC1_B, 0 },
{ "VC-1 post processing", &DXVA2_ModeVC1_A, 0 },
+#ifdef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
+ /* Intel specific modes (only useful on older GPUs) */
+ { "Intel H.264 VLD, no FGT", &DXVADDI_Intel_ModeH264_E, AV_CODEC_ID_H264 },
+ { "Intel H.264 inverse discrete cosine transform (IDCT), no FGT", &DXVADDI_Intel_ModeH264_C, 0 },
+ { "Intel H.264 motion compensation (MoComp), no FGT", &DXVADDI_Intel_ModeH264_A, 0 },
+ { "Intel VC-1 VLD", &DXVADDI_Intel_ModeVC1_E, 0 },
+#endif
+
{ NULL, NULL, 0 }
};