28.11.2012 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!