summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vd_realvid.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove win32/qt/xanim/real binary codecs loadingwm42012-08-161-453/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* build: switch to libavutil bswap.h and intreadwrite.hUoti Urpala2012-02-011-1/+2
| | | | | | | | | | | | Remove the private bswap and intreadwrite.h implementations and use libavutil headers instead. Originally these headers weren't publicly installed by libavutil at all. That already changed in 2010, but the pure C bswap version in installed headers was very inefficient. That was recently (2011-12) improved and now using the public bswap version probably shouldn't cause noticeable performance problems, at least if using a new enough compiler.
* cleanup: shut up more warningsClément Bœsch2011-05-061-0/+4
|
* cleanup: remove NULL checks before free() all over the codecboesch2010-11-141-3/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 b3059339-0415-0410-9bf9-f77b7e298cf2
* cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr)reimar2010-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace malloc+memset by calloc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32181 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32182 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32183 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace some sizeof(type) by sizeof(*pointer) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32184 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32186 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32187 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32188 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace sizoef(type) by sizeof(*ptrvar). Besides being consistent with FFmpeg style, this reduces the size of a patch to rename these types to not conflict with the windows.h definitions. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32189 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32191 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32192 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace sizeof(type) by sizeof(*ptrvar) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32193 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove a useless cast. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32194 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace sizeof(type) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32195 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove a useless cast. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32196 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace several sizeof(WAVEFORMATEX) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32197 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace one more instance of sizeof(WAVEFORMATEX); fix compilation. patch by Clément Bœsch, ubitux gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32199 b3059339-0415-0410-9bf9-f77b7e298cf2 Avoid some pointless uses of sizeof() and one related cast. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32200 b3059339-0415-0410-9bf9-f77b7e298cf2 Merge one malloc() + memset() invocation into calloc(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32202 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32203 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace sizeof(WAVEFORMATEX) occurrences. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32205 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace malloc+memset by calloc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32206 b3059339-0415-0410-9bf9-f77b7e298cf2 Replace sizeof(BITMAPINFOHEADER) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32207 b3059339-0415-0410-9bf9-f77b7e298cf2
* Use AV_RL* macros instead of typecasts where appropriatereimar2010-11-021-4/+4
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31680 b3059339-0415-0410-9bf9-f77b7e298cf2 100l compialtion fix and use AV_RB32. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31683 b3059339-0415-0410-9bf9-f77b7e298cf2 Current FFmpeg installs intreadwrite.h, but keep using the internal version for now to keep the possibility of compiling against older FFmpeg lib versions.
* Merge svn changes up to r30967Uoti Urpala2010-04-261-2/+3
|\
| * Fix build due to codecs_path vs. codec_path typo.diego2010-03-231-2/+2
| | | | | | | | | | | | | | patch by Erik Auerswald, auerswal unix-ag.uni-kl de git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30950 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Get rid of pointless def_path variable; use codec_path directly instead.diego2010-03-231-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30949 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Real binary loader code should respect the binary codec path.diego2010-03-231-2/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30948 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30907Uoti Urpala2010-04-261-2/+2
|\|
| * Replace separate Win32, XAnim and Real codec directories by one global dir.diego2010-03-141-2/+2
| | | | | | | | | | | | | | | | | | Nowadays MPlayer does not use the codecs from other installed programs. A runtime setting will soon take over the rare case that binary codecs should be searched for in non-standard directories. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30888 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Revert marking seemingly unused RealAudio/RealVideo-related functions as static.diego2010-02-171-23/+0
| | | | | | | | | | | | | | | | | | The functions are required to load binary Real codecs, so they need to be kept. Group all functions together in ad_realaud.c because all the functions are used to load audio binaries and only some to load video binaries. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30606 b3059339-0415-0410-9bf9-f77b7e298cf2
| * libmpcodecs: Mark functions not used outside of their files as static.diego2010-02-161-3/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30597 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Mark all ad_info_t/vd_info_t structure declarations as const.diego2010-02-121-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30546 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Delete things related to old translation systemUoti Urpala2010-03-101-1/+0
| | | | | | | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* | Merge svn changes up to r30463Uoti Urpala2010-03-091-0/+18
|\| | | | | | | | | | | Note that r30455 is wrong, that commit does not in fact change the default behavior as claimed in the commit message. It only breaks "-af-adv force=0", which was already pretty much useless though.
| * Add missing license headers to all files in the libmpcodecs directory.diego2010-01-301-0/+18
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30463 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-5/+5
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-5/+5
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-1/+1
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-1/+1
| | | | | | | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* | Merge svn changes up to r28537Uoti Urpala2009-02-121-13/+13
|\|
| * change internal real video packetizing format to the more straight forward oneaurel2009-02-091-13/+13
| | | | | | | | | | | | | | | | see [MPlayer-dev-eng] [PATCH] cleanup/uniformize real video packetizing patch blessed by Roberto git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28503 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27374Uoti Urpala2008-07-301-9/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h cfg-mplayer.h command.c configure libmpcodecs/dec_video.c libmpcodecs/vd.c libmpcodecs/vf_vo.c libmpdemux/demuxer.h libmpdemux/stheader.h mp_core.h mplayer.c stream/stream_radio.c
| * Start unifying names of internal preprocessor directives.diego2008-07-301-9/+9
| | | | | | | | | | | | | | | | Replace all USE_ prefixes by CONFIG_ prefixes to indicate options which are configurable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r26979Uoti Urpala2008-06-041-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the conflicts are trivial. Conflicts: Makefile cfg-mplayer.h input/input.c libmenu/vf_menu.c libmpcodecs/dec_video.c libmpcodecs/vf_expand.c libmpcodecs/vf_vo.c libmpdemux/demux_mkv.c libmpdemux/demuxer.c libmpdemux/demuxer.h libvo/vo_directfb2.c libvo/vo_gl.c libvo/vo_winvidix.c libvo/vo_xv.c libvo/vo_xvidix.c libvo/vo_xvmc.c libvo/x11_common.c mplayer.c osdep/timer-linux.c stream/cache2.c
| * cosmetics: Remove pointless parentheses from return calls.diego2008-05-161-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26786 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Make video decoder description structs constUoti Urpala2008-04-251-1/+1
|/ | | | | | This makes the per-decoder struct vd_functions and its ->info struct constants. Same for the mpcodecs_vd_drivers[] table of pointers to those structs.
* Set dll_type and rv_handle for drvc.dllzuxy2008-04-131-1/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26430 b3059339-0415-0410-9bf9-f77b7e298cf2
* Oops...should be "drv43260.dll" instead of "drv34260.dll"zuxy2008-04-121-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26421 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetic fix for r26419zuxy2008-04-121-2/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26420 b3059339-0415-0410-9bf9-f77b7e298cf2
* Dlls can be relocated when loading so rely on filename instead of absolutezuxy2008-04-121-3/+2
| | | | | | | address to check if it's drv43260.dll and hence needs patching. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26419 b3059339-0415-0410-9bf9-f77b7e298cf2
* Indentation fix for r26417zuxy2008-04-121-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26418 b3059339-0415-0410-9bf9-f77b7e298cf2
* Don't print "Could not patch" messages when we haven't actually tried to patch.zuxy2008-04-121-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26417 b3059339-0415-0410-9bf9-f77b7e298cf2
* Check for drvc.dll entries for mingw32zuxy2008-04-121-0/+11
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26416 b3059339-0415-0410-9bf9-f77b7e298cf2
* typo fix: inited --> initializeddiego2008-02-141-5/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25994 b3059339-0415-0410-9bf9-f77b7e298cf2
* Do not pass timestamp to realvideo binary decoderrtogni2008-01-061-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25626 b3059339-0415-0410-9bf9-f77b7e298cf2
* Runtime-patching for windows to fix crash with drv43260.dll reimar2007-08-201-0/+44
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24107 b3059339-0415-0410-9bf9-f77b7e298cf2
* Include loader/ prefix in #include path everywhere.diego2007-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22595 b3059339-0415-0410-9bf9-f77b7e298cf2
* Only increase buffer size to avoid crashes when seeking inreimar2006-12-101-2/+5
| | | | | | | multi-resolution video files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21579 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix realvideo size changes by using our own malloced buffer and export type mpi.reimar2006-12-101-13/+20
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21575 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove unused function pointers, they probably had incorrect prototypesreimar2006-12-031-8/+0
| | | | | | | anyway. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21482 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix extradata passing to lavc RV20 decoderrtogni2006-11-141-12/+25
| | | | | | | | | | | | Pass video codec extradata unchanged from demux_real, sync vd_realvid to the new format Sync mkv demuxer to the changes above (cmsg24 extradata was totally broken before) Detect cmsg24 size from extradata (was fixed) Based on a patch by elupus >> elupus >a< ecce se << git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20936 b3059339-0415-0410-9bf9-f77b7e298cf2
* Allows up to 8 bytes of extradata for cmsg24rtogni2006-10-101-2/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20150 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move #ifdefs around complete files into the build system.diego2006-06-211-3/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18774 b3059339-0415-0410-9bf9-f77b7e298cf2
* Reduce Real DLL/so loading verbosity, OKed by Roberto.diego2006-03-031-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17722 b3059339-0415-0410-9bf9-f77b7e298cf2
* Unify include path handling, -I.. is in CFLAGS.diego2005-11-181-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17013 b3059339-0415-0410-9bf9-f77b7e298cf2
* DragonFly BSD supportdiego2005-05-251-1/+1
| | | | | | | patch by Joerg Sonnenberger <joerg - at - britannica - dot - bec - dot - de> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15567 b3059339-0415-0410-9bf9-f77b7e298cf2
* Play RV30 with 8-elements cmsg24rtognimp2005-01-221-1/+4
| | | | | | | Fixes rv30_cmsg24_test.rmvb (now in samples) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14569 b3059339-0415-0410-9bf9-f77b7e298cf2
* 100l, set inited to 0 in uninit, otherwise only first file will play video.reimar2005-01-091-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14438 b3059339-0415-0410-9bf9-f77b7e298cf2
* remove mac shlb support to use new helix codec for realvideo support on osxnplourde2004-11-031-76/+16
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13861 b3059339-0415-0410-9bf9-f77b7e298cf2
* support for realvideo codecs under macosx, original patch by Donnie Smithalex2004-06-241-4/+79
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12629 b3059339-0415-0410-9bf9-f77b7e298cf2
* minimal fix for alex's 1000000000000l compile errors. imo the fix inrfelker2004-04-301-0/+1
| | | | | | | | | | aviheader.h is totally correct. defining useless typedefs that can conflict with other headers is bad practice. i don't like editing mmreg.h but oh well... if you have a better fix, commit it! finally, the fix in the ad_ and vd_ files seems totally correct. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12357 b3059339-0415-0410-9bf9-f77b7e298cf2
* Win32 codec paths in vd_realvid.cdiego2003-07-191-1/+1
| | | | | | | Patch by Glyn Kennington <glyn.kennington at hertford.oxford.ac.uk>. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10445 b3059339-0415-0410-9bf9-f77b7e298cf2
* OpenBSD support by Bjorn Sandell <biorn@dce.chalmers.se>alex2003-05-201-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10143 b3059339-0415-0410-9bf9-f77b7e298cf2
* dynamic path[] allocationalex2003-05-121-1/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10103 b3059339-0415-0410-9bf9-f77b7e298cf2
* cygwin/mingw32 support by Sascha Sommeralex