aboutsummaryrefslogtreecommitdiffhomepage
path: root/loader/dshow/interfaces.h
Commit message (Collapse)AuthorAge
* Remove win32/qt/xanim/real binary codecs loadingGravatar wm42012-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the win32 loader - the win32 emulation layer, as well as the code for using DirectShow/DMO/VFW codecs. Remove loading of xanim, QuickTime, and RealMedia codecs. The win32 emulation layer is based on a very old version of wine. Apparently, wine code was copied and hacked until it was somehow able to load a limited collection of binary codecs. It poked around in the code segment of some known binary codecs to disable unsupported win32 API calls to make them work. Example from module.c: for (i=0;i<5;i++) RVA(0x19e842)[i]=0x90; // make_new_region ? for (i=0;i<28;i++) RVA(0x19e86d)[i]=0x90; // call__call_CreateCompatibleDC ? for (i=0;i<5;i++) RVA(0x19e898)[i]=0x90; // jmp_to_call_loadbitmap ? for (i=0;i<9;i++) RVA(0x19e8ac)[i]=0x90; // call__calls_OLE_shit ? for (i=0;i<106;i++) RVA(0x261b10)[i]=0x90; // disable threads Just to show how utterly insane this code is. You wouldn't want even your worst enemy to have to maintain this. In fact, it seems nobody made major changes to this code ever since it was committed. Most formats can be decoded by libavcodecs these days, and the loader couldn't be used on 64 bit platforms anyway. The same is (probably) true for the other binary codecs. General note about how support for win32 codecs could be added back: It's not possible to replace the win32 loader code by using wine as library, because modern wine can not be linked with native Linux programs for certain reasons. It would be possible to to move DirectShow video decoding into a separate process linked with wine, like the CoreAVC-for-Linux patches do. There is also the mplayer-ww fork, which uses the dshownative library to use DirectShow codecs on Windows.
* Implement DirectShow filter graph.Gravatar sesse2010-03-08
| | | | | | | | | | DirectShow specifies that a filter (codec) can expect JoinFilterGraph to be called, and store a reference to the graph manager. Implement a very bare-bones graph manager (all functions are stubs, and no extra interfaces are implemented) and give it to the codec on init. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30866 b3059339-0415-0410-9bf9-f77b7e298cf2
* Drop -Iloader from CPPFLAGS for the loader subdirectory.Gravatar diego2010-01-04
| | | | | | | Instead use full relative paths in #includes. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30212 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add MPLAYER_ prefix to multiple inclusion guards.Gravatar diego2008-02-23
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26077 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix a ton of illegal identifiers. Identifiers starting with __ or _ and aGravatar diego2008-01-20
| | | | | | | | capital letter are reserved for the system, those starting with _ are reserved at the file level. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25822 b3059339-0415-0410-9bf9-f77b7e298cf2
* avifile sync - 95% cosmetics 5% bugGravatar arpi2002-09-13
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7387 b3059339-0415-0410-9bf9-f77b7e298cf2
* avifile syncGravatar arpi2001-12-11
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3468 b3059339-0415-0410-9bf9-f77b7e298cf2
* C++ -> C (import from avifile cvs)Gravatar arpi2001-11-21
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3057 b3059339-0415-0410-9bf9-f77b7e298cf2
* sync with avifileGravatar arpi2001-10-04
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2070 b3059339-0415-0410-9bf9-f77b7e298cf2
* big avifile sync - from now we have common codeGravatar arpi2001-08-16
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1546 b3059339-0415-0410-9bf9-f77b7e298cf2
* avifile-0.6-CVS mergeGravatar arpi_esp2001-05-06
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@714 b3059339-0415-0410-9bf9-f77b7e298cf2
* gcc 3.0 patch by Felix von LeitnerGravatar arpi_esp2001-04-07
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@303 b3059339-0415-0410-9bf9-f77b7e298cf2
* Initial revisionGravatar arpi_esp2001-03-20
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@169 b3059339-0415-0410-9bf9-f77b7e298cf2