aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* demux_lavf: don't free AVFormatContext.key fieldGravatar wm42017-07-21
| | | | We don't even set it anymore. This really should be up to libavformat.
* ao_oss: fix a dumb calculationGravatar wm42017-07-21
| | | | | | | period_size used the wrong unit, and even if the unit had been correct, was assigned the wrong value. Probably fixes #4642.
* manpage: fix minor spelling mistake in mpv.rstGravatar James Cowgill2017-07-19
| | | | Found by https://lintian.debian.org/
* travis: trigger website rebuild on VERSION changes tooGravatar Ricardo Constantino2017-07-19
| | | | Needed to update the stable manual if no DOCS were changed.
* Update VERSIONGravatar Martin Herkt2017-07-18
|
* Release 0.26.0Gravatar Martin Herkt2017-07-18
|
* csputils: fix mp_colorspace_equal missing fieldGravatar Niklas Haas2017-07-18
| | | | Forgot to equality test for mp_colorspace.light
* manpage: upcase JavaScript for section title case consistency.Gravatar torque2017-07-17
|
* vo_opengl: avoid constant divisionsGravatar Niklas Haas2017-07-17
| | | | | | | These are apparently expensive on some drivers which are not smart enough to turn x/42 into x*1.0/42. So, do it for them. My great test framework says it's okay
* demux_disc: fix bluray subtitle language retrievalGravatar wm42017-07-16
| | | | | | | | | It seems like adjusting the raw stream ID should be done only for DVD. Otherwise, getting the subtitle language for Bluray breaks. Untested. Regression since fb9a32977d6. Fixes #4611 (probably).
* vo_opengl: styleGravatar Niklas Haas2017-07-16
| | | | Use uintptr_t instead of size_t. Shouldn't matter, but is cleaner.
* vo_opengl: use MP_ALIGN_UP instead of FFALIGNGravatar Niklas Haas2017-07-16
| | | | Consistency/style
* vo_opengl: use glBufferSubData instead of glMapBufferRangeGravatar Niklas Haas2017-07-16
| | | | | | | | | | | | | | | | | | | | Performance seems pretty much unchanged but I no longer get nasty spikes on NUMA systems, probably because glBufferSubData runs in the driver or something. As a simplification of the code, we also just size the PBO to always have the full size, even for cropped textures. This seems slower but not by relevant amounts, and only affects e.g. --vf=crop. It also slightly increases VRAM usage for textures with big strides. This new code path is especially nice because it no longer depends on GL_ARB_map_buffer_range, and no longer uses any functions that can possibly fail, thus simplifying control flow and seemingly deprecating the manpage's claim about possible image corruption. In theory we could also reduce NUM_PBO_BUFFERS since it doesn't seem like we're streaming uploads anyway, but leave it in there just in case some drivers disagree...
* ytdl_hook: add a header to support geo-bypassGravatar Jagannathan Tiruvallur Eachambadi2017-07-16
| | | | | | youtube-dl supports bypassing some geographic restrictions by setting X-Forwarded-For header when used with geo-bypass and geo-bypass-country.
* osd_libass: avoid libass warnings if scripts set ASS text earlyGravatar wm42017-07-16
| | | | | | | | | | | | | | | | Lua scripts can call osd_set_external() early (before the VO window is created and obj->vo_res is filled), in which case the PlayResX field would be set to nonsense, and libass would print a pointless warning. There's an easy and a hard fix: either just go on and pass dummy values to libass (basically like before, just clamp them to avoid the values which make libass print the warning). Or attempt to update the PlayRes field to correct values on rendering (since at rendering time, you always know the screen size and the correct values). Do the latter. Since various things use PlayRes for scaling things, this might still not be fully ideal. This is a general problem with the async scripting interface.
* Replace remaining avcodec_close() callsGravatar wm42017-07-16
| | | | | | | | This API isn't deprecated (yet?), but it's still inferior and harder to use than avcodec_free_context(). Leave the call only in 1 case in af_lavcac3enc.c, where we apparently seriously close and reopen the encoder for whatever reason.
* vo_opengl: update BufferData usage hintsGravatar Niklas Haas2017-07-15
| | | | | | | | | | | | | | | STREAM is better than DYNAMIC because we're only using it once per frame. As for COPY vs DRAW, that was pretty much incorrect to begin with - but surprisngly, COPY is actually faster (sometimes significantly so, e.g. on my NUMA system). After testing, the best I can gather is that it has to do with the fact that COPY requires fewer redundant memcpy()s, and also 3x reduce RAM bandwidth (in theory). Anyway, that bit shouldn't introduce any regressions, it's just a documentation update. Maybe I'll change my mind about the comment again the future, it's really hard to tell. Vulkan, please save us!
* vo_opengl: coalesce intra-plane PBOsGravatar Niklas Haas2017-07-15
| | | | | | | | | | | | | | Instead of allocating three PBOs and cycling through them, we allocate one PBO that's three times as large, and cycle through the subregion offsets. This results in arguably simpler code and faster initialization performance. Especially for 4K textures, initializing PBOs can take quite some time (e.g. 180ms -> 110ms). For 1080p, it's more like 66ms -> 52ms for me. The alignment to 4096 is completely unnecessary by spec, but we do it anyway just for peace of mind.
* img_format: fix a commentGravatar wm42017-07-15
| | | | | This was changed a while ago. Part of it might still apply to the old D3D hwaccel glue code, though.
* vo_opengl: generalize --scale-clamp etc.Gravatar Niklas Haas2017-07-12
| | | | | This can help fight ringing without completely killing it, thus providing a middle-ground between ringing and aliasing.
* vo_opengl: remove redundant gl_video_setup_hooks callGravatar Niklas Haas2017-07-12
| | | | | | | | This is unnecessary to call from gl_video_resize, because the hooks only (possibly) change when the actual vo_opengl options change. This used to be required back when mpv still had prescaling built in, but since that was all moved to user shaders and the code removed, this is a left-over artifact.
* player: change default section when loading encoding-profiles.confGravatar wm42017-07-12
| | | | | | | It used to use the "encoding" section. Change this to the default section to remove another small special case. encoding-profiles.conf didn't use this by default anyway. The previous revert could mitigate potential impacts of this a little.
* Revert "player: always load encoding-profiles.conf"Gravatar wm42017-07-12
| | | | | | | | | | This reverts commit 0dcb51c7fa2c676ec30f2bac216f904dfc4ffa6f. I randomly decided that this was better. It can be re-applied once it actually becomes necessary in some way. Note that this worked fine. My main gripe with this is that it can spam the log file with encoding stuff even if playback mode is used.
* man/options: fix a few broken options' examplesGravatar Ricardo Constantino2017-07-12
|
* ytdl_hook: actually load the script-optsGravatar Ricardo Constantino2017-07-11
| | | | | Also, comma-separated list doesn't actually work, even quote-surrounded. Switch to using | instead.
* ytdl_hook: add option to exclude URLs from being parsedGravatar Ricardo Constantino2017-07-11
| | | | | | | | | This is more of a niche usecase than --ytdl-format and --ytdl-raw-options, so a simple script option should be enough. Either create lua-settings/ytdl_hook.conf with 'exclude=example.com,sub.example.com' option or "--script-opts=ytdl_hook-exclude=example.com,sub.example.com"
* ytdl_hook: add times for ytdl and hook running on debug-levelGravatar Ricardo Constantino2017-07-11
| | | | Not really important, but still interesting to know.
* ao_wasapi: remove redundant / outdated commentGravatar Kevin Mitchell2017-07-10
| | | | | Where this was moved from, it made slightly more sense. Here what the comment is trying to say is already pretty obvious from the code.
* ao_waspi: use switch for handling fix_format errorsGravatar Kevin Mitchell2017-07-10
|
* ao_wasapi: don't repeat format negotiation on align hackGravatar Kevin Mitchell2017-07-10
| | | | | Even if it did return a different result, the bufferFrameCount from the align hack would be wrong anyway.
* ao_wasapi: fix leak on align hackGravatar Kevin Mitchell2017-07-10
|
* vo_opengl: fix type of glsl variable frameGravatar Aman Gupta2017-07-11
|
* vo_opengl: don't make assumptions about plane orderGravatar wm42017-07-10
| | | | | | | | | | | | | | | | | | | The renderer code doesn't list a fixed set of supported formats, but supports anything that is described by AVPixFmtDescriptor and follows a number of constraints. Plane order is not included in those constraints. This means the planes could be in random order, rather than what the vo_opengl renderer happens to assume. For example, it assumes that the 4th plane is alpha, even though alpha could be on any plane. Likewise it assumes that plane 0 was always luma, and planes 2/3 chroma. (In earlier iterations of format support, this was guaranteed by MP_IMGFLAG_YUV_P, but this is not used anymore.) Explicitly set the plane semantics (enum plane_type) by the component descriptors and the used colorspace. The behavior should mostly not change, but it's less likely to break when FFmpeg adds new pixel formats.
* ad_spdif: minor cleanupsGravatar wm42017-07-10
| | | | | | | | Use avcodec_free_context() unstead of random other calls. Actually it was already used in the second case, but calling avcodec_close() is redundant. Don't crash if allocating a codec context fails.
* vo_opengl: hwdec_dxva2egl: probe whether ANGLE mapping worksGravatar wm42017-07-10
| | | | | | | With some newer ANGLE builds, mapping can fail with "Failed to create EGL surface" during playback. The reason is unknown, and it might just be an ANGLE bug. Probe whether it works at init time to avoid the problem.
* vd_lavc: fix crashes with old hwaccelsGravatar wm42017-07-10
| | | | | | | | | | | | | | Commit d5702d3b95 messed up the order of destruction of the elements: it destroyed the avctx before the hwaccel uninit, even though the hwaccel uninit could access avctx. This could happen with some old hwaccels only, such as D3D ones before the new libavcodec hwaccel API. Fix this by making use of the fact that avcodec_flush_buffers() will uninit the underlying hwaccel. Thus we can be sure avctx is not using any hwaccel objects anymore, and it's safe to uninit the hwaccel. Move the hwdec_dev dstruction code with it, because otherwise we would in theory potentially create some dangling pointers in avctx.
* vo_opengl: fix dumb_mode chroma transformation fixupGravatar Niklas Haas2017-07-10
| | | | | | | | In commit 6eb0bbe this was changed from xs[n] to use gl_format.chroma_w indiscriminately, which broke chroma rendering when zooming/cropping. The solution is to only use chroma_w for chroma planes. Fixes #4592.
* audio/out: fix comment typoGravatar Kevin Mitchell2017-07-09
|
* misc/ring: fix comment typoGravatar Kevin Mitchell2017-07-09
|
* ao_wasapi: enable packed 24 bit outputGravatar Kevin Mitchell2017-07-09
|
* audio/out: correct copy length in ao_read_data_convertedGravatar Kevin Mitchell2017-07-09
| | | | | | | | | | | | | Previously, the entire convert_buffer was being copied to the desination without regard to the fact that it may be packed and therefore smaller. The allocated conversion buffer was also way to big bytes * (channels * samples) ** 2 instead of bytes * channels * samples
* ao_wasapi: reorder channels and samplerates to speed up searchGravatar Kevin Mitchell2017-07-09
| | | | | | | This shouldn't affect which are chosen, but it should speed up the search by putting more common configurations earlier so that a working sample format and sample rates can be found sooner obviating the need to search them for each iteration of the outer loops.
* ao_wasapi: minor cosmetic fixesGravatar Kevin Mitchell2017-07-09
|
* ao_wasapi: try correct initial formatGravatar Kevin Mitchell2017-07-09
| | | | | | | | | The loop to select the native wasapi_format for the incoming audio was not breaking correctly when it found the most desirable format. It therefore executed completely leaving the least desirable format (u8) as the choice. fixes #4582
* vo_opengl: describe the remainder passes after user shadersGravatar Niklas Haas2017-07-09
| | | | | | | | | | | | On optional hook points, we store to a temp FBO and then read from it again to complete any operations that may still be left (e.g. sigmoidization after MAIN/LINEAR). In theory this mechanism should be reworked to avoid the temporary FBO until the next time we actually need one - and also skip redundant passes if we the next thing we need *is* a FBO - but both are those are tricky. Anyway, in the meantime, at least we can label the (semi-)redundant passes that get generated when using user shaders.
* manpage: add a description for --scaleGravatar Niklas Haas2017-07-09
| | | | For some reason this wasn't actually documented.
* vo_opengl: support tone-mapping-param for `clip`Gravatar Niklas Haas2017-07-07
| | | | | | | This just indicates a fixed linear coefficient to multiply into the signal, similar to the old option --target-brightness (but the inverse thereof). Good for testing purposes, which is why I added it. (This also corresponds somewhat to what zimg does)
* audio: drop AF_FORMAT_S24Gravatar wm42017-07-07
| | | | | | | | | | | This is the last sample format that was only in mpv and not in FFmpeg (except the spdif special formats). It was a huge pain, even if the removed code in af_lavrresample is pretty small after all. Note that this drops S24 from the ao_coreaudio AOs too. I'm not sure about the impact, but I expect it doesn't matter. af_fmt_change_bytes() was unused as well, so remove that too.
* ao_pcm: drop AF_FORMAT_S24 usageGravatar wm42017-07-07
| | | | | | | I'd actually be somewhat interested in supporting this, as it could help testing the S24 conversion code. But then again it's only a pain, there's no immediate need, and it would require new options to make ao_pcm.c select this output format at all.
* ao_oss: drop AF_FORMAT_S24 usageGravatar wm42017-07-07
| | | | Can't test / don't care.