Mercurial > mplayer.hg
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) |