summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* options: respect --no-msgcolor during early program startwm42012-11-161-1/+1
| | | | | | | Using --no-msgcolor, error messages that happened before "really" parsing the command line were still printed in color. Add the CONF_PRE_PARSE flag to make this option take effect as early as possible.
* options: remove --displaywm42012-11-164-24/+1
| | | | | Was used to set the X11 display. XDisplayName(NULL) does the same, using the DISPLAY environment variable instead.
* options: rename --xineramascreen to --screen, remove magic valueswm42012-11-164-9/+10
| | | | | --xineramascreen=-2 becomes --screen=all --xineramascreen=-1 becomes --screen=current
* options: remove --osdlevel in favor of --osd-levelwm42012-11-161-1/+0
| | | | | --osdlevel has been documented as renamed/removed. Not actually removing it was probably an oversight.
* video/filter: rename vf_eq2 to vf_eqwm42012-11-165-8/+8
| | | | | vf_eq was deleted earlier, which makes the name vf_eq2 even more awkward.
* vo_opengl: remove osdcolor suboptionwm42012-11-162-22/+0
| | | | | | This wasn't actually used since the old gray-alpha OSD rendering has been removed. Removing the documentation for the vo_opengl_old osdcolor suboption was forgotten as well.
* options, vo_x11: remove -zoom option, make it defaultwm42012-11-1616-56/+13
| | | | | | | | | | | | | | The -zoom option enabled scaling with vo_x11. Remove the -zoom option, and make its behavior default. Since vo_x11 has to use libswscale for colorspace conversion anyway, which doesn't do actual extra scaling when vo_x11 is run in windowed mode, there should be no speed difference with this change. The code removed from vf_scale attempted to scale the video to d_width/ d_height, which matters for anamorphic video and the --xy option only. vo_x11 can handle these natively. The only case for which the removed vf_scale code could matter is encoding with vo_lavc, but since that didn't set VOFLAG_SWSCALE, nothing actually changes.
* configure: remove --enable-profilewm42012-11-161-11/+4
| | | | | | | | | | The --enable-profile switch simply adds -p to the CFLAGS, which enables gcc's extremely worthless "prof" profiling support. This kind of profiling is broken on the conceptual level and thus harmful, and even if you want it, you can enable it manually with --extra-cflags. Also remove $_march $_mcpu from the CFLAGS code. These variables were always unset, as the code setting them has been removed earlier.
* manpage: various fixeswm42012-11-167-81/+41
|
* input: silence warning if input.conf is missingwm42012-11-161-0/+4
| | | | | | | | | It's silly to print a warning if an optional config file is missing. Don't print anything at the default message level if an input config is not found. Unfortunately, the behavior is the same for explicitly passed input config files (with --input=conf=file.conf).
* encoding examples: change global_quality use to qscaleRudolf Polzer2012-11-151-4/+4
| | | | global_quality would need an extra multiplication by QP2LAMBDA otherwise
* mplayer: do not freeze when trying to loop an unseekable filewm42012-11-141-1/+13
| | | | | | | | | | | | | | Using --loop=inf on an unseekable file would put mpv (and all other mplayers as well) into an endless loop, trying to seek to the start of the file on each playback loop iteration. When the seek fails, playback simply remains in the at-end-of-file state, and tries to issue a new seek command for looping. Fix by checking if the seek command fails, and abort looping in this case. For that, queue_seek() is replaced with seek(). Due to the circumstances, these two calls happen to be equal in this case: the seek is absolute (i.e. no seek coalescing done), and the execution of queued seeks is right after the loop code anyway.
* options: make --loop always per-filewm42012-11-141-1/+1
| | | | | | | In this example, only f1.mkv was looped: mpv f1.mkv f2.mkv --loop=2 This is because the playloop actually changes the global option value, assuming it would be reset when going to the next file. When mpv was changed to not reset options between files, this assumption was broken.
* Makefile: don't strip by default, add install-strip targetswm42012-11-142-13/+13
| | | | | | | | Now "make install" will never strip the binary. "make install-strip" always will. The behavior of --enable-debug is unchanged, other than having no influence anymore on the install targets.
* video: add IMGFMT_Y16/PIX_FMT_GRAY16wm42012-11-145-5/+26
| | | | | | | | | This pixel format is sometimes used with yuv4mpeg. vo_direct3d used its own IMGFMT_Y16 internally for some reason. vo_opengl, vo_opengl_old, and vo_direct3d should be able to display this pixel format natively.
* Makefile: do not create config directory with install targetwm42012-11-141-1/+0
| | | | | | | The config directory, controlled by --confdir and which is set to PREFIX/etc/mpv by default, should not be created by default, as "make install" doesn't copy any files there. The user can still create a config file manually if system-wide configuration is desired.
* example.conf: all options should be commentedwm42012-11-141-1/+1
| | | | | The file is written with the assumption that it doesn't change any settings by default. Add a forgotten comment to fix this.
* cfg-mplayer: do not include encode options when encoding disabledwm42012-11-141-0/+2
| | | | | | | | | Normally, we always want to enable encoding, as it uses stock ffmpeg APIs and has no other dependencies or disadvantages. However, supporting older releases of ffmpeg and Libav (which equal to outdated git snapshots fix security and crash fixes applied) force us to disable some advanced ffmpeg API usage, which includes encoding.
* Improve compatibility with Libav 0.8.4 and ffmpeg 0.11.2wm42012-11-144-2/+17
| | | | | | | | | | | Libav 0.8.4 is ridiculously old (in relative terms), so I don't know how many things are broken silently. Encoding is disabled, because the required API hasn't been added yet. (On the other hand, the old API can't be used in newer versions.) This should improve compatibility with ffmpeg 0.11.2 as well, which didn't define AV_CODEC_ID_SUBRIP yet.
* build: build manpage by default if rst2man is detectedwm42012-11-142-9/+24
| | | | | | | | | | | | | | | | Add building the manpage to the all target (which is also the default target). This fixes the behavior that "make install" tried to build the manpage if it wasn't built yet. Add rst2man detection to configure, and disable rst2man usage in the all and install targets if it hasn't been found. You can still build or install the man page manually (by using the install-mpv-man target), but the all and install targets won't attempt to use rst2man. Additionally, building/installing the manpage by default can be explicitly inhibited using the --disable-manpage configure option. It's possible to avoid rst2man by using "make mpv install-no-man" as well.
* Makefile: add mpv.rst dependencieswm42012-11-141-0/+9
| | | | Using a really dumb rule declaration.
* TOOLS: remove checktree.shwm42012-11-142-354/+1
| | | | | | Nice idea, but essentially useless. Unmaintained even in mplayer-svn. Remove broken remains of the checkheaders target too.
* build: remove doc/locale language auto-detection, simplifywm42012-11-144-167/+22
| | | | | | | | | | | | | | | | | | | This removes the rather complicated configure and Makefile parts related to auto-detecting available languages for manpages and locales. We don't have non-English manpages or any locales, so this is pointless. It didn't even work: configure --language=all created an invalid config.mak that would cause "make install" to fail. Remove installation of locales. There are no translations at all which could be installed. Should there ever be someone who is interested in adding translations, this can be added back in a simpler way. Rename the --enable-translation configure option to --enable-gettext. This is what this option really does: enable gettext() use. This may be interesting for people who want to experiment with localizing mpv, but is entirely useless for normal use. Remove detection of the binary codecs directory in configure.
* network: fix crash with -playlist http://...wm42012-11-141-0/+2
| | | | | | | | | | | | The function fixup_network_stream_cache() accesses stream->opts, which is NULL in some cases when loading playlists. stream->opts is a pointer to the global MPOpts struct. For simplicity, this parameter is left NULL in some cases. Usually, this doesn't matter, because barely anything in stream/ uses MPOpts anyway. Hack-fix this for now by not accessing MPOpts and disabling the stream cache in this case. Calling open_stream() with options==NULL now basically means: do not use cache settings.
* mixer: fix lowering hw volume while mutedUoti Urpala2012-11-141-1/+1
| | | | | | | Lowering volume while muted did not work correctly with audio outputs that support native mute setting separate from volume (ao_alsa and ao_pulse), because the AO-level volume was not set while muted but was still being read back. Fix by setting the AO volume in this case.
* ao_coreaudio: fix deprecation warningsStefano Pigozzi2012-11-131-6/+6
|
* clang: fix all warnings except deprecationsStefano Pigozzi2012-11-138-7/+17
|
* vf_dlopen: fix a typo in zeroing memory (thanks, pigoz)Rudolf Polzer2012-11-131-1/+1
| | | | Accidentally had put the & inside the sizeof call too. Typing too fast.
* Makefile: fix install targetsJohannes Nixdorf2012-11-131-2/+2
| | | | | INSTALL_TARGETS-yes is a leftover from INSTALL_TARGETS-$(MPLAYER), which was removed in 4873b32c5959c988af1769529ff72e3fd62fba82.
* win32: remove pointless get/release DC wrapperswm42012-11-123-32/+8
|
* Add MP_NORETURN and replace av_noreturn useswm42012-11-122-1/+4
| | | | | av_noreturn is a rather recent addition to libavutil, and defining it ourselves is trivial and makes playing compatibility games easier.
* mp_common.h: split parts into mp_talloc.h and compiler.hwm42012-11-124-50/+79
| | | | | | Put MP_EXPAND_ARGS() in compiler.h, even though it's not compiler dependent. Both mp_talloc.h and mp_common.h need it, while mp_common.h includes mp_talloc.h. This is the least annoying solution.
* libav.h: increase compatibility by not including libavutil/version.hwm42012-11-121-1/+0
| | | | | libavutil/version.h was only recently split off from libavutil/avutil.h, and that file includes version.h anyway.
* Add missing compat/libav.h includeswm42012-11-123-0/+5
| | | | For avcodec_free_frame().
* Rename directories, move files (step 2 of 2)wm42012-11-12250-1187/+1171
| | | | | | | | | | | | Finish renaming directories and moving files. Adjust all include statements to make the previous commit compile. The two commits are separate, because git is bad at tracking renames and content changes at the same time. Also take this as an opportunity to remove the separation between "common" and "mplayer" sources in the Makefile. ("common" used to be shared between mplayer and mencoder.)
* Rename directories, move files (step 1 of 2) (does not compile)wm42012-11-12278-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tis drops the silly lib prefixes, and attempts to organize the tree in a more logical way. Make the top-level directory less cluttered as well. Renames the following directories: libaf -> audio/filter libao2 -> audio/out libvo -> video/out libmpdemux -> demux Split libmpcodecs: vf* -> video/filter vd*, dec_video.* -> video/decode mp_image*, img_format*, ... -> video/ ad*, dec_audio.* -> audio/decode libaf/format.* is moved to audio/ - this is similar to how mp_image.* is located in video/. Move most top-level .c/.h files to core. (talloc.c/.h is left on top- level, because it's external.) Park some of the more annoying files in compat/. Some of these are relicts from the time mplayer used ffmpeg internals. sub/ is not split, because it's too much of a mess (subtitle code is mixed with OSD display and rendering). Maybe the organization of core is not ideal: it mixes playback core (like mplayer.c) and utility helpers (like bstr.c/h). Should the need arise, the playback core will be moved somewhere else, while core contains all helper and common code.
* mpv_identify: stop using \n; fix property name handlingRudolf Polzer2012-11-121-2/+5
| | | | | Dashes are not valid in shell variable names. This changes them to underscores.
* vo_opengl: fix compatibility with OpenGL 2.1wm42012-11-122-0/+11
| | | | | | | | | | | | | | | | | The srgb_compand() function passes bvec to mix(), which is apparently not available on GL 2.1 / GLSL 1.20: 0:0(0): error: no matching function for call to `mix(vec3, vec3, bvec3)' 0:0(0): error: candidates are: float mix(float, float, float) 0:0(0): error: vec2 mix(vec2, vec2, vec2) 0:0(0): error: vec3 mix(vec3, vec3, vec3) 0:0(0): error: vec4 mix(vec4, vec4, vec4) 0:0(0): error: vec2 mix(vec2, vec2, float) 0:0(0): error: vec3 mix(vec3, vec3, float) 0:0(0): error: vec4 mix(vec4, vec4, float) Also add back disabling color management on older GL, as the srgb_compand() function is needed for that.
* vo_opengl: fix srgb for subtitlesnand2012-11-112-8/+21
| | | | | | | | | | | | | | Based on a patch by nand. This is needed, because sRGB mode changes the video over-all gamma. This has to be done for subtitles as well. The final srgb_compand() call in the OSD shader compensates for the fact that in ed8fad729d04 framebuffer use was replaced with doing sRGB conversion manually by srgb_compand(). This only affects subtitles rendered with libass. Nothing is changed for RGB subs. Also change the USE_ flags for OSD shaders to USE_OSD_ to make the difference between video and OSD rendering more apparent.
* vo_xv: don't call vo_xv_get_eq() on every framewm42012-11-111-7/+17
| | | | | | | This was done to query the colorspace for sub/OSD rendering. A single vo_xv_get_eq() call probably requires a dozens of round-trips (depending what xlib actually does). This likely wasn't a real problem, but it might be better to be paranoid about this.
* example.conf: remove some useless options, add some useful oneswm42012-11-111-45/+10
|
* vo_opengl: disable extended downscaling by defaultwm42012-11-112-2/+1
| | | | | | | | To simplify implementation, the same filter kernel was used for both directions, even when the scaling factors were different. It turns out that people actually did this, and that the resulting rendering errors were rather visible. Disable this feature by default, as fixing it would require structural changes, and it's a useless anyway.
* Replace fast_memcpy() useswm42012-11-1114-38/+27
| | | | | | | fast_memcpy, defined in fastmemcpy.h, used to be mplayer's "optimized" memcpy. It has been removed from this fork, and fast_memcpy has been reduced to an alias for memcpy. Replace all remaining uses of the fast_memcpy macro alias.
* manpage: vo_opengl: document that srgb subopt changes gammawm42012-11-111-1/+2
|
* vo_opengl: add manual sRGB companding to not artifact when ditheringnand2012-11-112-14/+11
| | | | | | Patch by nand. Modified not to use macros in the GLSL, and also remove the checks for framebuffer presence. (Disabling ICC if no sRGB framebuffer is available was probably a bug.)
* cocoa_common: honor the `--geometry` optionStefano Pigozzi2012-11-102-1/+11
|
* ao_coreaudio: signal per-application mixer supportStefano Pigozzi2012-11-081-0/+1
| | | | | | | | The CoreAudio AO's AOCONTROL_GET_VOLUME/AOCONTROL_SET_VOLUME operate on the AUHAL's volume, and every application has it's AUHAL with a separate volume. Additionally CoreAudios's mixer seems to be better. As much as I tried to, I couldn't get it to clip sounds.
* demux_mkv: TTA supportKovensky2012-11-082-1/+15
| | | | | | | | | | | | | | | | | Code from libavformat's demuxer. Merged by wm4. It looks like the byte stream writer API is private in newer ffmpeg, so use the macros from <libavutil/intreadwrite.h> instead. It's not really known how to correctly set the field that is used by the decoder to calculate the length of the last frame. The original patch used: put_le32(&b, (demuxer->movi_end - demuxer->movi_start) * sh_a->samplerate); This doesn't seem to be correct. Write 0 instead. This is also incorrect, but better than writing an essentially random value.
* demux_mkv: don't crash on tracks with unknown audio codecswm42012-11-083-5/+2
| | | | | Demuxers can't remove streams anymore after adding them, so the free_sh_audio() call caused a crash.
* Port several python scripts to PerlKovensky2012-11-0812-489/+1407
| | | | | | | | | | | | file2string.pl and vdpau_functions.pl are direct ports. matroska.py was reimplemented as the Parse::Matroska module in CPAN, and matroska.pl was made a client of Parse::Matroska. A copy of Parse::Matroska is included in TOOLS/lib, and matroska.pl looks there first when trying to load the module. osxbundle.py was not ported since I have no means to verify it. Python is always available on OSX though, so there is no harm in removing the check for it on configure.
* vd_ffmpeg: disable codec direct rendering and slices by defaultwm42012-11-074-2/+4
| | | | | | | | | | | | | | | This caused failures when doing single threaded decoding in some cases. It's unknown what exactly the reasons are for these failures, but direct rendering is probably worthless anyway. Disable slices by default as well, just to be sure not to invoke broken code paths. Multithreading disables these too. The old behavior can be restored by passing the -dr1 -slices command line options. (-dr1 is left undocumented intentionally.) Multithreaded decoding worked fine, because vd_ffmpeg.c automatically disables direct rendering in this case.
* osxbundle: run install_name_tool -id only on direct dependenciesStefano Pigozzi2012-11-061-15/+14
| | | | | | | It looks like that only `install_name_tool -change` must be applied recursively. This allows to bundle up all our stuff without thinkering with the Mach-O headerpad size (which could even be impossible for libraries we don't compile and link ourselves).
* cocoa_common: save vo struct earlier in the startup processStefano Pigozzi2012-11-051-1/+1
| | | | This prevents a crash with -fs option.
* libav_compat: fix mmx2 define, provide fallback for avcodec_free_frameStefano Pigozzi2012-11-036-6/+12
|
* libav_compat: add missing includesStefano Pigozzi2012-11-031-0/+3
|
* make compile with recent libavStefano Pigozzi2012-11-034-14/+46
|
* uncrustify af.hStefano Pigozzi2012-11-021-76/+77
| | | | used `uncrustify -l C -c TOOLS/uncrustify.cfg --no-backup --replace libaf/af.h`
* audio: untypedef af_streamStefano Pigozzi2012-11-024-31/+30
|
* audio: untypedef af_cfgStefano Pigozzi2012-11-025-8/+8
|
* audio: untypedef af_instanceStefano Pigozzi2012-11-0228-155/+154
|
* audio: untypedef af_infoStefano Pigozzi2012-11-0225-53/+52
|
* audio: untypedef af_data and rename it to mp_audioStefano Pigozzi2012-11-0228-192/+191
| | | | this is to have something specular to mp_image
* configure: detect rst2man binary nameStefano Pigozzi2012-11-022-2/+8
|
* encode: bail out on missing A or V streamRudolf Polzer2012-11-012-3/+18
| | | | | | | | | In mplayer2, it was valid to try to start encoding before all streams were initialized. mpv avoids this situation and thus allows us to properly bail out on some kinds of failures. Also, this commit fixes a missing check in ao uninit which could cause heap corruption when ao initialization did not complete.
* Merge branch 'osd_changes' into masterwm42012-11-0180-5084/+3339
|\ | | | | | | | | Conflicts: DOCS/man/en/options.rst
| * draw_bmp: remove swscale bug workaroundwm42012-11-011-3/+1
| | | | | | | | | | ffmpeg ticket #1852 is fixed with 425c30dda. This didn't actually happen in practice.
| * VO: remove code duplication for setting up mp_osd_reswm4