Mercurial > mplayer.hg
diff codecs.c @ 175:d43c7e6412f0
added DirectShow support
author | arpi_esp |
---|---|
date | Tue, 20 Mar 2001 22:11:38 +0000 |
parents | 02d5e36e81de |
children | a8552ad553e0 |
line wrap: on
line diff
--- a/codecs.c Tue Mar 20 22:10:48 2001 +0000 +++ b/codecs.c Tue Mar 20 22:11:38 2001 +0000 @@ -1,4 +1,8 @@ //#define ANGELPOTION +//#define USE_DIRECTSHOW + +static GUID CLSID_DivxDecompressorCF={0x82CCd3E0, 0xF71A, 0x11D0, + { 0x9f, 0xe5, 0x00, 0x60, 0x97, 0x78, 0xaa, 0xaa}}; char* get_vids_codec_name(){ // unsigned long fccHandler=avi_header.video.fccHandler; @@ -6,6 +10,8 @@ avi_header.yuv_supported=0; avi_header.yuv_hack_needed=0; avi_header.flipped=0; + avi_header.vids_guid=NULL; + switch(fccHandler){ case mmioFOURCC('M', 'P', 'G', '4'): case mmioFOURCC('m', 'p', 'g', '4'): @@ -49,11 +55,17 @@ case mmioFOURCC('m', 'p', '4', '1'): printf("Video in DivX ;-) format\n"); avi_header.yuv_supported=1; +#ifdef USE_DIRECTSHOW + avi_header.vids_guid=&CLSID_DivxDecompressorCF; + return "divx_c32.ax"; +#else avi_header.yuv_hack_needed=1; #ifdef ANGELPOTION return "APmpg4v1.dll"; +#else + return "divxc32.dll"; #endif - return "divxc32.dll"; +#endif case mmioFOURCC('I', 'V', '5', '0'): case mmioFOURCC('i', 'v', '5', '0'): @@ -131,6 +143,7 @@ char* get_auds_codec_name(){ int id=((WAVEFORMATEX*)avi_header.wf_ext)->wFormatTag; + avi_header.auds_guid=NULL; switch (id){ case 0x161://DivX audio // ((WAVEFORMATEX*)avi_header.wf_ext)->wFormatTag=0x160; //hack