Procesamiento digital de video en tiempo real y - Maestría en ...
Procesamiento digital de video en tiempo real y - Maestría en ...
Procesamiento digital de video en tiempo real y - Maestría en ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Procesami<strong>en</strong>to</strong> <strong>digital</strong> <strong>de</strong> vi<strong>de</strong>o <strong>en</strong> <strong>tiempo</strong> <strong>real</strong> y “vi<strong>de</strong>o wall” con la PC 129<br />
IPin *GetPin(IBaseFilter *pFilter, PIN_DIRECTION PinDir); //Pin que localiza un pin <strong>en</strong> el<br />
filtro<br />
void EnumFilters (char *nomFiltro, PIN_DIRECTION PinDir); // Funcion que <strong>en</strong>cu<strong>en</strong>tra el filtro<br />
y pin <strong>en</strong> el grafico<br />
void PaginaProp(void); // Funcion que <strong>de</strong>spliega la pagina propietaria<br />
void UpdateMainTitle(void);<br />
void GetFil<strong>en</strong>ame(TCHAR *pszFull, TCHAR *pszFile);<br />
void Msg(char *szFormat, ...);<br />
HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister);<br />
void RemoveGraphFromRot(DWORD pdwRegister);<br />
//<br />
// Constantes<br />
//<br />
#<strong>de</strong>fine VOLUME_FULL 0L<br />
#<strong>de</strong>fine VOLUME_SILENCE -10000L<br />
// Archivos filtrados <strong>en</strong> el dialogo Op<strong>en</strong>File<br />
#<strong>de</strong>fine FILE_FILTER_TEXT \<br />
TEXT("Archivos <strong>de</strong> Vi<strong>de</strong>o (*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v)\0*.avi; *.qt; *.mov;<br />
*.mpg; *.mpeg; *.m1v\0")\<br />
TEXT("Archivos <strong>de</strong> Audio (*.wav; *.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd)\0*.wav;<br />
*.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd\0")\<br />
TEXT("Archivos WMT (*.asf; *.wma; *.wmv)\0*.asf; *.wma; *.wmv\0")\<br />
TEXT("Archivos MIDI (*.mid, *.midi, *.rmi)\0*.mid; *.midi; *.rmi\0") \<br />
TEXT("Archivos <strong>de</strong> Imag<strong>en</strong> (*.jpg, *.bmp, *.gif, *.tga)\0*.jpg; *.bmp; *.gif; *.tga\0") \<br />
TEXT("Todos los archivos (*.*)\0*.*;\0\0")<br />
// Directorio raiz por <strong>de</strong>fault para la busqueda <strong>de</strong> media<br />
#<strong>de</strong>fine DEFAULT_MEDIA_PATH TEXT("\\\0")<br />
// Valores por <strong>de</strong>fault utilizados con archivos <strong>de</strong> solo-audio<br />
#<strong>de</strong>fine DEFAULT_AUDIO_WIDTH 240<br />
#<strong>de</strong>fine DEFAULT_AUDIO_HEIGHT 120<br />
#<strong>de</strong>fine DEFAULT_VIDEO_WIDTH 320<br />
#<strong>de</strong>fine DEFAULT_VIDEO_HEIGHT 240<br />
#<strong>de</strong>fine APPLICATIONNAME TEXT("DEXTERMedia")<br />
#<strong>de</strong>fine CLASSNAME TEXT("PlayWndMediaPlayer")<br />
#<strong>de</strong>fine WM_GRAPHNOTIFY WM_USER+13<br />
<strong>en</strong>um PLAYSTATE {Stopped, Paused, Running, Init};<br />
//<br />
// Macros<br />
//<br />
#<strong>de</strong>fine SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }<br />
#<strong>de</strong>fine JIF(x) if (FAILED(hr=(x))) \<br />
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n"), hr); return hr;}<br />
#<strong>de</strong>fine LIF(x) if (FAILED(hr=(x))) \<br />
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n"), hr);}<br />
//<br />
// Constantes pre<strong>de</strong>finidas<br />
//<br />
#<strong>de</strong>fine IDI_INWINDOW 100<br />
#<strong>de</strong>fine IDR_MENU 101<br />
#<strong>de</strong>fine ID_FILE_OPENCLIP 40001<br />
#<strong>de</strong>fine ID_FILE_EXIT 40002<br />
#<strong>de</strong>fine ID_FILE_PAUSE 40003<br />
#<strong>de</strong>fine ID_FILE_STOP 40004<br />
#<strong>de</strong>fine ID_FILE_CLOSE 40005<br />
#<strong>de</strong>fine ID_FILE_MUTE 40006<br />
#<strong>de</strong>fine ID_FILE_FULLSCREEN 40007