comparison loader/module.c @ 13745:3db10035d297

Windows media video advanced profile (wmva) support via binary codec
author rtognimp
date Sun, 24 Oct 2004 00:29:57 +0000
parents 3c7d56b95a5a
children f5537cc95b02
comparison
equal deleted inserted replaced
13744:d66e3d5865b8 13745:3db10035d297
465 for (i=0;i<6;i++) ((char*)0x10007559)[i]=0x90; 465 for (i=0;i<6;i++) ((char*)0x10007559)[i]=0x90;
466 for (i=0;i<6;i++) ((char*)0x100081c3)[i]=0x90; 466 for (i=0;i<6;i++) ((char*)0x100081c3)[i]=0x90;
467 for (i=0;i<6;i++) ((char*)0x1000839e)[i]=0x90; 467 for (i=0;i<6;i++) ((char*)0x1000839e)[i]=0x90;
468 } else { 468 } else {
469 fprintf(stderr, "Unsupported VP6 version\n"); 469 fprintf(stderr, "Unsupported VP6 version\n");
470 return 0;
471 }
472 }
473
474 // Windows Media Video 9 Advanced
475 if (strstr(libname,"wmvadvd.dll") && wm)
476 {
477 // The codec calls IsRectEmpty with coords 0,0,0,0 => result is 0
478 // but it really wants the rectangle to be not empty
479 if (PE_FindExportedFunction(wm, "CreateInstance", TRUE)==(void*)0x08c4b812) {
480 // Dll version is 10.0.0.3645
481 *((char*)0x08c48b0f)=0xeb; // Jump always, ignoring IsRectEmpty result
482 } else {
483 fprintf(stderr, "Unsupported WMVA version\n");
470 return 0; 484 return 0;
471 } 485 }
472 } 486 }
473 487
474 if (strstr(libname,"QuickTime.qts") && wm) 488 if (strstr(libname,"QuickTime.qts") && wm)