summaryrefslogtreecommitdiffstats
path: root/libvo/video_out.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'vdpau' into buildUoti Urpala2009-09-191-4/+47
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vdpau: (22 commits) VO: Prefer vo_vdpau over vo_xv again vo_vdpau: Fix X event handling bugs vo_vdpau: Fix memory corruption bug with MP_IMGTYPE_NUMBERED core/VO: Allow VO drivers to add/modify frames video_out.h: Cosmetics VO interface: Remove obsolete draw_frame() from new interface vo_vdpau: Support recovering from VDPAU display preemption vo_vdpau: Support updating OSD while paused vo_vdpau.c: Reindent control() switch statement vo_vdpau: Allocate one large surface for EOSD content vo_vdpau.c: cosmetics vo_vdpau: reindent after GUI code removal vo_vpdau: Clean up uninit logic vo_vdpau: Make CHECK_ST macro safer vo_vdpau: Move all remaining static/global variables to context vo_vdpau: Move things to context struct vo_vdpau: Make info struct const vo_vdpau: Replace global function table with context variable vo_vdpau: Move VDPAU interface pointers into one struct vo_vdpau: Add template file for VDPAU functions ...
| * VO: Prefer vo_vdpau over vo_xv againUoti Urpala2009-09-191-3/+3
| | | | | | | | | | vo_vdpau should now be fixed enough that it's a clearly better choice than vo_xv.
| * core/VO: Allow VO drivers to add/modify framesUoti Urpala2009-09-181-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add interfaces to allow VO drivers to add or remove frames from the video stream and to alter timestamps. Currently this functionality only works with in correct-pts mode. Use the new functionality in vo_vdpau to properly support frame-adding deinterlace modes. Frames added by the VDPAU deinterlacing code are now properly timed. Before every second frame was always shown immediately (probably next monitor refresh) after the previous one, even if you were watching things in slow motion, and framestepping didn't stop at them at all. When seeking the deinterlace algorithm is no longer fed a mix of frames from old and new positions. As a side effect of the changes a problem with resize events was also fixed. Resizing calls video_to_output_surface() to render the frame at the new resolution, but before this function also changed the list of history frames, so resizing could give an image different from the original one, and also corrupt next frames due to them seeing the wrong history. Now the function has no such side effects. There are more resize-related problems though that will be fixed in a later commit. The deint_mpi[] list of reserved frames is increased from 2 to 3 entries for reasons related to the above. Having 2 entries is enough when you initially get a new frame in draw_image() because then you'll have those two entries plus the new one for a total of 3 (the code relied on the oldest mpi implicitly staying reserved for the duration of the call even after usage count was decreased). However if you want to be able to reproduce the rendering outside draw_image(), relying on the explicitly reserved list only, then it needs to store 3 entries.
| * VO interface: Remove obsolete draw_frame() from new interfaceUoti Urpala2009-09-171-1/+4
| |
* | Merge svn changes up to r29644Uoti Urpala2009-09-041-3/+3
|\ \ | |/ |/|
| * Enable calc_src_dst_rects for windowed aspect and panscan.reimar2009-08-271-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29569 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-1/+0
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-3/+3
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-3/+3
| | | | | | | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* | video_out.c: Fix a minor memory leakUoti Urpala2009-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The code that loops over possible video output drivers and tries to find a working one does not free and reallocate the 'struct vo' if a driver's preinit() call fails, but just overwrites the same struct instead. This means that any memory the failing driver allocated as a talloc subcontext will not be freed immediately. This is not even a real leak as the memory will be freed once the VO is closed, but it's still nicer to free things immediately. Add talloc_free_children() to free any such talloc subcontexts that were created during the failing preinit().
* | Merge svn changes up to r29277Uoti Urpala2009-05-081-2/+2
|\|
| * Rename macosx video output driver to corevideo.diego2009-05-041-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29252 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Make VO xv preferred over vdpau againUoti Urpala2009-04-021-3/+3
| | | | | | | | | | I can still reproduce bugs easily with vo vdpau, and there's no pause update support for it yet.
* | Merge svn changes up to r29134Uoti Urpala2009-04-021-3/+3
|\|
| * Prefer vo vdpau over vo xv where available.cehoyos2009-03-311-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29118 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28951Uoti Urpala2009-03-141-0/+4
|\|
| * KVA vo driver for OS/2, patch by KO Myung-Hun, komh chollian netdiego2009-03-141-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28950 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28862Uoti Urpala2009-03-071-1/+1
|\|
| * Make WinID a 64 bit integer, this should avoid issues with valid Windowreimar2009-03-021-1/+1
| | | | | | | | | | | | | | handles on windows being interpreted as "no wid set". git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28795 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28690Uoti Urpala2009-02-211-3/+3
|\|
| * 100l, place vdpau below xv, it should not normally be preferred for ↵reimar2009-02-211-3/+3
| | | | | | | | | | | | auto-selection (yet). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28688 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28641Uoti Urpala2009-02-181-1/+17
|\| | | | | | | | | | | | | | | Convert vo_x11_border (used in vo_gl/gl2 though the vo_gl_border macro) to use a wrapper macro in old-style VOs which do not provide a VO object argument. Before this function had an explicit global_vo argument in vo_gl/gl2. New vo_vdpau uses it too so use the same mechanism as most other functions.
| * Extend calc_src_dst_rects to also calculate the border values needed forreimar2009-02-171-1/+11
| | | | | | | | | | | | | | correctly placed dvdnav highlights, and fix direct3d and vdpau accordingly. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28633 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Cropping parameter to calc_src_dst_rects is constreimar2009-02-171-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28626 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix compilation without VDPAUuau2009-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The commit adding vo_vdpau had two bugs that broke compilation when VDPAU was not enabled. - video_out.c used "#ifdef CONFIG_VDPAU", but it's always set to 0 or 1 - In configure, MPEG1_VDPAU_DECODER was dropped from the list of libavcodec codecs to disable when moving VDPAU-related ones from the always-disabled list to a conditinal one. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28620 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for VDPAU video out, including hardware decoding.reimar2009-02-161-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28617 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28549Uoti Urpala2009-02-131-0/+60
|\|
| * Add a calc_src_dst_rects that calculates from window size, panscan etc.reimar2009-02-121-0/+60
| | | | | | | | | | | | | | | | | | which part of the video source must be scaled onto which part of the window. Direct3D and (future) VDPAU need this, for XvMC it makes it easier to add cropping support and Xv is changed to keep the diff to XvMC small. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28546 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28537Uoti Urpala2009-02-121-3/+19
|\|
| * Add standard license headers, unify header formatting.diego2009-02-081-3/+19
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28481 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28403Uoti Urpala2009-01-311-1/+1
|\|
| * Make CONFIG_XVMC a proper FFmpeg-style 0/1 definition.diego2009-01-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28402 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28176Uoti Urpala2008-12-221-28/+39
|\| | | | | | | | | | | Conflicts: libvo/video_out.c libvo/x11_common.c
| * Add and use a special lookup function to do table-based translation to ↵reimar2008-12-201-0/+11
| | | | | | | | | | | | MPlayer keycodes. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28172 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Cosmetics: get rid of some tabs and trailing whitespace.reimar2008-12-201-32/+32
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28171 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28162Uoti Urpala2008-12-191-1/+1
|\|
| * xvmc is now a CONFIG_ option in FFmpeg.diego2008-12-151-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28154 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27979Uoti Urpala2008-11-221-0/+4
|\|
| * 100l, the video_out_drivers list must be sorted by priority, notreimar2008-11-181-3/+3
| | | | | | | | | | | | | | alphabetically. For now, vo_directx should be preferred over vo_direct3d. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27956 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Direct3D based video_out module.reimar2008-11-181-0/+4
| | | | | | | | | | | | | | | | Patch by Georgi Petrov (gogothebee gmail com) Panscan handling is still disabled and needs to be fixed for negative -panscan. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27955 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to 27824Uoti Urpala2008-10-251-1/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h libmpcodecs/dec_video.c libmpcodecs/vd.c libvo/x11_common.h mplayer.c stream/cache2.c
| * Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.diego2008-10-131-1/+1
| | | | | | | | | | | | | | This avoids a pointless indirection that only obscures what is really done. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27761 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27441Uoti Urpala2008-08-081-16/+20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cfg-common-opts.h command.c configure input/input.c libmpcodecs/dec_video.c libmpcodecs/vd.c libmpdemux/stheader.h libvo/sub.c libvo/video_out.c libvo/vo_xv.c libvo/vosub_vidix.c libvo/x11_common.c libvo/x11_common.h mp_core.h mplayer.c stream/stream.h
| * Rename all preprocessor directives related to Apple / Mac OS X.diego2008-08-061-2/+2
| | | | | | | | | | | | | | Switch them from a HAVE_ to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27420 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Rename preprocessor directives related to image libraries.diego2008-08-051-4/+4
| | | | | | | | | | | | | | Change a HAVE_ prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27417 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change a bunch of X11-specific preprocessor directives.diego2008-08-041-4/+4
| | | | | | | | | | | | | | Switch from a HAVE_ prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27409 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add video driver for Nintendo Wii/GameCube.ben2008-08-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original patch by Jing Liu <fatersh-1@yahoo.com>, based on vo_fbdev.c and adapted to Nintendo's specific GPU. This driver handles dedicated ATI GPU, which can be found in: - Nintendo GameCube (ATI LSI Flipper @ 162 MHz) - Nintendo Wii (ATI Hollywood @ 243 MHz) Flipper and Hollywood chipsets are pretty similar, except from clock speed: - Embedded framebuffer is 2MB. - Texture cache is 1MB. - Vertex cache is 0.1 MB. - Framebuffer is YUY2, not RGB. - Best resolution is 480p (854x480) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27407 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change a bunch of video/audio-output-specific preprocessor directives fromdiego2008-08-031-5/+5
| | | | | | | | | | | | | | a HAVE_ prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27402 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27399Uoti Urpala2008-08-021-23/+23
|\| | | | | | | | | | | | | | | | | | | Conflicts: libmpcodecs/vd.c libmpcodecs/ve_raw.c libvo/video_out.c libvo/x11_common.c mplayer.c
| * Change a bunch of video-output-specific preprocessor directives from a HAVE_diego2008-08-021-23/+23
| | | | | | | | | | | | | | prefix to a CONFIG_ prefix. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27397 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Create a context struct for OSD stateUoti Urpala2008-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit creates the struct and passes it to some functions that needs to access OSD state but does not yet move much data from globals to it. vf_expand accesses the OSD state for rendering purposes outside of the normal OSD draw time. The way this currently works is suboptimal, but I did not attempt to clean it up now. To keep things working the same way vf_expand needs to know the address of the state object to be able to access the data even in the functions that should normally not need it. For that purpose this commit adds a VFCTRL to tell vf_expand the address of the object.
* | Merge svn changes up to r27123Uoti Urpala2008-06-231-0/+2
|\| | | | | | | | | | | | | Conflicts: libmenu/menu_filesel.c libmenu/menu_pt.c
| * allow conditionnal compilation of yuv4mpeg video out.ben2008-06-201-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27103 b3059339-0415-0410-9bf9-f77b7e298cf2
* | libvo: Move aspect.c static variables to vo structUoti Urpala2008-05-011-4/+4
| | | | | | | |