summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* options, codecs.conf, img_format: unify imgfmt name handlingwm42012-08-295-196/+41
| | | | | | | | | | | | | Remove the duplication of image format name lists from codec-cfg.c and img_format.c. Remove the list of "long" image format names from img_format.c. One user visible change is that now mplayer won't print "long" format names anymore: e.g. instead of "Planar 420P 10-bit little-endian", the name "420p10le" is used. This is consistent with the names used by the option parser, and also less noisy. Partially based on mplayer2 commit f98e47574de15, with some differences.
* cleanup: remove XvMC remains, reformat img_format.cUoti Urpala2012-08-285-46/+33
| | | | | Remove remaining references to XvMC. It was already not supported; remove references to the imgfmt too. Reformat img_format.c.
* cocoa_common: improve conditional dock hiding from 3259e4a7aStefano Pigozzi2012-08-281-2/+3
| | | | | | Make the conditional hiding logic introduced in commit 3259e4a7a2a938 ("cocoa_common: make fullscreen menubar/dock hiding conditional") work when mplayer is started with the `fs` and `xineramascreen` options.
* OSD/commands: use osdlevel=3 for osd_show_progression commandUoti Urpala2012-08-281-14/+25
| | | | | | | | | | | | | | The osd_show_progression command ('P' key) created text similar to what --osdlevel=3 shows, and set that as an OSD message. This message was static and wasn't updated while visible, even if video position changed (very noticeable during fast forward, when real OSD position changes rapidly). Instead of setting a static message, create a new message type that makes the OSD update code behave as if osd level was set to 3 for the duration of the message. The OSD progress bar isn't updated while the message is active. Based on mplayer2 commit 458001463b2252fc by uau.
* af_scaletempo: fix crash on channel reconfigurationwm42012-08-261-0/+6
| | | | | | | | | | | | | | | | | | This crash happened when audio channels were reconfigured from 6 channels to 2, and playback speed was set to 2. The crash is caused by passing a negative size to memcpy. It appears reinitialization doesn't clear the buffer. As the result, the buffer can be larger as the maximum buffer size, i.e. the invariant bytes_queued <= bytes_queue is violated. Fix this by resetting the buffer length on reconfiguring (set the bytes_queued vairable to 0). Also reset some other state for clarity and robustness, although these changes aren't strictly needed for avoiding the actual crash. This may also get rid of some noise played right after reinitialization, as the re-used buffer was in the wrong audio format.
* DOCS: add big picture overview over the codewm42012-08-261-0/+206
| | | | | Apparently this was useful for some. Isn't as detailed as general.txt and others, but broader and less outdated.
* DOCS: remove outdated/useless fileswm42012-08-252-34/+0
|
* Merge remote-tracking branch 'cantabile/manpage_fixes'wm42012-08-255-121/+68
|\
| * manpage: update default jpeg quality for vo_imagecantabile2012-08-241-1/+1
| |
| * manpage: update default value of --softvol-maxcantabile2012-08-241-1/+1
| |
| * manpage: --screenshot-template: update %n, add %{prop}cantabile2012-08-241-6/+14
| | | | | | | | | | | | Explanation of %{prop} taken from the commit message of commit 12c44610ad6963bb58c01cc4415cc7befef386e1 (screenshot: make screenshot filenames configurable).
| * manpage: update the list of available screenshot formatscantabile2012-08-241-3/+7
| | | | | | | | Also update the default value of --screenshot-jpeg-quality
| * manpage: update example of the status linecantabile2012-08-241-3/+3
| |
| * manpage: fix ambiguous statement about --(no-)keepaspectcantabile2012-08-241-1/+1
| |
| * manpage: mention that videos' colormatrix and color range flags are honoredcantabile2012-08-241-2/+4
| |
| * manpage: don't mention nonexistent VOs, command line switches, etc.cantabile2012-08-243-84/+17
| | | | | | | | Very likely doesn't remove all outdated things.
| * manpage: fix various typoscantabile2012-08-245-20/+20
| |
* | configure: disable optimization if --enable-debug is usedwm42012-08-251-4/+8
| | | | | | | | | | | | | | Enabling optimization _still_ causes annoyances when using a debugger, and it increaes compilation times too. Now --enable-debug basically replaces the -O2 flag with -g.
* | configure: minor improvement to summary outputwm42012-08-251-6/+2
| | | | | | | | | | | | | | Remove printing VO modules that were removed earlier, but were enabled by configure tests that are still needed. Print "libavcodecs" with the "Codecs: " output.
* | configure: restore DVB supportwm42012-08-251-0/+2
| | | | | | | | The code defining CONFIG_DVB[IN] was accidentally removed some time ago.
* | input: add ability to disable all default bindings for an input sectionwm42012-08-243-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a flags parameter to mp_input_set_section(). Add a flag that defines whether bindings in the default section are used or not. This is useful for special functionality, where the normal key bindings may have unwanted effects. For example, it shouldn't be possible to seek during encoding. However, you want to be able to cancel the encoding process gracefully. For that purpose, the "encode" section of input.conf could be made exclusive: mp_input_set_section(mpctx->input, "encode", MP_INPUT_NO_DEFAULT_SECTION); And input.conf could contain this definition: RIGHT seek 10 q {encode} quit Then only the key "q" would be bound during encoding.
* | vf_dlopen: add a generic filter to load external filtersRudolf Polzer2012-08-2311-0/+1014
| | | | | | | | | | | | Usage: -vf dlopen=filename.so:args... Examples of such filters are provided in TOOLS/vf_dlopen/
* | img_format, m_option: make image format name list globally availablewm42012-08-233-81/+111
|/ | | | And add functions for converting them from/to the name string.
* osd_libass: fix displaying empty text, fix API usagewm42012-08-211-11/+6
| | | | | | | | | | | | | | If empty text is rendered, the bounding box is empty. Instead of continuing with a bogus bounding box that would result in garbage being rendered on screen, make the OSD image invisible. This happened when playing demuxer SRT subtitles (e.g. SRT embedded in MKV) with -no-ass at the moment a subtitle line disappeared. Unrelated to this issue, fix libass API usage. Delete the event with libass_flush_events(), instead of trying to reuse the previous event. Based on a patch by uau.
* Adjust ffmpeg/libav #includes to work with recent upstream changesUoti Urpala2012-08-2113-17/+27
| | | | | | | | The <libavutil/avutil.h> stopped including <libavutil/common.h> recursively in recent ffmpeg/libav git revisions. As a result, some files no longer got needed definitions, causing a build failure. Modify #include lines in various files to fix build with the latest versions of ffmpeg/libav headers.
* video: honor the video's colormatrix and color range flagscantabile2012-08-215-0/+49
| | | | | | If either of them is not defined, the old behavior is used: - the colormatrix is guessed based on resolution. - the color range is assumed to be tv aka limited range.
* manpage: correct the definition of full range videocantabile2012-08-211-1/+1
|
* manpage: document -use-filename-title removal/replacementwm42012-08-201-0/+1
|
* parser-cfg: specify which config file contains the unknown optioncantabile2012-08-201-2/+2
| | | | Also add some punctuation to the warning message.
* mplayer: enable talloc leak report if special environment is variable setwm42012-08-201-4/+7
| | | | | | | | | | | | | | | | | The functionality enabled with the --leak-report option is very useful for debugging. Introduce a check for the MPLAYER_LEAK_REPORT environment variable, and enable talloc leak report if it's set to "1". The environment variable encourages enabling leak report permanently during development. It's also a bit harder to get wrong: if the --leak-report option is not the first option, it's silently ignored. You can't put this option into a config file either. Enabling this with --enable-debug in configure is not an option, because the leak report code doesn't seem to be thread-safe, and thus is a bit dangerous. Also, move the code to the very beginning to make sure leak report is enabled before any other talloc function is used. Otherwise, these allocations could be missed.
* mplayer: fix command line arguments log outputwm42012-08-201-1/+1
| | | | | | | In commit 94782e464d985b6e65, code was added to remove the first command line argument. (Because that is essentially useless.) The code for printing with command line on -v still assumed the first argument should be skipped.
* osd: get rid of useless initialization functionwm42012-08-203-29/+1
| | | | | The function merely printed redundant messages that were not visible by default.
* sub: remove unused definitionswm42012-08-201-12/+0
|
* demux_gif: change format of packets to make it work againwm42012-08-201-9/+23
| | | | | | | | | | | | | | The only decoder which could handle demux_gif's output was vd_raw, which has been removed recently. Instead of re-adding vd_raw, make it work with vd_ffmpeg. By coincidence, the FourCC "raw " fits our needs and it understood by the ffmpeg raw decoder (apparently used in mov files going by libavcodec/rawdec.c). Since there doesn't seem to be any good way to transport the palette in mplayer dmuxer packets, create an AVPacket for this purpose. (struct sh_video provides a "global" palette. Rather than hacking vd_ffmpeg to use it, it seems cleaner to make demux_gif use AVPacket, which supports a per-frame palette.)
* vd_ffmpeg, demux_mng: allow general raw formats, fix MNG demuxerwm42012-08-202-9/+20
| | | | | | | | | | | | | | | Change vd_ffmpeg such that if sh_video->format is a mplayer pixel format, and there's no other codec information, try to play it as raw video. (The case of no codec information happens if the "generic" ffmpeg decoder is instantiated, which is tried last. This means clashes with actual existing formats are less likely.) demux_mng did not initialize all fields of the bih, which made vd_ffmpeg do invalid memory accesses when trying to copy the extradata. Also, use IMGFMT_RGB32 instead of creating the FourCC directly. (They should be the same, but what if mplayer changes the IMGFMT_* values.) This also fixes demux_rawvideo.
* libmpcodecs: remove redundant audio and video decoderswm42012-08-2027-7822/+1
| | | | | | | | 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-2011-593/+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-208-632/+0
| | | | | Removed due to being a maintainance burden. Support for FFmpeg is available.
* Remove support for LIVE555 RTSP streamingwm42012-08-2014-1476/+2
| | | | | | | | | | | | 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-2015-4275/+58
| | | | | | 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-202-28/+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.
* cocoa_common: add HiDPI/retina supportStefano Pigozzi2012-08-163-17/+63
| | | | | | | | | | | | | | | | | | | | With a HiDPI screen, for performance and backwards compatibility reasons, AppKit requests an OpenGL surface with a pixel number that equals the user points number. After the image is rendered to this smaller surface, it is upscaled so that its dimensions are comparable across screens of different DPIs. The applied scaling is not that good and makes the video/subtitles blurry; this is not acceptable for a video player. Request AppKit to use a high resolution OpenGL surface to back the mplayer2 OpenGL view. Also set the window pixel size information correctly in the VO object by converting user points to actual pixels. All the system version checks are done at runtime so that the feature is available on OSX 10.7 even with a binary compiled with older SDKs. Also replace is_lion_or_better() with is_osx_version_at_least(10, 7, 0) which is defined in osx_common.
* macosx_finder_args: fix file open orderStefano Pigozzi2012-08-161-1/+3
| | | | | | | When files are double clicked or drag and dropped to the mplayer2 icon they can be in random order. This commit forces alphabetical order. Opening them with command + down arrow already worked correctly.
* macosx_finder_args: make work with recent changesStefano Pigozzi2012-08-162-4/+4
|
* cocoa_common.m: add missing config.h includeStefano Pigozzi2012-08-161-0/+2
| | | | This is needed for the check on CONFIG_SDL in this file.
* cleanup: osx_common: remove unused functionsStefano Pigozzi2012-08-162-53/+0
| | | | | | | | | Remove functions that aren't called anymore: * `osx_foreground_hack` was replaced by the NSApplication's activateIgnoringOtherApps: in cocoa_common. * Aspect ratio functions were not called by the "new" cocoa backend, since the corresponding menu item was deleted.
* cocoa_common: refactor menu generationStefano Pigozzi2012-08-161-16/+41
| | | | | This commit is supposed to make the menu generation a little more readable. It also fixes menu generation for the `cmd+q` entry.
* gl_common: fix compilation on OS X 10.8Stefano Pigozzi2012-08-161-0/+6
| | | | | | | | | As of OS X 10.8 Apple completely removed X11 from the system. gl_common.h was including gl.h using the path <GL/gl.h>. This path comes from the X11 headers, which are missing in 10.8. Change gl_common.h to include gl.h from Apple's OpenGL implementation as <OpenGL/gl.h> if X11/XQuartz is not detected.
* VO: remove vo_directfb2 and vo_directxwm42012-08-167-2785/+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-1617-1704/+15
| | | | | | | | | | | | | | | | 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-16114-44013/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* demux_lavf: assume audio codec_tag 0 means unsetUoti Urpala2012-08-161-0/+2
| | | | | | | | | | | Libavformat does not distinguish between "no codec_tag given" and "codec_tag given, value is 0". 0 can be a valid value. Change demux_lavf to assume that 0 always means unset for audio. This prevents incorrect selection of the PCM decoder, which includes "format 0x0" in its codecs.conf entry. The video case accepts 0 iff codec_id is RAWVIDEO, but there's no obvious similar check possible for audio. Thus this could possibly cause issues if a file really uses 0 to mean uncompressed audio.
* ad_ffmpeg: add sanity check against decoder overreadsUoti Urpala2012-08-161-2/+4
| | | | | | | The libavcodec Musepack SV8 decoder returned 2 bytes consumed for 1 byte input, which triggered a crash due to negative input packet size later. Add a sanity check to prevent crashes with this type of minor decoder overreads. Also add a check to parser consumed data.
* stream_file: print strerror() when failing to open a fileUoti Urpala2012-08-161-1/+3
| | | | | | | | | | stream_file always printed "File not found" if it could not open a file, even though this could be due to other reasons such as permission problems. Print strerror() information instead. This changes the output for "mplayer /etc/shadow" from File not found: '/etc/shadow' to Cannot open file '/etc/shadow': Permission denied
* command: expand properties for "run" commandmplayer-svn2012-08-161-1/+5
| | | | | | | | | | Change "run" command to expand properties. Patch by Jan Christoph Uhde [Jan UhdeJc com], documentation part changed by me. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35081 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: reimar
* vo_vdpau: fix crash when vo_vdpau initialization failswm42012-08-161-1/+1
| | | | | | | | This happened on system without a vdpau driver installed. It's especially bad because vdpau is the default VO. I'm not sure when this bug was introduced, and it seems to exist in upstream mplayer2 too.
* video_out: fix crash when VO autoselection failswm42012-08-161-2/+3
| | | | | | | | init_best_video_out() did not manage the memory for vo->window_title correctly, and free'd it twice when initialization failed (that's due to talloc_free_children() being called). When the next VO was tried, it reused the dangling pointer. Initialize this member somewhere else lazily instead.
* configure: check for python3 existenceRudolf Polzer2012-08-161-0/+13
|
* mplayer: cosmetic changes to status line outputwm42012-08-161-9/+9
| | | | | | | | | | | | | | The terminal status line (showing playback status etc.) was too long for the standard 80 column width in some cases. Shorten the output by abbreviating some fields with single letters. Change "(PAUSED!)" to "(Paused)". This looks nicer. Move the speed field forward and omit the explicit "header". It's probably intuitively clear that "x2.00" means double speed. The field showing the playback time in seconds was padded with spaces. This just