summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* encode: video encoding now supported using mencoder-like optionsRudolf Polzer2012-09-181-0/+1
|
* vf_rectangle: remove as it is very dirty and we have a replacement nowRudolf Polzer2012-09-181-1/+0
|
* ad_dvdpcm: add back PCM decoder for DVDwm42012-09-181-0/+1
| | | | | | This is needed by demux_mpg (and possibly by demux_ts) for PCM playback. The decoder does the mapping from MPEG headers to the actual PCM format, and also unpacks sample data for 20/24 bit formats.
* libmpdemux: add back demux_tswm42012-09-181-0/+1
| | | | | | | | | | | | | | | | | Someone wanted this. Apparently both libavformat's TS demuxer and demux_ts are crap, and work/fail in different cases. This demuxer has been removed in 1fde09db6f4ce. All code added comes from the revision before that. Some required bits have been added in the commit before this one (re-adding demux_mpg), in particular the changes to video.c. stream_dvb will use this demuxer by default, otherwise demux_lavf is preferred (as it has been before). Some TS related command line options are not re-added. Closed captions might not work.
* libmpdemux: add back demux_mpgwm42012-09-181-0/+4
| | | | | | | | | | | | | | | | | | | | | Apparently this was needed for good DVD playback. This demuxer has been removed in 1fde09db6f4ce. All code added comes from the revision before that. Some other bits have been removed in later commits, and are added back as well. Usage of memalign() is replaced by av_malloc(). As far as I can tell, this memory is never free'd or reallocated, so no calls to av_free() have been added. The code re-added to video.c is plain horrible, full of code duplication, full of demuxer/codecs specifics, but apparently needed. Unrelated to re-adding the demuxer, re-add one codepath for DEMUXER_TYPE_TV, which was accidentally removed in the same commit demux_mpg was removed. The closed captions decoder is not re-added.
* ad_pcm: add back raw decoderwm42012-09-181-0/+1
| | | | | | | | | | | This was removed in commit 6a26b4a66504. Add it back, because it was needed by demuxer_rawaudio and for PCM audio with demuxers other than demux_lavf. (In practice, this broke rawaudio and PCM-in-Matroska only.) Unlike with raw video, there is no single raw audio "decoder" in libavcodec. Instead of trying to mess raw audio input into ad_ffmpeg using a table to map audio formats to the respective libavcodec decoders, it seems advantageous to simply add back ad_pcm.
* build: move mpcommon.c to version.cwm42012-09-181-1/+2
| | | | | | | | | | | | | mpcommon.c used to be the only file to include version.h. version.h is generated by the build system, and contains the git revision. Any time a commit is made (or the tree is rebased etc.), the file is rewritten, and mpcommon.c rebuilt. To make rebuilding less annoying, the definition of the version string is the only thing in mpcommon.c. Since I want to add other things to mpcommon.c, add a new file named version.c, that takes over mpcommon.c's role as described above. mpcommon.c doesn't include version.h anymore, and will be used to park code that doesn't really belong anywhere else.
* vo_vdpau: split bitmap packing code into a separate fileUoti Urpala2012-09-181-0/+1
| | | | | | | | | | | | | | | | | | Split the vo_vdpau code that calculates how to pack all subtitle bitmaps into a larger surface into a separate file. This will allow using it in other VOs. Conflicts: Makefile libvo/vo_vdpau.c Note: this commit does the same as an earlier commit by me (4010dd0b1a27e3996). My commit added the vo_vdpau packer code as eosd_packer.c, while this commit by uau uses bitmap_packer.c. Since bitmap_packer.c has a different interface, and because there are more commits changing OSD rendering coming, I will pick uau's version. However, vo_gl, vo_gl3 and vo_direct3d are still using eosd_packer.c, so to make the transition easier, don't delete eosd_packer.c yet.
* sd_lavc: use subtitle framework for former av_sub.c codeUoti Urpala2012-09-181-1/+1
| | | | | | | | | | | | | | | | Change libavcodec subtitle decoding code (used for some bitmap subtitle types) to use the same decoding framework as sd_ass. The functionality that was previously in av_sub.c and was directly called from mplayer.c is now in sd_lavc.c. Conflicts: mplayer.c sub/av_sub.h sub/sd_lavc.c Merged from mplayer2. The remaining use of is_av_sub() is replaced by a check whether a subtitle decoder is active, which should give the same results.
* core: move implementation for -audiofile to the frontendwm42012-09-181-1/+0
| | | | This should behave as before, with the same set of caveats.
* vf_dlopen: add a generic filter to load external filtersRudolf Polzer2012-08-231-0/+1
| | | | | | Usage: -vf dlopen=filename.so:args... Examples of such filters are provided in TOOLS/vf_dlopen/
* libmpcodecs: remove redundant audio and video decoderswm42012-08-201-22/+0
| | | | | | | | Probably all of these are supported by libavcodec. Missing things can be added back. Also remove qtpalette.h. It was used by demux_mov.c, and should have been deleted with commit 1fde09db6f4ce.
* Remove support for libdvwm42012-08-201-3/+0
| | | | | This removes the libdv demuxer and audio/video decoders. FFmpeg has support for it, and it's even preferred over the internal decoders.
* Remove support for libnemesi RTSP streamingwm42012-08-201-2/+0
| | | | | Removed due to being a maintainance burden. Support for FFmpeg is available.
* Remove support for LIVE555 RTSP streamingwm42012-08-201-3/+0
| | | | | | | | | | | | The main excuse for removing this is that LIVE555 deprecated the API the mplayer implementation was using. The old API still seems to be somewhat supported, but must be explicitly enabled at LIVE555 compilation, so mplayer won't always work on any user installation. The implementation was also very messy, in C++, and FFmpeg support is available as alternative. Remove it completely.
* libmpdemux: remove demux_real, demux_viv, demux_audiowm42012-08-201-4/+0
| | | | | | libavformat replaces demux_audio completely. I don't know/care what vivo (demux_viv) is. libavformat has a Real demuxer; it seems it works slightly better, with a different set of bugs.
* build: remove leftover bits for internal libdvdread supportwm42012-08-201-4/+0
| | | | | | | Support for internal libdvdread has been removed in commit 41fbcee1f55, but some bits have been missed in Makefile/configure. Support for libdvdread as normal library is left unchanged.
* VO: remove vo_directfb2 and vo_directxwm42012-08-161-2/+0
| | | | | | | | | | | | While being able to play videos on a framebuffer device would be nice, I didn't need it, and couldn't even test it (buggy nvidia binary drivers that disable framebuffers, buggy DirectFB that crashes when using the X11 backend). It's just dead weight, get rid of it. vo_directx was very horrible, and by today it's mostly useless. I didn't remove it, because there was that-guy who told me in amazement how awesome mplayer was, because it was the only video player fast enough for fast playback on his system when using vo_directx. Sorry, that-guy.
* Remove dvdnav support (DVD menus)wm42012-08-161-33/+0
| | | | | | | | | | | | | | | | When the internal mplayer MPEG demuxer was removed (commit 1fde09db), the default demuxer when using dvdnav was set to libavformat. Now it turns out that this doesn't work with libavformat. It will terminate playback right after the audio runs out (instead of looping it like the video, or whatever it's supposed to do). I'm not sure what exactly the problem is, but since 1. even mplayer-svn can't handle DVD menus directly (missing highlights), 2. DVD menus are essentially worthless, and 3. I don't directly watch DVDs, don't bother with it and remove it. For basic playback, there's still libdvdread support. Also, use pkg-config for libdvdread, and drop support for in-tree libdvdread. Remove support for in-tree libdvdcss as well.
* Remove win32/qt/xanim/real binary codecs loadingwm42012-08-161-57/+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.
* vo_sharedbuffer: remove this VOStefano Pigozzi2012-08-151-1/+0
| | | | | | | | | | | | | | Since slave mode is not planned to be kept, this VO is useless and I'm removing it. This VO was useful for OSX GUIs. Since in cocoa you can't embed views in windows from other processes, this VO was writing to a sharedbuffer with mmap. The OSX GUIs would then read from the buffer and render the image with an external renderer. If in the future we will want to support GUIs we will need to reasearch the IOSurface framework. This allows to share kernel managed image data across processes and integrates well with OpenGL.
* VO: remove old VO gluewm42012-08-071-1/+0
| | | | | | | This transition to a new VO API started over 4 years ago. It's time to finally end it, and get rid of the horrible hacks. Also removes some previously undetected dead code from spudec.c.
* Remove V4L2 decoder support (vo_v4l2 and ao_v4l2)wm42012-08-071-3/+0
| | | | | | | | | | | The removed VO and AO took MPEG data and decoded it with V4L2. I'm not exactly sure what's the use of this today, but get rid of it. As far as feeding video data to V4L2 is concerned, there are other ways. For example, there is this script, that feeds yuv4mpeg formatted raw video data to V4L2: https://raw.github.com/umlaeute/v4l2loopback/master/examples/yuv4mpeg_to_v4l2.c
* VO: remove vo_gif89a, vo_md5sum, vo_yuv4mpegwm42012-08-061-3/+0
| | | | | | | | The encoding branch by divverent can handle of these via libavformat. Note: for some reason, libav/ffmpeg have a GIF muxer only, and no demuxer. The gif configure checks needef for the mplayer internal gif demuxer can't be removed yet.
* VO: remove vo_jpeg, vo_png, vo_pnm, vo_tgawm42012-08-061-4/+0
| | | | All of these have been replaced by vo_image.
* vo_image: add new video output for writing imageswm42012-08-061-0/+1
| | | | This is supposed to replace vo_png and others.
* screenshot: move image writer code into new file image_writer.cwm42012-08-061-0/+1
|
* AF: remove af_statswm42012-08-031-1/+0
| | | | This was not very useful.
* libmpcodecs: add ad_spdif.c, S/PDIF passthrough decodermplayer-svn2012-08-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch by Naoya OYAMA, naoya.oyama gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34191 b3059339-0415-0410-9bf9-f77b7e298cf2 fix ad_spdif Call av_register_all() before initialising the SPDIF muxer. Fixes playback with -demuxer mpegts -ac spdifac3. Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34291 b3059339-0415-0410-9bf9-f77b7e298cf2 Use new API avformat_new_stream() instead of the deprecated av_new_stream(). Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34292 b3059339-0415-0410-9bf9-f77b7e298cf2 Cosmetics: Remove empty statement. Patch by Naoya OYAMA, naoya D oyama gmail git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34293 b3059339-0415-0410-9bf9-f77b7e298cf2 Use init_avformat() instead of av_register_all(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34294 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: diego
* Remove leftover BeOS support stuffwm42012-08-031-1/+0
| | | | As by mplayer-svn commit 33972. Their BeOS removal was more thorough.
* Remove teletext supportwm42012-08-031-1/+0
| | | | | | | | Teletext requires special OSD support. Because I can't even test teletext, I can't restore support for it. Since teletext can be considered ancient and obscure, and since it doesn't make sense to keep the remaining teletext code without being able to use it, I'm removing it.
* stream: remove V4L TV input and V4L radio supportwm42012-08-021-1/+0
| | | | There are V4L2 drivers, and the old V4L stuff seems plain unnecessary.
* stream: remove stream_cuewm42012-08-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | stream_cue, which provided the cue:// protocol handler, was extremely hacky and didn't even manage to play some samples I tried. Remove it, because it's plain unneeded. There is much better support for .cue files elsewhere: - libcdio can play pairs of .cue/.bin files: mplayer cdda:// --cdrom-device=your_cue_file.cue Note that if the .cue file is not accompanied by a .cue file, but an encoded file for example, this most likely won't work. - mplayer can play .cue files directly: mplayer your_cue_file.cue This works, even if the .cue file comes with encoded files that are not .bin . Note that if you play .bin files, mplayer will assume a specific raw audio format. If the format doesn't match, mplayer will play noise and destroy your speakers. Note that format mismatches are extremely common, because the endianness seems to be essentially random. (libcdio uses a clever algorithm to detect the endian, and doesn't have this problem.)
* AF: remove af_gate and af_compwm42012-08-021-2/+0
| | | | | | | To quote the manpage: "This filter is untested, maybe even unusable." And it seems they were never touched again after it was added many years ago (except for cosmetic changes). Just get rid of them.
* manpage: merge new manpagewm42012-08-021-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | About a year ago, ubitux converted most of the old manpage from the hard to maintain nroff format to reStructuredText. This was not merged back into the master repository immediately. The argument was that the new manpage still required work to be done. However, progress was very slow. Even worse: the old manpage wasn't updated, because it was scheduled for deletion, and updating it would have meant useless work. Now the situation is that the new manpage still isn't finished, and the old manpage is grossly out of sync with the player. This is not helpful for users. Additionally, keeping the new manpage in a separate branch, while the normal development repository for code had the old manpage, was very inconvenient, because you couldn't just update the documentation in the same commit as the code. Even though the new manpage isn't finished yet, merging it now seems to be the best course of action. Squash-merge the manpage development branch [1], revision e89f5dd3f2, which branches from the mplayer2 master branch after revision 159102e0cb. Committers: * Clément Bœsch <ubitux@gmail.com> (Initial conversion to RST.) * Uoti Urpala <uau@mplayer2.org> (Many updates.) * Myself (Minor edits.) Most text of the manpage has been directly taken from the old manpage, because this is a conversion, not a complete rewrite. [1] http://git.mplayer2.org/uau/mplayer2.git/log/?h=man
* Makefile: move commands from distclean to clean and add missing fileswm42012-08-011-3/+8
| | | | | | | | | | | There is no reason why generated source files shouldn't be part of the clean target, as opposed to distclean. On the contrary, having them in distclean only looks dangerous when trying to deal with broken dependency rules. Move them to clean, except config.h (which would require configure to be run again). Also, some recently added generated files were missing from the clean targets.
* build: remove references to cpuinfowm42012-08-011-1/+0
| | | | | | | This was a horrible little tool to detect the host CPU at build time. Forgotten in commit 74df1d8e05aa226c7e8. Also remove forgotten codec-cfg entry in .gitignore .
* input: replace internal key binds with included etc/input.confwm42012-08-011-0/+4
| | | | | | | | | | | The internal array of default key bindings is removed. Include the file etc/input.conf at compile time (using the file2header tool), and parse the default binds from etc/input.conf at startup time. This lowers maintainance overhead, and makes sure the default bindings and etc/input.conf don't deviate. Commit f30bf73bf22ed0542 already made sure etc/input.conf matches the default bindings, so this commit shouldn't change anything user-visible.
* stream: remove native RTSP/RTP/PNM supportwm42012-08-011-20/+0
| | | | | | There are still various other RTSP implementations available, such as libnemesi, live555, and libav. The mplayer native version was a huge chunk of old unmaintained code.
* Remove dead codewm42012-08-011-3/+0
| | | | | | | | | | | | | This was done with the help of callcatcher [1]. Only functions which are statically known to be unused are removed. Some unused functions are not removed yet, because they might be needed in the near future (such as open_output_stream for the encode branch). There is one user visible change: the --subcc option did nothing, and is removed with this commit. [1] http://www.skynet.ie/~caolan/Packages/callcatcher.html
* mplayer: turn playtree into a list, and change per-file option handlingwm42012-07-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - There is no playtree anymore. It's reduced to a simple list. - Options are now always global. You can still have per-file options, but these are optional and require special syntax. - The slave command pt_step has been removed, and playlist_next and playlist_prev added. (See etc/input.conf changes.) This is a user visible incompatible change, and will break slave-mode applications. - The pt_clear slave command is renamed to playlist_clear. - Playtree entries could have multiple files. This is not the case anymore, and playlist entries have always exactly one entry. Whenever something adds more than one file (like ASX playlists or dvd:// or dvdnav:// on the command line), all files are added as separate playlist entries. Note that some of the changes are quite deep and violent. Expect regressions. The playlist parsing code in particular is of low quality. I didn't try to improve it, and merely spent to least effort necessary to keep it somehow working. (Especially ASX playlist handling.) The playtree code was complicated and bloated. It was also barely used. Most users don't even know that mplayer manages the playlist as tree, or how to use it. The most obscure features was probably specifying a tree on command line (with '{' and '}' to create/close tree nodes). It filled the player code with complexity and confused users with weird slave commands like pt_up. Replace the playtree with a simple flat playlist. Playlist parsers that actually return trees are changed to append all files to the playlist pre-order. It used to be the responsibility of the playtree code to change per-file config options. Now this is done by the player core, and the playlist code is free of such details. Options are not per-file by default anymore. This was a very obscure and complicated feature that confused even experienced users. Consider the following command line: mplayer file1.mkv file2.mkv --no-audio file3.mkv This will disable the audio for file2.mkv only, because options are per-file by default. To make the option affect all files, you're supposed to put it before the first file. This is bad, because normally you don't need per-file options. They are very rarely needed, and the only reasonable use cases I can imagine are use of the encode backend (mplayer encode branch), or for debugging. The normal use case is made harder, and the feature is perceived as bug. Even worse, correct usage is hard to explain for users. Make all options global by default. The position of an option isn't significant anymore (except for options that compensate each other, consider --shuffle --no-shuffle). One other important change is that no options are reset anymore if a new file is started. If you change settings with slave mode commands, they will not be changed by playing a new file. (Exceptions include settings that are too file specific, like audio/subtitle stream selection.) There is still some need for per-file options. Debugging and encoding are use cases that profit from per-file options. Per-file profiles (as well as per-protocol and per-VO/AO options) need the implementation related mechanisms to backup and restore options when the playback file changes. Simplify the save-slot stuff, which is possible because there is no hierarchical play tree anymore. Now there's a simple backup field. Add a way to specify per-file options on command line. Example: mplayer f1.mkv -o0 --{ -o1 f2.mkv -o2 f3.mkv --} f4.mkv -o3 will have the following options per file set: f1.mkv, f4.mkv: -o0 -o3 f2.mkv, f3.mkv: -o0 -o3 -o1 -o2 The options --{ and --} start and end per-file options. All files inside the { } will be affected by the options equally (similar to how global options and multiple files are handled). When playback of a file starts, the per-file options are set according to the command line. When playback ends, the per-file options are restored to the values when playback started.
* Remove some demuxers and decoderswm42012-07-301-30/+0
| | | | | | | | | | | | | | | | | | Most of these demuxers and decoders are provided in better form by libav, while the mplayer builtin ones are essentially unmaintained. The only legimitate use case for not using the libav ones was working around libav bugs or bugs related to the way mplayer uses libav. Instead of trying to keep dead code alive, development effort should go into improving libav or the mplayer libav glue code. Note that the libav demuxer have been preferred over the mplayer builtin ones for a while in mplayer2. There were some exceptions: playing DVDs with dvdnav or playing network sources. (That's because some stream modules and network.c requested explicit file formats, such as DEMUXER_TYPE_MPEG_PS, which mapped to builtin demuxers.) With this commit, they are switched to use libav. One caveat is that the requested format is not passed to libavformat, instead we rely on the auto probing to select the correct libav demuxer (see code in demux_open_stream()).
* Remove XMMS plugin supportwm42012-07-301-1/+0
| | | | XMMS has been dead since 2007.
* sub: remove unrar_execwm42012-07-301-1/+0
| | | | | This removes the ability to open compressed bitmap subtitles from rar files. The code makes me afraid, and I never needed this feature.
* libvo: remove custom assembler memcpy implementations (aka fastmemcpy)wm42012-07-301-1/+0
| | | | | | | | | | | | | | aclib[_template].c contained inline assembler versions of memcpy using MMX/SSE/3dnow etc. instructions. It's possible that this gave quite a speed a decade ago, but it's unlikely to have any use on modern systems. Also, libc implementations already have their own optimizations for the native memcpy function. I did not verify my assumptions eith benchmarks, so I could be wrong. Also note that some platforms have extremely crappy libc implementations, and it's well possible that these might suffer from a major performance loss (hello Windows). Unfortunately, I do not care.
* osd: osd_font.h -> osd_font.pfb<