summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* player: load external subs for uncompressed rar archiveswm42013-12-063-3/+23
| | | | | | | | | | | | Uncompressed rar archives can be transparently opened, but the filename the player doesn't have the direct filename (but something starting with rar://... instead). This will lead to external subtitles not being loaded. This doesn't handle multi-volume rar files, but in that cases just use the --autosub-match=fuzzy option. Fixes #397 on github.
* build: fix regression in cross-compilation [2]Stefano Pigozzi2013-12-061-1/+1
| | | | Fixup commit for 5cb8439015f5. getattr only works on dot notation.
* build: fix linking to CoreFoundationagiz2013-12-061-1/+1
| | | | | | | | If only coreaudio was activativated and not cocoa, the build failed for missing CoreFoundation. Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com> Fixes #395
* build: link ARC to get subscripting implementationStefano Pigozzi2013-12-061-1/+2
| | | | | This is needed on OS X 10.7 to handle Objective-C subscripting correctly. It was present in the old configure, but I forgot it in the wscript.
* vf: declare config() as legacywm42013-12-051-5/+5
|
* video/filter: remove unneeded config callbackswm42013-12-055-45/+0
| | | | | | | | They didn't do anything. vf_screenshot.c actually did release the previous image, but that's not really required. At worst you could take a screenshot and get an old frame when there's no new frame yet.
* video: remove --flipwm42013-12-0510-28/+7
| | | | | | | | | | | | | | | | The --flip option flipped the image upside-down, by trying to use VO support, or if not available, by inserting a video filter. I'm not sure why it existed. Maybe it was important in ancient times when VfW based decoders output an image this way (but even then, flipping an image is a free operation by negating the stride). One nice thing about this is that it provided a possible path for implementing video orientation, which is a feature we should probably support eventually. The important part is that it would be for free for VOs that support it, and would work even with hardware decoding. But for now get rid of it. It's useless, trivial, stands in the way, and supporting video orientation would require solving other problems first.
* vf: move norm_qscale() to the only filter which uses itwm42013-12-052-15/+15
|
* vf_sub, vf_dlopen: default struct is not neededwm42013-12-052-7/+3
|
* vf: cleanup removed filter entrywm42013-12-051-1/+0
|
* video: allow hardware decoding only for certain codecswm42013-12-052-5/+13
| | | | | | | | | | In particular, this disables mpeg4. There are some files out there that use GMC, a usually rarely used and ineffective feature, which is not supported by most hardware decoders. In these cases the hw decoder outputs garbage, while software decoding works perfectly fine. We can't really fallback to software decoding in these cases, because we don't know that something is wrong in the first place. I can't see any advantages of hw decoding of mpeg4, so it's better to disable it.
* docs: edl: minor correctionswm42013-12-051-4/+5
|
* build: fix regression in cross-compilationStefano Pigozzi2013-12-051-1/+1
| | | | Regression was introduced in bf90317ad in an attempt to fix the Lua check.
* video/filter: fix some bogus free() callswm42013-12-054-8/+0
| | | | The generic filter code frees these; recent regression.
* audio: flush remaining data from the filter chain on EOFwm42013-12-052-3/+7
| | | | | | | | | | | | | | | | | This can be reproduced with: mpv short.wav -af 'lavfi="aecho=0.8:0.9:5000|6800:0.3|0.25"' An audio file that is just 1-2 seconds long should play for 8-9 seconds, which audible echo towards the end. The code assumes that when playing with AF_FILTER_FLAG_EOF, the filter will either produce output, or has all remaining data flushed. I'm not really sure whether this really works if there are multiple filters with EOF handling in the chain. To handle it correctly, af_lavfi should retry filtering if 1. EOF flag is set, 2. there were input samples, and 3. no output samples were produced. But currently it seems to work well enough anyway.
* audio/filter: change filter callback signaturewm42013-12-0528-152/+152
| | | | | | | | | The new signature is actually closer to how it actually works, and someone who is not familiar to the API and how it works might make fewer fatal mistakes with the new signature than the old one. Pretty weird. Do this to sneak in a flags parameter, which will later be used to flush remaining data of at least vf_lavfi.
* ad_lavc: handle decoder EAGAIN only if there was an input packetwm42013-12-041-3/+3
| | | | | Otherwise, it'd probably get stuck if the decoder still returns EAGAIN at EOF on e.g. a shortened data stream.
* options: remove legacy hacks for sub-option handlingwm42013-12-045-93/+21
|
* af: remove af->setup fieldwm42013-12-043-9/+7
| | | | Used to be used by filters that didn't use the option parser.
* af: remove legacy option parsing hackswm42013-12-042-10/+2
|
* af_pan: change options, use option parserwm42013-12-042-51/+51
| | | | Similar to af_channels etc...
* af_ladspa: change options, use option parserwm42013-12-042-162/+116
|
* af_delay: change option parsing, fix bugs, use option parserwm42013-12-042-30/+39
| | | | Similar situation to af_channels.
* af_channels: use "unknown" channel layoutswm42013-12-041-2/+4
| | | | | | | | | This will make af_channels output a channel layout that is compatible with any destination layout. Not sure if that's a good idea though, since the way the AO choses a layout is perhaps less predictable. On the other hand, using the old MPlayer standard layouts doesn't make much sense either. We'll see whether this improves or breaks someone's use case.
* af_channels: change options, fix bugs, use option parserwm42013-12-042-73/+60
| | | | | | | Apparently this stopped working after some planar changes (broken format negotiation). Radically change option parsing in an incompatible way. Suggest alternatives to this filter, since it barely has any importance anymore.
* af_sweep: use option parserwm42013-12-041-16/+7
|
* af_surround: use option parserwm42013-12-041-24/+8
|
* af_sub: use option parserwm42013-12-041-36/+9
|
* af_sinesuppress: use option parserwm42013-12-041-24/+8
|
* af_hrtf: use option parserwm42013-12-041-34/+23
|
* af_extrastereo: use option parserwm42013-12-041-22/+8
|
* af_export: use option parserwm42013-12-041-48/+16
| | | | Probably requires the user to quote the shared buffer filename.
* af_equalizer: use option parserwm42013-12-041-26/+17
|
* af_drc: use option parserwm42013-12-041-35/+18
|
* af_center: use option parserwm42013-12-041-27/+8
|
* af: returning NULL on filtering means errorwm42013-12-041-2/+4
| | | | | | This code used to be ok, until the assert() was added. Simplify the loop statement, since the other NULL check for data doesn't make sense anymore.
* ad_lavc: expose an option to enable threadingwm42013-12-044-0/+11
|
* vd_lavc: factor out libavcodec thread setupwm42013-12-043-15/+21
|
* vd_lavc: don't check required hwdec fieldswm42013-12-041-4/+3
|
* ad_lavc: deal with arbitrary decoder delaywm42013-12-041-16/+24
| | | | | | | | | | | | | | | | | | | | Normally, audio decoder don't have a decoder delay, so the code was fine. But FFmpeg supports multithreaded decoding for some audio codecs, which introduces such a delay. The delay means that we won't get decoded audio for the first few packets, and that we need to do something to get the trailing audio still buffered in the decoder when reaching EOF. Two changes are needed to deal with the delay: - If EOF is reached, pass a "flush" packet to the decoder to return the buffered audio. Such a flush packet is automatically setup when calling mp_set_av_packet() with a NULL packet. - Use the PTS returned by the decoder, instead of the packet's. This is important to get correct timestamps for decoded audio. Ignoring this would result into offsetting the audio playback time by the decoder delay. Note that we can still use the timestamp of the first packet to get the timestamp for the start of the audio.
* av_common: add timebase parameter to mp_set_av_packet()wm42013-12-046-28/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the timebase is set, it's used for converting the packet timestamps. Otherwise, the previous method of reinterpret-casting the mpv style double timestamps to libavcodec style int64_t timestamps is used. Also replace the kind of awkward mp_get_av_frame_pkt_ts() function by mp_pts_from_av(), which simply converts timestamps in a way the old function did. (Plus it takes a timebase parameter, similar to the addition to mp_set_av_packet().) Note that this should not change anything yet. The code in ad_lavc.c and vd_lavc.c passes NULL for the timebase parameters. We could set AVCodecContext.pkt_timebase and use that if we want to give libavcodec "proper" timestamps. This could be important for ad_lavc.c: some codecs (opus, probably mp3 and aac too) have weird requirements about doing decoding preroll on the container level, and thus require adjusting the audio start timestamps in some cases. libavcodec doesn't tell us how much was skipped, so we either get shifted timestamps (by the length of the skipped data), or we give it proper timestamps. (Note: libavcodec interprets or changes timestamps only if pkt_timebase is set, which by default it is not.) This would require selecting a timebase though, so I feel uncomfortable with the idea. At least this change paves the way, and will allow some testing.
* manpage: use different quoting in examplewm42013-12-041-1/+1
| | | | | Using "" quotes often tricks people into using this on the command line, while shell still expands $ inside of these.
* manpage: remove unhelpful paragraph about video filter paramswm42013-12-041-5/+0
| | | | | | This makes it sound like -1 would work to set the default for any parameter. But this is just a (crappy) convention, which doesn't work always.
* manpage: update af_format entrywm42013-12-041-10/+3
| | | | | | Don't bother explaining the sample format naming schema. The "ne" bit is outdated anyway, and anyone who has to use this option will be able to understand the naming schema just by looking at the names too.
* build: osx: set chmod to 755 for non-bundle binary during installStefano Pigozzi2013-12-041-1/+2
| | | | | When installing the bundle we also manually install the origianl binary. Waf defaults to chmod 644, so we must explicitely set it to 755.
* wayland: print waylands display errosAlexander Preisinger2013-12-041-0/+40
| | | | | This is very usefull especially if you want to use newer wayland stuff like wl_subsurfaces and xdg_surfaces.
* build: remove execute kwarg to check_cc when cross-compilingStefano Pigozzi2013-12-042-3/+10
| | | | | | This prevents waf from running test programs after compilation. A better approach would be to only remove this option if the check actually errors, but we are using this only for Lua anyway.
* vf_noise: reduce binary sizewm42013-12-041-4/+1
| | | | Same issues as in previous commit.
* vf_eq: revert unintended binary size increasewm42013-12-041-13/+10
| | | | | | The vf_eq context contains a very large lookup table, and the method of setting default values caused the vf_eq context to be included in the compiled code.
* manpage: fix examplewm42013-12-041-1/+1
|
* manpage: remove two stray video fitler deprecation noteswm42013-12-041-10/+0
| | | | | | | | vf_stereo3d now uses vf_lavfi, if mpv was compiled with libavfilter. vf_swapuv is hereby undeprecated. It's too trivial to wrap it with libavfilter, and it's also too useless that even typing this commit message is not really worth the time to spend on it.
* ao_oss: when falling back from unknown prefer larger formatbugmen0t2013-12-041-0/+16
|
* ao_oss: add 24bit formatsbugmen0t2013-12-041-0/+12
|
* manpage: generic notice about changed sub-option parsingwm42013-12-041-0/+9
| | | | | | Just in case someone expects these are unchanged just because they're not mentioned in changes.rst anywhere. Documenting all of these changes would be too much work and not helpful either.
* video/filter: remove legacy option handling hackswm42013-12-0432-37/+35
| | | | | | | | | All filters now either use the generic option parser, or don't have options. This finally finishes a transition started in 2003 (see git commit 33b62af94760186c). Why are MPlayer devs so monumentally lazy? Sorry, but this takes the cake. You had 10 years.
* vf_vo: don't abuse option strings to set VOwm42013-12-043-10/+19
| | | | Whoever thought this was a good idea should be punched.
* vf_rotate: use option parserwm42013-12-041-2/+7
|
* vf_pp: use option parserwm42013-12-043-9/+23
|
* vf_ilpack: use option parserwm42013-12-041-8/+10
|
* vf_eq: use option parserwm42013-12-041-26/+22
|
* vf_dsize: use option parserwm42013-12-042-32/+23
| | | | | | | Mostly backwards compatible, we don't change much because we just want to get rid of the legacy option string handling. You can't pass an aspect as first argument anymore.
* vf_divtc: use option parserwm42013-12-041-78/+36
|
* video/filter: remove vf_down3drightwm42013-12-045-168/+0
| | | | | | | | Apparently you can get this with: stereo3d=ab[2]{l,r}:sbs[2]{l,r} So it seems the filter is redundant and can be removed. Also see FFmpeg commit 2f11aa141a01.
* vf: remove unneeded fieldwm42013-12-041-1/+0
| | | | | This was once required for padding, because many filters didn't use designated initializers, and initialized a removed field with NULL.
* vf_pullup: change options, reroute to vf_lavfiwm42013-12-042-11/+38
| | | | The options are probably mostly backwards compatible.
* vf_unsharp: change options, reroute to vf_lavfiwm42013-12-042-64/+43
|
* vf_phase: change options, reroute to vf_lavfiwm42013-12-042-36/+49
| | | | The option change is probably backwards compatible.
* vf_noise: reroute to vf_lavfiwm42013-12-042-37/+62
| | | | | | | | Unfortunately, this forces filtering both luma and chroma, because otherwise we'd have to deal with libavfilter's vf_noise weird handling of YUV vs. RGB formats. Would we e.g. filter luma only, it would filter red in RGB mode only, because it goes by component and there's no way to distinguish YUV and RGB by just using the filter's options.
* vf_stereo3d: reroute to vf_lavfiwm42013-12-041-10/+31
|
* vf_hqdn3d: change options, reroute to vf_lavfiwm42013-12-042-72/+34
|
* vf_gradfun: reroute to vf_lavfiwm42013-12-042-6/+29
| | | | | Also update the manpage. We changed defaults and added a suboption quite some time ago, and we forgot to update the manpage at all.
* vf_delogo: reroute to vf_lavfiwm42013-12-042-8/+24
| | | | The ``file`` suboption is unsupported on lavfi.
* vf_yadif: change options, reroute to vf_lavfiwm42013-12-043-29/+38
| | | | | | Also remove the ability to disable deinterlacing at runtime. You can still disable deinterlacing at runtime by using the ``D`` key and its automatical filter insertion/removal.
* vf_lavfi: export a wrapper functionwm42013-12-043-8/+158
| | | | | | | | | | | This will allow old filter to run libavfilter instead by calling vf_lw_set_graph(), which turns the filter into a wrapper, using a given libavfilter graph. Later commits use that to automatically "reroute" a bunch of filters to libavfilter. We want to get rid of the old MPlayer filter code, because it's bad an unmaintained, but we still don't want to force everyone to use vf_lavfi, so this solution will do for a while.
* video: remove VFCAP_POSTPROCwm42013-12-042-7/+1
| | | | This wasn't used anymore, not even until recently.
* vf_screenshot: remove unnecessary codewm42013-12-041-5/+0
|
* gl_video: change internal API for hwdec mp_image downloadStefano Pigozzi2013-12-023-10/+13
| | | | | | Previous API worked under the assumption that download_image is always called after map_image. In practice this is true, but it's better to have a much generic API that doesn't depend on the order in which the functions are called.
* manpage: mention that vda can work with vo_openglwm42013-12-022-1/+2
| | | | | Also, with the addition of VDA, all hardware decoding backends work with vo_opengl now.
* gl_video: use hwdec download_image call only if hwdec is activewm42013-12-021-2/+3
| | | | | | | | | | The hwdec driver can be loaded, even if it's not used (e.g. when playing a file with no hardware decoding after one with it enabled). Also, check whether dlimage is NULL. Since this will do call into the native hwdec API, there's a chance a driver could fail doing this, it's better to check the return value, even if this case currently can't happen.
* options: add option to disable using right Alt key as Alt GrVivek Jain2013-12-029-6/+40
| | | | | | | | | mpv was hardcoded to always consider the right Alt key as Alt Gr, but there are parituclar combinations of platforms and keyboard layouts where it's more convenient to tre