Как настроить режим видеопроцессора на фильтре EVR? - PullRequest
2 голосов
/ 05 декабря 2011

Я использую фильтр EVR на графике, и мне нужно установить режим видеопроцессора на DXVA2_VIDEOPROCPROGRESSIVEDEVICE, чтобы избежать проблемы чересстрочной развертки.Я могу сделать это вручную в GraphEdit, но не могу понять, как это сделать программно.

IMFVideoProcessor::SetVideoProcessorMode кажется очевидным выбором, поэтому я получил указатель на IMFVideoProcessor, но я изо всех сил пытаюсь узнать, что на него перейти.DXVA2_VIDEOPROCPROGRESSIVEDEVICE определяется как GUID в dxva2api.h, и приведение его к LPGUID приводит к ошибке ссылки ниже.

некоторые фрагменты кода:

IMFVideoProcessor* m_pProcessorCtrl;
hr = pGS->GetService(MR_VIDEO_MIXER_SERVICE, IID_PPV_ARGS(&m_pProcessorCtrl));
m_pProcessorCtrl->SetVideoProcessorMode((LPGUID)&DXVA2_VideoProcProgressiveDevice);

очевидно, есть еще кое-чточем это, но, надеюсь, вы поняли.

Ошибка компоновщика:

error LNK2001: unresolved external symbol _DXVA2_VideoProcProgressiveDevice

Кто-нибудь знает, как я устанавливаю режим видео?

Я использую C ++ с MFC, VS2008, разрабатываю для Vista, ориентируюсь на Vista и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...