Наложение растрового изображения на живое видео - PullRequest
0 голосов
/ 12 апреля 2010

Привет, я хочу наложить растровое изображение на живое видео. Я пытаюсь сделать это с помощью образца directshow. Я отредактировал образец PlayCapMonker и добавил некоторые функции, чтобы включить это. я сделал это с помощью процедуры, описанной в ссылке ниже

http://www.ureader.com/msg/1471251.aspx

Теперь я получаю ошибки

Ошибка 2, ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 3 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 5 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 6 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 8 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 9 Ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 21 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 22 ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int
Ошибка 26, ошибка C4430: отсутствует указатель типа - предполагается использование int. Примечание: C ++ не поддерживает default-int
Ошибка 27, ошибка C4430: отсутствует указатель типа - предполагается int. Примечание: C ++ не поддерживает default-int Ошибка 36 ошибка C2228: слева от .m_alpha должен быть класс / структура / объединение
Ошибка 38, ошибка C2227: слева от '-> SetAlphaBitmap' должен указываться класс / структура / объединение / универсальный тип
Ошибка 7, ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором 'Pool' Ошибка 4, ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором «Формат» c: \ Program Files \ Microsoft Platform SDK \ include \ Vmr9.h 368 PlayCapMoniker Ошибка 1, ошибка C2143: синтаксическая ошибка: отсутствует ';' до ''
Ошибка 20, ошибка C2143: синтаксическая ошибка: отсутствует ';' до '
'
Ошибка 25, ошибка C2143: синтаксическая ошибка: отсутствует ';' до '*'
Ошибка 30, ошибка C2065: «g_pMixerBitmap»: необъявленный идентификатор
Ошибка 33 ошибка C2065: «g_pMixerBitmap»: необъявленный идентификатор
Ошибка 37 ошибка C2065: «g_pMixerBitmap»: необъявленный идентификатор
Ошибка 31 ошибка C2065: «g_hbm»: необъявленный идентификатор
Ошибка 32, ошибка C2065: «g_hbm»: необъявленный идентификатор
Ошибка 35 ошибка C2065: «config»: необъявленный идентификатор
Ошибка 10 Ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 11 ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 12, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 13, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 16, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 19, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 23, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 24, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 28, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 29 ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DSurface9'
Ошибка 14, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DDevice9'
Ошибка 15, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DDevice9' Ошибка 17, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DDevice9'
Ошибка 18, ошибка C2061: синтаксическая ошибка: идентификатор 'IDirect3DDevice9'
Ошибка 34 ошибка C2039: «pDDS»: не является членом SDK «_VMR9AlphaBitmap» \ Samples \ Multimedia \ DirectShow \ Capture \ PlayCapMoniker \ PlayCapMoniker.cpp 263 PlayCapMoniker

1 Ответ

1 голос
/ 12 апреля 2010

Это общеизвестная проблема (имеется в виду: Google был бы вашим другом), связанная с конфликтом между различными заголовочными файлами (qedit.h, d3d9.h, vmr.h). См. Например, http://tmhare.mvps.org/faqs.htm#qed.

G

контент с сайта tmhare: Вы, вероятно, также есть в вашем списке включаемых файлов. Это известная проблема, и обходной путь состоит в том, чтобы разделить ваш код, который использует VMR9, и код, который использует DES и связанные функции, такие как IMediaDet, на два отдельных исходных файла. Это означает, что вы не можете поместить любой файл заголовка в предварительно скомпилированный заголовок, такой как stdafx.h.

Альтернативное решение было опубликовано в группах новостей chadderack. Он использует #define ниже, чтобы избежать конфликтов:

#ifndef __D3DRM_H__
#define __D3DRM_H__
#endif

#include <dshow.h>
#include <d3d9.h>
#include <vmr9.h>
#include <qedit.h>
#include <dxerr9.h>
...