summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* stats: declare function as localJulian2017-10-091-1/+1
| | | | Apparently forgot this one
* stats: use container-fps together with fps (as fallback)Julian2017-10-091-1/+3
| | | | | This was already done for the actual stats a few months ago. Now it is also used by the perfdata coloring code.
* stats: rename option timing_total to print_perfdata_totalJulian2017-10-091-2/+2
| | | | | Should make its purpose more clear. Also add a comment to further explain its use.
* stats: add vsync-ratio and vsync-jitterJulian2017-10-091-69/+138
| | | | | | | | | | | | | | | | | | | Both come with graphs enabled by default. They can be disabled using the options plot_vsync_ratio and plot_vsync_jitter (see the readme regarding customization). In case both graphs are deactivated the ratio and jitter properties will be printed on the same line to save some space. One more user-visible/noticeable change: the maximum used to scale the values for each graph is no longer calculated each time the stats are shown but instead when collecting the data. This means the maximum can actually be higher than all values currently present in a graph's data buffer. This makes it easier to judge a graph's values, especially since as we have no axis labels. To prevent high values staying max forever graph data buffers are cleared when toggling (can be disabled). It was never useful to keep old data and simply append newer data (with a time skip) anyway.
* stats: add some documentation for generate_graph()Julian2017-10-091-1/+10
|
* stats: access less variables outside function's stateJulian2017-10-091-12/+10
|
* stats: add new container-fps that deprecates fpsRicardo Constantino (:RiCON)2017-10-091-1/+2
|
* stats: remove hwdec-active propertyRicardo Constantino (:RiCON)2017-10-091-7/+2
|
* stats: fix bug introduced in earlier commitJulian2017-10-091-5/+4
| | | | | Commit 76387aba26574d0d96af688cf11d10bd165171f7 broke the script in case of timing_total=true.
* stats: fix comment typoJulian2017-10-091-7/+7
|
* stats: disable coloring peak performance dataJulian2017-10-091-1/+2
| | | | | The peak value is probably not very well suited to draw many conclusions from it.
* stats: change coloring of performance dataJulian2017-10-091-7/+8
| | | | | Previously it used display-fps to determine coloration even when display-sync was not even used.
* stats: save ASS sequences locallyJulian2017-10-091-3/+10
| | | | | Instead of querying them constantly. Also add a tiny bit of documentation to some variables.
* stats: only print graphs when ASS tags are goodJulian2017-10-091-1/+1
|
* stats: clearify a few descriptions/labelsJulian2017-10-091-3/+3
|
* stats: don't show video/audio-speed-correction when 0Julian2017-10-091-1/+1
| | | | | | | | This used to be the case, I'm not sure when it changed. The current way of 'hiding' it in case of 0 is not exactly good and relies on the OSD representation. It could be done better by querying the video-sync-active property but that would require querying yet one more thing...
* stats: add HDR signal peak informationNiklas Haas2017-10-091-5/+15
| | | | | | | | Added to mpv in commit a14f9249. Simply shown after the gamma curve if available, since it's semantically attached to it. Also regroup some of the colorimetry options to make this fit (and for them to make more sense)
* stats: add sum of timing valuesJulian2017-10-091-7/+13
| | | | | | | Display an additional line with the sum of all three timing values. Disabled by default. I didn't see the necessity to also create a graph for this line
* stats: put colormatrix, primaries and gamma togetherJulian2017-10-091-3/+4
| | | | Saves a bit of space.
* stats: change highlighting of performance dataJulian2017-10-091-4/+11
| | | | | | | Add a yellow highlight to the existing red highlight. Red is still used once the available time is exhausted, yellow is supposed to be a warning when the headroom is getting small. The threshold is configurable.
* stats: declare functions as localJulian2017-10-091-197/+200
| | | | | Because why not. Simply reorder functions instead of forward declaring stuff.
* stats: align graphsJulian2017-10-091-44/+63
| | | | | | | | | Graphs are now aligned. This required a change in the layout of performance data. Reason is a wrong (but intended) calculation of vector drawing sizes in libass to maintain compatibility. This essentially prevents text following the graph. To achieve alignment only monospaced text can precede the graph. This led to the layout changing slightly when graphs are shown.
* stats: change the way the output is builtJulian2017-10-091-85/+65
| | | | | | | | Instead of creating new strings with the content of the previous one followed by some new content we now write all content into tables that are concatenated in the end. This is unlikely to improve performance but at least it will cut down on all these temporary, growing strings polluting memory.
* stats: rewrite parts of performance dataJulian2017-10-091-64/+110
| | | | | | | | Major changes: - graphs are only drawn when in toggled mode - performance data is retrieved every ith frame (default: 5) - highlighting of performance data (numbers): add a highlight when the summed numbers (last/avg/peak) exceed 1/display-fps
* stats: add performance dataJulian2017-10-091-9/+103
| | | | | | | | Display various performance data about frames and their display/rendering. Additionally plot graphs for this data. This is experimental and pretty much just a test at this point and by far not final.
* stats: update stats when file changesJulian2017-10-091-1/+7
| | | | | | | Only in toggled mode and actually only when the video output is reconfigured. This should cover the relevant cases. Fixes #22
* stats: small spelling correctionJulian2017-10-091-1/+1
|
* stats: use redraw_delay for timer periodJulian2017-10-091-2/+2
| | | | | | Previously the delay was slightly shortened but a user explicitly setting a specific delay most likely expects the stats to refresh in exactly the frequency he desired.
* stats: always print title if different from filenameRicardo Constantino (:RiCON)2017-10-091-1/+3
|
* stats: make a warning more visibleJulian2017-10-091-1/+3
| | | | Print it to console and especially OSD upon each invocation
* stats: rename some functionsJulian2017-10-091-6/+6
| | | | More useful names
* stats: add toggling of statsJulian2017-10-091-4/+29
| | | | | | | | | | | | You can now either show the stats once or toggle their display. Both are using different key bindings which are additionally configurable now. Please bear in mind that "toggling" means "redraw every x seconds for x seconds". Therefore, this approach is prone to problems especially when something else is printing text to the OSD as well as every of these calls will overwrite each other. This is currently a limitation of mpv. Fixes #18
* stats: add hwdec-currentRicardo Constantino (:RiCON)2017-10-091-1/+6
| | | | | Fallback to hwdec-active if not available. This one will be removed in mpv 0.19.0.
* stats: add cache-speedRicardo Constantino (:RiCON)2017-10-091-2/+3
|
* stats: decrease default font sizeJulian2017-10-091-1/+1
| | | | It's getting a bit cramped
* stats: add video-params/gamma propertyNiklas Haas2017-10-091-0/+1
|
* stats: update frame drop diagnosticsKevin Mitchell2017-10-091-1/+2
|
* stats: add display fpsKevin Mitchell2017-10-091-0/+7
|
* stats: rename some variables for consistencyJulian2017-10-091-9/+9
|
* stats: add support for video-sync=displayNiklas Haas2017-10-091-0/+5
|
* stats: fix line wrappingJulian2017-10-091-2/+2
| | | | | These spaces were not displayed on screen, however they were taken into account for line wrapping.
* stats: remove dead link from commentJulian2017-10-091-1/+0
|
* stats: print bold text in terminalsRostislav Pehlivanov2017-10-091-4/+16
| | | | | | | | | | This simply prints ASCII codes to display any text marked as bold in the terminal. Supported by every sane terminal since 1986. For those insane, there's a check. The check has been copied from the ansicolors.lua script floating around and it checks if the directory path uses "\" instead of "/", and in case it does, it checks whether ANSICON env variable has been set (which is used to indicate the Windows terminal supports ACII escape sequences).
* stats: minor simplificationJulian2017-10-091-4/+8
|
* stats: remove countless hardcoded stringsJulian2017-10-091-30/+33
| | | | feels a bit better that way
* stats: document append_property return valueJulian2017-10-091-2/+3
|
* stats: fix oversightJulian2017-10-091-1/+1
| | | | this one slipped through my "tests"
* stats: unify redundant functionsJulian2017-10-091-53/+58
| | | | | | | | | Unify both append_property* functions and greatly refactor them. Instead of thousands of arguments we now use a table. While this is in theory cleaner it does not exactly look like it. However, it's way more flexible and extendable this way. Also, since the new append_property() might look a bit confusing I felt the need to add a comment.
* stats: proper usage of imported moduleJulian2017-10-091-13/+13
| | | | and comment nitpicking
* stats: add debug optionJulian2017-10-091-0/+7
| | | | print a warning for properties without value
* stats: reflect latest changes to mpvJulian2017-10-091-2/+2
| | | | | | Some properties were renamed recently. Of course this requires a recent mpv built (> https://github.com/mpv-player/mpv/commit/f9507f) now.
* stats: don't add superfluous EOL charactersJulian2017-10-091-9/+12
| | | | | Previously we unnecessarily added newline characters at the end. Only noticeable when printed on terminal, though.
* stats: make non-ASS styling configurableJulian2017-10-091-44/+56
| | | | | Also add a few convenience functions and remove the unused italic and underlined formatting functions.
* stats: make the OSD usable in audio-only modeRostislav Pehlivanov2017-10-091-4/+32
| | | | | | | | | | | | Previously, the script would throw garbage (ASS tags) at the terminal when the bound key was pressed. This changes the behaviour to _not_ print any ASS tags (and replace those which can be interpreted by the terminal) if there's no video. I cleaned the patch up since you mentioned you were busy. As I said before, there is absolutely no problem with calling mpv to display strings to the OSD without any video. They'll just go straight to the terminal just as they would with an active VO.
* stats: avoid clashing with similar named scriptsJulian2017-10-091-1/+1
|
* stats: initial commitJulian2017-10-091-0/+189
|
* dvb: SYS_DVBC_ANNEX_B is now supported if ATSC is activated.Oliver Freyermuth2017-10-091-0/+2
| | | | Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb: Skip channel if ATSC device does not support cable / terr.Oliver Freyermuth2017-10-091-1/+3
| | | | | | | This matches what is done for the other multi-delivery-system cards. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb: Implement parsing of modulation for VDR-style channels config.Oliver Freyermuth2017-10-091-0/+50
| | | | | | This is required for ATSC cable / terrestrial support. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb: Fixes for ATSC tuning.Oliver Freyermuth2017-10-092-2/+19
| | | | | | | | | ATSC is a mix of terrestrial and cable, and depending on modulation is actually using DVBC_ANNEX_B. Thus, we need to override the delivery system depending on the modulation, channel by channel. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* stream_dvb: Multiply frequency and sample rate by 1000 for VDR.Oliver Freyermuth2017-10-091-4/+3
| | | | | | | These values are kept with a different unit in VDR style config for all delivery systems, not only for DVB-S / DVB-S2. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb_tune: Pull out DVBv5 raw tuning part, add verbosity.Oliver Freyermuth2017-10-091-23/+24
| | | | | | | | Dump the complete raw tuning commands to allow for debugging on low level. Also, remove code duplication and some variable shadowing. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb: Explicitly clear via DVBv5 before reverting to DVBv3.Oliver Freyermuth2017-10-091-2/+12
| | | | Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* dvb: Use more elaborate tuning for DVBv5 tuning.Oliver Freyermuth2017-10-091-23/+111
| | | | | | | | | Also, in case tuning fails with timeout even though the ioctl was accepted by the device, fall back to DVBv3 tuning. This may go wrong for multi-delivery-system cards, so issue an error message in that case. Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
* vo_gpu: simplify opengl aliaswm42017-10-092-31/+2
| | | | | This makes the replacement warning message worse, but I don't think I care enough.
* vo_gpu: remove duplicated optionswm42017-10-091-1/+0
| | | | | All these options (like --gpu-context etc.) were duplicated. It's amazing that it didn't cause more problems than it did.
* vo_opengl: context_drm_egl: Don't create a new framebuffer for every frameMark Thompson2017-10-091-22/+27
|
* vo_gpu: add android opengl backendAman Gupta2017-10-095-3/+164
| | | | | | | | | | At the moment, rendering on Android requires ``--vo=opengl-cb`` and a lot of java<->c++ bridging code to receive the receive and react to the render callback in java. Performance also suffers with opengl-cb, due to the overhead of context switching in JNI. With this patch, Android can render using ``--vo=gpu --gpu-context=android`` (after setting ``--wid`` to point to an android.view.Surface on-screen).
* vo: add mediacodec_embed output driverAman Gupta2017-10-094-0/+102
| | | | | Allows rendering IMGFMT_MEDIACODEC frames directly onto an android.view.Surface
* hwdec: add mediacodec hardware decoder for IMGFMT_MEDIACODEC framesAman Gupta2017-10-097-0/+60
|
* vo: add VO_CAP_NOREDRAW for upcoming vo_mediacodec_embedAman Gupta2017-10-092-1/+8
| | | | | | | | | | | MediaCodec uses a fixed number of output buffers to hold frames, and expects that output buffers will be released as soon as possible. Once rendered, the underlying frame is automatically released and cannot be reused or rerendered. The new VO_CAP_NOREDRAW forces mpv to release frames immediately after they are rendered or dropped, to ensure that MediaCodec decoder does not run out of buffers and stall out.
* hwdec: rename mediacodec to mediacodec-copyAman Gupta2017-10-097-12/+32
|
* README.md: explicitly link contribute.mdwm42017-10-091-5/+8
| | | | | Also move the license section, because it looks strange how the link list is above it.
* command: drop "audio-out-detected-device" propertywm42017-10-097-35/+3
| | | | | | Coreaudio stopped setting it a few releases ago (66a958bb4fa). There is not much of a user- or API-visible change, so remove it without deprecation.
* img_format: AV_PIX_FMT_PAL8 is RGBwm42017-10-091-2/+5
| | | | | | | | | | | | | | | | | This partiular format is not marked as AV_PIX_FMT_FLAG_RGB in FFmpeg's pixdesc table, so mpv assumed it's a YUV format. This is a regression, since the old code in mp_imgfmt_get_desc() also treated this format specially to avoid this problem. Another format which was special-cased in the old code was AV_PIX_FMT_MONOBLACK, so make an exception for it as well. Maybe this problem could be avoided by mp_image_params_guess_csp() not forcing certain colorimetric parameters by the implied colorspace, but certainly that would cause other problems. At least there are mistagged files out there that would break. (Do we actually care?) Fixes #4965.
* wayland_common: implement output tracking, cleanups and bugfixesRostislav Pehlivanov2017-10-094-215/+246
| | | | | | | | | | | | | | | | | | This commit: - Implements output tracking (e.g. monitor plug/unplug) - Creates the surface during registry (no other dependencies) - Queues the callback immediately after surface creation - Cleaner and better event handling (functions return directly) - Better reconfigure handling (resizes reduced to 1 during init) - Don't unnecessarily resize (if dimensions match) Apart from that fixes 2 potential memory leaks (mime type and window title), 2 string ownership issues (output name and make need to be dup'd), fixes some style issues (switches were indented) and finally adds messages when disabling/enabling idle inhibition. The callback setter function was removed in preparation for the commit which will use the frame event cb because it was unnecessary.
* osx: add right MacPorts paths to our bundle $PATHAkemi2017-10-071-2/+3
| | | | also add another path for homebrew.
* wayland_common: allow vo_wayland_uninit(NULL)Niklas Haas2017-10-071-0/+2
| | | | ...again
* Revert "wayland_common: add support for embedding"Rostislav Pehlivanov2017-10-053-10/+0