我想知道我可以使用哪个MediaFoundation接口来控制亮度,对比度,色调和饱和度等?我发现IMFVideoProcessor::SetProcAmpValues可以修改这些属性,但这些属性是在显卡中修改的;我希望通过捕获设备或AVStream中的MediaFoundation接口修改这些属性。谢谢!
发布于 2013-02-27 23:39:13
这与DirectShow相同:获取视频采集设备的IMFMediaSource,然后查询IAMVideoProcAmp接口:
IMFMediaSource * pSource = NULL;
...
IAMVideoProcAmp *pProcAmp = NULL;
hr = pSource->QueryInterface(IID_PPV_ARGS(&pProcAmp));
if (SUCCEEDED(hr))
{
long lMin, lMax, lStep, lDefault, lCaps;
hr = pProcAmp->GetRange(
VideoProcAmp_Brightness,
&lMin,
&lMax,
&lStep,
&lDefault,
&lCaps
);
if (SUCCEEDED(hr))
{
hr = pProcAmp->Set(
VideoProcAmp_Brightness,
lMax,
VideoProcAmp_Flags_Manual
);
}
}https://stackoverflow.com/questions/10679040
复制相似问题