aboutsummaryrefslogtreecommitdiffhomepage
path: root/libvo/vo_x11.c
Commit message (Collapse)AuthorAge
* screenshot, draw_bmp: use colorspace passed with mp_imageGravatar wm42012-11-01
| | | | | Remove the explicit struct mp_csp_details parameters from all related functions, and use mp_image.colorspace/levels instead.
* VO, sub: refactorGravatar wm42012-10-24
| | | | | | | | | | | | | | | | | | Remove VFCTRL_DRAW_OSD, VFCAP_EOSD_FILTER, VFCAP_EOSD_RGBA, VFCAP_EOSD, VOCTRL_DRAW_EOSD, VOCTRL_GET_EOSD_RES, VOCTRL_QUERY_EOSD_FORMAT. Remove draw_osd_with_eosd(), which rendered the OSD by calling VOCTRL_DRAW_EOSD. Change VOs to call osd_draw() directly, which takes a callback as argument. (This basically works like the old OSD API, except multiple OSD bitmap formats are supported and caching is possible.) Remove all mentions of "eosd". It's simply "osd" now. Make OSD size per-OSD-object, as they can be different when using vf_sub. Include display_par/video_par in resolution change detection. Fix the issue with margin borders in vo_corevideo.
* sub, vf_ass: allow rendering RGBA subs, replace old vf_ass renderingGravatar wm42012-10-24
| | | | | | | | | | Do this by replacing all the old vf_ass drawing code by draw_bmp.c. Change sub.c to always use osd_draw() for the other OSD drawing routines, and simplify the code a bit. spudec.c subtitles (i.e. DVD subs) are now considered subtitles, and are rendered by vf_ass, if that filter is inserted.
* sub: fix text subtitle aspect ratio with vo_xv and vo_lavc, refactorGravatar wm42012-10-24
| | | | | | | | | | | | | | | | | | | This fixes that vo_xv didn't display text subtitles correctly when using anamorphic video. It didn't pass the aspect information to the subtitle renderer. Also, try to render OSD correctly with respect to aspect ratio settings: on vo_xv, the OSD is rendered into the video, and needs to be "stretched" too when playing anamorphic video. When the -monitorpixelaspect option is used, even with VOs such as vo_opengl the OSD has to be rendered with that aspect ratio. As preparation for future commits, replace the weird vsfilter_scale value with a somewhat more sensible video_par member. Also, struct mp_eosd_res is a better place for the aspect ratio parameters, as OSD needs this too. Use osd_draw_on_image() directly in vo_lavc, which fixes aspect ratio issues as well.
* Remove things related to old OSDGravatar wm42012-10-24
| | | | | | | | | | | | | | | To ease changing all the VOs to the new OSD rendering, fallbacks, conversions, support code etc. was left all over the code. Now that all VOs have been changed, all that code is inactive. Remove it. Strip down spudec.c. We don't need the old grayscale and scaling stuff anymore. (Not removing spudec itself yet - I'm not confident that the libavcodec DVD sub decoder is sufficient, and it would also require some hacks to get DVD palette and resolution information from libdvdread to libavcodec.) The option --spuaa, --spualign, --spugauss were used with the old sub scaling code, and don't do anything anymore.
* vo_x11: use new OSD APIGravatar wm42012-10-24
|
* libmpcodecs: move vf_scale.c swscale helper functions to sws_utils.cGravatar Rudolf Polzer2012-10-24
| | | | | Extracted/rebased by wm4 from commits 93978f17b76d..13211ef5fc20. Actual mp_image_swscale is added in a later commit.
* vo_x11: reformat, use new VO APIGravatar wm42012-08-07
| | | | This also involves moving the static variables into a priv struct.
* mplayer: do not create X11 state in player frontendGravatar wm42012-08-03
| | | | | | | | | | | | | This is about the vo_x11_init_state() call. It basically opens a X11 connection. It's called in the main() function once. It's not really clear why this isn't done on VO creation instead. Maybe one reason was that --no-fixed-vo used to be the default: when playing a new file, the full VO state would be free'd and recreated. Keeping the X11 connection possibly improved things, although the question is how. In summary, there is no good reason to do this, and it only adds platform specific details to the player frontend. Do the X11 initialization in the respective VOs instead.
* libmpcodecs: use 128 instead of 64 to define non-native RGB image formatsGravatar mplayer-svn2012-08-03
| | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34659 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: cehoyos
* vo_x11: X11 non-native RGB/BGR "emulation" only works for 32bitGravatar mplayer-svn2012-08-03
| | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34658 b3059339-0415-0410-9bf9-f77b7e298cf2 Author: cehoyos
* VO: remove VO direct renderingGravatar wm42012-08-02
| | | | | | | | | | | | | | | | | | | This was disabled by default, and could be enabled with -dr. It was disabled by default because it was buggy: there were issues with OSD corruption. It wasn't entirely sane for OpenGL based VOs either. OpenGL can chose to drop mapped pixel buffer objects, requiring the application to map and fill the buffer again. But there was no mechanism in mplayer to fill the lost buffer again. (It seems this rarely happened in practice, though.) On the other side, users liked the --dr flag, because it promised them more speed. I'm not sure if it actually helped with speed, but it's unlikely it had any real advantages on modern systems. In order to evade the --dr cargo culting in mplayer config files, it's best to get rid of it.
* Change <endian.h> include to <sys/types.h>Gravatar wm42012-07-31
| | | | | This seems to be more portable. Should fix compilation on OSX and FreeBSD. Apparently also works on MinGW-w64.
* Remove compile time/runtime CPU detection, and drop some platformsGravatar wm42012-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mplayer had three ways of enabling CPU specific assembler routines: a) Enable them at compile time; crash if the CPU can't handle it. b) Enable them at compile time, but let the configure script detect your CPU. Your binary will only crash if you try to run it on a different system that has less features than yours. This was the default, I think. c) Runtime detection. The implementation of b) and c) suck. a) is not really feasible (it sucks for users). Remove all code related to this, and use libav's CPU detection instead. Now the configure script will always enable CPU specific features, and disable them at runtime if libav reports them not as available. One implication is that now the compiler is always expected to handle SSE (etc.) inline assembly at runtime, unless it's explicitly disabled. Only checks for x86 CPU specific features are kept, the rest is either unused or barely used. Get rid of all the dump -mpcu, -march etc. flags. Trust the compiler to select decent settings. Get rid of support for the following operating systems: - BSD/OS (some ancient BSD fork) - QNX (don't care) - BeOS (dead, Haiku support is still welcome) - AIX (don't care) - HP-UX (don't care) - OS/2 (dead, actual support has been removed a while ago) Remove the configure code for detecting the endianness. Instead, use the standard header <endian.h>, which can be used if _GNU_SOURCE or _BSD_SOURCE is defined. (Maybe these changes should have been in a separate commit.) Since this is a quite violent code removal orgy, and I'm testing only on x86 32 bit Linux, expect regressions.
* vo_xv: avoid clearing too much on resizeGravatar Uoti Urpala2011-07-06
| | | | | | | | | | | | | vo_xv set the "use_fs" parameter to vo_x11_clearwindow_part(). This meant it always used the whole screen size to calculate the area to clear. I can't see why overriding the vo->dwidth/dheight values would ever be the right thing to do (if in fullscreen they should be set to match that), so remove the use_fs parameter and always use the dwidth/dheight values in the function. Also delete code drawing back borders in vo_xv_draw colorkey. That should already happen in vo_x11_clearwindow_part(); if it doesn't then things need to be fixed anyway because colorkey code only ran in fullscreen mode (but borders must work in window mode too).
* cleanup: shut up more warningsGravatar Clément Bœsch2011-05-06
|
* sub/OSD: move some related files to sub/Gravatar Uoti Urpala2011-01-26
|
* Delete things related to old translation systemGravatar Uoti Urpala2010-03-10
| | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* Merge svn changes up to r30195Gravatar Uoti Urpala2010-01-08
|\
| * Replace deprecated sws_scale_ordered usages by sws_scale (which does the same).Gravatar reimar2010-01-03
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30192 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29455Gravatar Uoti Urpala2009-07-29
|\|
| * Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.Gravatar diego2009-07-26
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29443 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove the internal GUIGravatar Anton Khirnov2009-07-07
| | | | | | | | | | | | | | | | | | The GUI is badly designed and too closely coupled to the internal details of other code. The GUI code is in bad shape and unmaintained for years. There is no indication that anyone would maintain it in the future either. Even if someone did volunteer to implement a better integrated GUI having the current code in the tree probably wouldn't help much. So get rid of it.
* | Remove trailing whitespace from most filesGravatar Uoti Urpala2009-07-07
| |
| * whitespace cosmetics: Remove all trailing whitespace.Gravatar diego2009-05-13
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge branch 'ordered_chapters'Gravatar Uoti Urpala2009-04-08
|\ \
| * | VO: Don't reset pause status in VO config() functionsGravatar Uoti Urpala2009-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | Many VOs kept track of pause status, but reset the value when their config() function was called. However it can be called while playback stays in pause mode. Modify the VOs to not change anything in config(). Also send the VO either VOCTRL_PAUSE or VOCTRL_RESUME when the playback of a new file is starting to make sure they have the right status.
* | | Merge svn changes up to r29117Gravatar Uoti Urpala2009-04-01
|\ \ \ | |/ / |/| / | |/
| * Consistently use MP_MAX_PLANES as size for plane pointer/stride arrays in libvo.Gravatar reimar2009-03-29
| | | | | | | | | | | | | | | | This might avoid some issues since sws_scale in some cases assumes these have at least 4 valid entries. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29101 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28537Gravatar Uoti Urpala2009-02-12
|\|
| * Add standard license headers, unify header formatting.Gravatar diego2009-02-08
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28481 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28204Gravatar Uoti Urpala2008-12-27
|\|
| * Remove pointless forward declaration.Gravatar diego2008-12-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28184 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28038Gravatar Uoti Urpala2008-11-25
|\|
| * Clear the whole window on resize in vo_x11 since we do notGravatar reimar2008-11-23
| | | | | | | | | | | | | | yet know how large the borders will be. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28011 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Simplify vo_x11 check_events functionGravatar reimar2008-11-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28010 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Do not draw in window if our image has not yet been adjusted to the new ↵Gravatar reimar2008-11-23
| | | | | | | | | | | | | | | | | | | | window size. Fixes some cases of borders not being black in fullscreen when fullscreen image is scaled down. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28009 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove unnecessary xf86vmode.h include.Gravatar reimar2008-11-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28008 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove some usnused variables and commented-out code.Gravatar reimar2008-11-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28007 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use aspect.c code in vo_x11.c. Removes some inconsistencies in -wid handling.Gravatar reimar2008-11-23
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28006 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27979Gravatar Uoti Urpala2008-11-22
|\|
| * Simplify handling of "flags" parameterGravatar reimar2008-11-21
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27977 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add forgotten initialization if Flip_Flag to 0.Gravatar reimar2008-11-21
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27976 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Factor common code like -wid handling, vo_gc creation etc. out intoGravatar reimar2008-11-19
| | | | | | | | | | | | | | x11_common.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27961 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27949Gravatar Uoti Urpala2008-11-17
|\| | | | | | | | | | | | | | | | | Conflicts: common.mak libvo/vo_xv.c libvo/x11_common.c libvo/x11_common.h stream/cache2.c
| * Remove explicit setting of vo_ontop since that is already done by ↵Gravatar reimar2008-11-15
| | | | | | | | | | | | vo_x11_create_vo_window git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27937 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove a duplicated vo_x11_selectinput_witherrGravatar reimar2008-11-15
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27936 b3059339-0415-0410-9bf9-f77b7e298cf2
| * respect -vf dsize etc. also for -rootwin, just like vo_xv does.Gravatar reimar2008-11-15
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27935 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove now unused variables.Gravatar reimar2008-11-15
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27926 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use vo_dwidth/vo_dheight for creating the windows instead of d_width/d_height.Gravatar reimar2008-11-15
| | | | | | | | | | | | | | This fixes the -vm bug that the created window is too small. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27925 b3059339-0415-0410-9bf9-f77b7e298cf2