明るさ、コントラスト、色相、彩度などを制御するために、どの MediaFoundation API を使用できるのでしょうか? IMFVideoProcessor::SetProcAmpValues でこれらの属性を変更できることがわかりましたが、これらの属性はグラフィック カードで変更されます。これらをキャプチャ デバイスまたは AVStream 内の MediaFoundation インターフェイスで変更したいと考えています。ありがとう!
質問する
1335 次
1 に答える
4
これは 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
);
}
}
于 2013-02-27T15:39:12.517 に答える