summaryrefslogtreecommitdiffstats
path: root/DOCS/tech
Commit message (Collapse)AuthorAgeFilesLines
* build, codec-cfg.c: simplify builtin codecs.conf handlingUoti Urpala2012-07-161-181/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The player can read codec mapping (codecs.conf) from an external file or use embedded defaults. Before, the defaults were stored in the player binary in the form of final already-parsed data structures. Simplify things by storing the text of the codecs.conf file instead, and parse that at runtime the same way an external file would be parsed. To create the previous parsed form, the build system first compiled a separate binary named "codec-cfg", which parsed etc/codecs.conf and then wrote the results as a C data structure that could be compiled into the program. The new simple conversion of codecs.conf into a C string is handled by the new script TOOLS/file2string.py. After removing the codec-cfg binary, HOST_CC is no longer used for anything. Remove the --host-cc configure option and associated logic. Also remove the codec2html and codec-cfg-test functionality. Building those was already broken and nobody cared. There was a broken 3-character-long "fourcc" entry in etc/codecs.conf. This happened to be accepted before but triggered a parse error after the changes. Remove the broken entry and make the parsing functions explicitly test for this error.
* core: add screenshot mode for actual VO window contentswm42011-11-251-2/+9
| | | | | | | | | | | | | | The screenshot command normally converts the currently displayed video frame to an image. Add support for an alternative screenshot mode that is supposed to capture the real window contents. Such a screenshot contains a possibly scaled version of the frame, the OSD, and subtitles. Add a default key binding Alt+s for taking screenshots in this mode. This needs special VO support, and might not work with all VOs (this commit does not yet contain an implementation for any VO, only the infrastructure).
* libmenu: remove OSD menu functionality (--menu)Uoti Urpala2011-10-251-28/+3
| | | | | | | | | | Something like the OSD menu functionality could be useful. However the current implementation has several problems and would require a relatively large amount of work to get into good shape. As far as I know there are few users of the existing functionality. Nobody is working on the existing code and keeping it compiling at all while changing other code would require extra work. So delete the menu code and some related code elsewhere that's used by nothing else.
* video, options: implement better YUV->RGB conversion controlwm42011-10-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite control of the colorspace and input/output level parameters used in YUV-RGB conversions, replacing VO-specific suboptions with new common options and adding configuration support to more cases. Add new option --colormatrix which selects the colorspace the original video is assumed to have in YUV->RGB conversions. The default behavior changes from assuming BT.601 to colorspace autoselection between BT.601 and BT.709 using a simple heuristic based on video size. Add new options --colormatrix-input-range and --colormatrix-output-range which select input YUV and output RGB range. Disable the previously existing VO-specific colorspace and level conversion suboptions in vo_gl and vo_vdpau. Remove the "yuv_colorspace" property and replace it with one named "colormatrix" and semantics matching the new option. Add new properties matching the options for level conversion. Colorspace selection is currently supported by vo_gl, vo_vdpau, vo_xv and vf_scale, and all can change it at runtime (previously only vo_vdpau and vo_xv could). vo_vdpau now uses the same conversion matrix generation as vo_gl instead of libvdpau functionality; the main functional difference is that the "contrast" equalizer control behaves somewhat differently (it scales the Y component around 1/2 instead of around 0, so that contrast 0 makes the image gray rather than black). vo_xv does not support level conversion. vf_scale supports range setting for input, but always outputs full-range RGB. The value of the slave properties is the policy setting used for conversions. This means they can be set to any value regardless of whether the current VO supports that value or whether there currently even is any video. Possibly separate properties could be added to query the conversion actually used at the moment, if any. Because the colorspace and level settings are now set with a single VF/VO control call, the return value of that is no longer used to signal whether all the settings are actually supported. Instead code should set all the details it can support, and ignore the rest. The core will use GET_YUV_COLORSPACE to check which colorspace details have been set and which not. In other words, the return value for SET_YUV_COLORSPACE only signals whether any kind of YUV colorspace conversion handling exists at all, and VOs have to take care to return the actual state with GET_YUV_COLORSPACE instead. To be changed in later commits: add missing option documentation.
* options, subs: add --ass-vsfilter-aspect-compatharklu2011-08-121-0/+1
| | | | | | | | | Add option --ass-vsfilter-aspect-compat and corresponding property ass_vsfilter_aspect_compat. The setting controls whether to enable the emulation of traditional VSFilter behavior where subtitles are stretched if the video is anamorphic (previously always enabled for native SSA/ASS subtitles). Enabled by default. Add 'V' as a new default keybinding to toggle the property.
* vidix: drop VIDIX supportUoti Urpala2011-01-311-153/+0
| | | | | | | | | | | | | By now VIDIX is too obscure to justify the amount of code and complexity it requires in the sources. Although there is no pressing need to drop it just now from a code point of view, I'll rather remove it before release than release with VIDIX support and then drop it later. Some of the manpage mentions of VIDIX were in "this option supported for these VOs" lists that looked outdated and failed to mention vdpau for example. Replace such incorrect lists with a generic "not supported for all VOs" mention.
* DOCS/tech/codecs.conf.txt: add notes about BE/LE colorspacescompn2011-01-311-1/+5
| | | | | | Add some notes about BE/LE colorspaces and fix a small typo. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32769 b3059339-0415-0410-9bf9-f77b7e298cf2
* DOCS/tech/: remove several obsolete filesUoti Urpala2011-01-2917-2544/+0
| | | | | Some of the files contain some usable stuff, but overall they're obsolete enough that it's better to remove the current versions.
* Merge branch 'hr-seek'Uoti Urpala2010-12-201-4/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hr-seek: input: add default keybindings Shift+[arrow] for small exact seeks input: support bindings with modifier keys for X input core: audio: make ogg missing audio timing workaround more complex core: add support for precise non-keyframe-limited seeks core: add struct for queued seek info commands: add generic option -> property wrapper options: add "choice" option type, use for -pts-association-mode core: remove looping in update_video(), modify command handling a bit core: seek: use accurate seek mode with audio-only files core: avoid using sh_video->pts as "current pts" libvo: register X11 connection fd in input event system core: timing: add special handling of long frame intervals core: move central play loop to a separate function Conflicts: DOCS/tech/slave.txt
| * core: add support for precise non-keyframe-limited seeksUoti Urpala2010-12-201-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for seeking to an arbitrary non-keyframe position by decoding video starting from the previous keyframe. Whether to use this functionality when seeking is controlled by the new option -hr-seek and a new third argument to the "seek" command. The default is to use it for absolute seeks (like chapter seeks) but not for relative ones. Because there's currently no support for cutting encoded audio some desync is expected if encoded audio passthrough is used. Currently precise seeks always go to the first frame with timestamp equal to or greater than the target position; there's no support for "matching or earlier" backwards seeks at frame level.
| * commands: add generic option -> property wrapperUoti Urpala2010-12-181-0/+1
| | | | | | | | | | | | | | | | | | Add mp_property_generic_option(), a property function that can be used for generic option-based properties that do not require any action beyond manipulating the value of the option variable. Currently it directly implements GET and SET, plus STEP_UP for "choice" options only. Use it to add a property for -pts-association-mode (not particularly useful in normal use, but serves as a test).
* | DOCS/tech/slave.txt: update some obsolete informationUoti Urpala2010-12-181-10/+7
| | | | | | | | | | Update obsolete information based on old pause behavior. Remove mention of old GUI-specific commands.
* | commands: Allow cycling subtitles backwards with 'J'reimar2010-12-161-8/+13
|/ | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32680 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32714 b3059339-0415-0410-9bf9-f77b7e298cf2
* DOCS/tech/codecs.conf.txt: document how to add ffmpeg codecscompn2010-11-141-0/+40
| | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32604 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32615 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add a simple capture feature (-capture)Uoti Urpala2010-11-021-0/+5
| | | | | | | | | | | | | | | | | If a specified key is pressed during playback, the current stream is captured to a file, similar to what -dumpstream achieves. original patch by Pásztor Szilárd, don tricon hu Taken from the following svn commits, but with several fixes and modifications (one obvious user-visible difference is that the default key binding is 'C', not 'c'): git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32524 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32529 b3059339-0415-0410-9bf9-f77b7e298cf2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32530 b3059339-0415-0410-9bf9-f77b7e298cf2
* new slave command: af_cmdline, for changing audio filter optionsreimar2010-11-021-0/+3
| | | | | | | | | Add experimental af_cmdline slave command to allow changing filter options at runtime. Patch by Adrian Stutz [adrian sttz ch] git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32505 b3059339-0415-0410-9bf9-f77b7e298cf2
* slave mode: Add stream_time_pos propertyreimar2010-11-021-0/+1
| | | | | | Patch by Paul Huwe [reicow yahoo com] with some modifications by me. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31794 b3059339-0415-0410-9bf9-f77b7e298cf2
* DOCS/tech/slave.txt: Add disabling input to hintsreimar2010-11-021-0/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31595 b3059339-0415-0410-9bf9-f77b7e298cf2
* build: Rename configure.log file to config.logdiego2010-11-021-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31415 b3059339-0415-0410-9bf9-f77b7e298cf2
* vf_rgb2bgr: remove the filtersiretart2010-11-021-1/+1
| | | | | | | | | | Its functionality has been superseeded by sws by quite some time, and the "swap" functionality is now provided by vf_format. see http://comments.gmane.org/gmane.comp.video.mplayer.devel/55804 for a full discussion. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31350 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge svn changes up to r31226Uoti Urpala2010-05-301-309/+0
|\
| * Remove obsolete new policy proposal draft from Michael.diego2010-05-251-309/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31219 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove ambiguous language about indenting if-blocks.diego2010-05-231-3/+0
| | | | | | | | | | | | | | | | | | | | The previous version could possibly be misread in a way that forbids reindenting if-blocks. The intended meaning, that whitespace changes should be separated from other changes, is already implied from what is written above that paragraph. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31200 b3059339-0415-0410-9bf9-f77b7e298cf2
| * K&R coding style should be applied to new code.diego2010-05-231-7/+9
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31194 b3059339-0415-0410-9bf9-f77b7e298cf2
* | documentation: remove svn-howto.txt, MAINTAINERSUoti Urpala2010-05-302-628/+0
| | | | | | | | | | svn-howto.txt doesn't apply to this tree, and MAINTAINERS had little to do with reality even in svn.
* | Merge svn changes up to r31169Uoti Urpala2010-05-303-3/+2
|\|
| * Remove internal liba52 copy.diego2010-05-093-3/+2
| | | | | | | | | | | | | | Nowadays FFmpeg is faster than liba52 and external liba52 is well supported. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31147 b3059339-0415-0410-9bf9-f77b7e298cf2
* | cosmetics: "struct vf_instance* vf" -> "struct vf_instance *vf"Uoti Urpala2010-05-291-10/+10
| | | | | | | | | | | | | | Change 'struct vf_instance' pointer arguments to more standard style as in the subject. Also some other minor formatting fixes. Patch by Diego Biurrun.
* | Merge svn changes up to r31141Uoti Urpala2010-05-071-1/+1
|\|
| * Remove references to some long-removed files.diego2010-05-071-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31141 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31033Uoti Urpala2010-04-2617-444/+459
|\|
| * the great MPlayer tab removal: part Idiego2010-04-1216-444/+444
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31032 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add slave commands for loading and unloading audio filters at runtime.cehoyos2010-04-111-0/+11
| | | | | | | | | | | | | | Patch by Jehan Hysseo, hysseo zemarmot net git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31030 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add osd_show_progression: Show progress bar and elapsed/total time.cehoyos2010-04-091-0/+4
| | | | | | | | | | | | | | Patch by Hugo Chargois, hugo D chargois A free fr git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31028 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31004Uoti Urpala2010-04-261-2/+2
|\|
| * dont mention base64 about sending attachments.attila2010-04-021-2/+2
| | | | | | | | | | | | | | | | | | this may (and has) confused people, beside that 99.9% of all MUA will do the right thing here anyways. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30986 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30848Uoti Urpala2010-03-104-18/+9
|\|
| * Remove NUT specification stubs.diego2010-03-042-12/+0
| | | | | | | | | | | | | | They have been obsolete for a long time and point nowhere. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30839 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Run script with /bin/sh instead of bash.diego2010-03-041-1/+1
| | | | | | | | | | | | | | There is nothing bash-specific in this shell script. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30838 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: Use consistent if expression syntax.diego2010-03-041-2/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30836 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use $() syntax instead of backticks, it is easier to nest.diego2010-03-041-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30835 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Clarify that ssh is not required for committing to MPlayer.diego2010-03-041-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30834 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Update URL for Subversion homepage.diego2010-03-041-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30833 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30702Uoti Urpala2010-03-102-6/+8
|\|
| * wording fixesdiego2010-02-222-6/+8
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30699 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: Rename struct vf_instance_s --> vf_instance.diego2010-02-211-11/+11
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30684 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30675Uoti Urpala2010-03-106-8/+0
|\|
| * cosmetics: Remove pointless empty lines at EOF.diego2010-02-2015-22/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30675 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30448Uoti Urpala2010-01-281-2/+2
|\|
| * Stopping maintainership for -vo (x)mga attila2010-01-271-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30448 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30250Uoti Urpala2010-01-251-2/+4
|\|
| * Cosmetics: Fix indentationcehoyos2010-01-081-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30241 b3059339-0415-0410-9bf9-f77b7e298cf2
| * QCELP is part of libavcodec.cehoyos2010-01-081-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30240 b3059339-0415-0410-9bf9-f77b7e298cf2
| * update wishlistcompn2010-01-081-2/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30238 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29971Uoti Urpala2009-11-291-3/+1
|\|
| * small update wishlistcompn2009-11-231-3/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29963 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29912Uoti Urpala2009-11-162-6/+15
|\|
| * Add a "tips and tricks" section to the slave mode documentation.reimar2009-11-111-0/+9
| | | | |