void Vmr9VideoWindowControl::setProcAmpValues() { if (IVMRMixerControl9 *control = com_cast<IVMRMixerControl9>(m_filter, IID_IVMRMixerControl9)) { VMR9ProcAmpControl procAmp; procAmp.dwSize = sizeof(VMR9ProcAmpControl); procAmp.dwFlags = m_dirtyValues; if (m_dirtyValues & ProcAmpControl9_Brightness) { procAmp.Brightness = scaleProcAmpValue( control, ProcAmpControl9_Brightness, m_brightness); } if (m_dirtyValues & ProcAmpControl9_Contrast) { procAmp.Contrast = scaleProcAmpValue( control, ProcAmpControl9_Contrast, m_contrast); } if (m_dirtyValues & ProcAmpControl9_Hue) { procAmp.Hue = scaleProcAmpValue( control, ProcAmpControl9_Hue, m_hue); } if (m_dirtyValues & ProcAmpControl9_Saturation) { procAmp.Saturation = scaleProcAmpValue( control, ProcAmpControl9_Saturation, m_saturation); } if (SUCCEEDED(control->SetProcAmpControl(0, &procAmp))) { m_dirtyValues = 0; } control->Release(); } }
void Evr9VideoWindowControl::setProcAmpValues() { if (m_processor) { DXVA2_ProcAmpValues values; if (m_dirtyValues & DXVA2_ProcAmp_Brightness) { values.Brightness = scaleProcAmpValue(DXVA2_ProcAmp_Brightness, m_brightness); } if (m_dirtyValues & DXVA2_ProcAmp_Contrast) { values.Contrast = scaleProcAmpValue(DXVA2_ProcAmp_Contrast, m_contrast); } if (m_dirtyValues & DXVA2_ProcAmp_Hue) { values.Hue = scaleProcAmpValue(DXVA2_ProcAmp_Hue, m_hue); } if (m_dirtyValues & DXVA2_ProcAmp_Saturation) { values.Saturation = scaleProcAmpValue(DXVA2_ProcAmp_Saturation, m_saturation); } if (SUCCEEDED(m_processor->SetProcAmpValues(0, &values))) { m_dirtyValues = 0; } } }