1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-04 05:52:09 +00:00
Commit Graph

147 Commits

Author SHA1 Message Date
Uoti Urpala
34279a8ce3 cosmetics: remove some unused variables 2009-11-17 06:56:29 +02:00
Uoti Urpala
53ecafadc8 vo_vdpau: Check return value when setting video attributes
Check the return value when setting any video mixer attribute and
print an error message if the operation failed. Also simplify code by
changing update_csc_matrix() to use the utility function added for
this.
2009-11-17 06:25:15 +02:00
Uoti Urpala
b8861ce8e2 Support VDPAU MPEG4 hardware decoding
Original patch by NVIDIA.
2009-11-16 02:46:33 +02:00
Uoti Urpala
19b4d70e01 vo_vdpau: Remove custom help message
Remove the help text explaining -vo vdpau suboptions that was printed
in case of parsing errors. It did perhaps have some value, but there
are also reasons to remove it: it was printed in an ugly manner in the
middle of output, most other MPlayer options do not have such internal
help texts either, and it was detailed enough that it required
maintaining documentation about the options in two separate places
(the man page and the help message).
2009-11-16 00:50:01 +02:00
Uoti Urpala
14bb3416c7 vo_vdpau: Add support for high-quality scaling feature
Part of the code is currently under #ifdef to allow compilation with
older VDPAU library versions; that can be removed later.

Partially based on a patch by Carl Eugen Hoyos.
2009-11-15 18:39:48 +02:00
Uoti Urpala
82ee2e217f vo_vdpau: add support for VFCAP_FLIP
Patch by Carl Eugen Hoyos.
2009-11-15 17:05:29 +02:00
Uoti Urpala
7038c57a0c vo_vdpau: Free buffers allocated by FFmpeg on uninit 2009-11-15 17:05:29 +02:00
Uoti Urpala
98ee8dd159 Add yuv_colorspace property, implemented in vo_vdpau and vo_xv
Add a property to select YUV colorspace. Currently implemented only in
vo_vdpau and vo_xv. Allows switching between BT.601, BT.709 and
SMPTE-240M (vdpau only).

The xv support uses the "XV_ITURBT_709" attribute. At least my NVIDIA
card supports that; I don't know whether other xv implementations do.

Bind the colorspace switch to the 'c' key by default. 'c' is currently
used by vo_sdl for some fullscreen mode change thing, but at the moment
that does not conflict and if it will in the future then vo_sdl can
change.

VDPAU part based on a patch from Lauri Mylläri <lauri.myllari@gmail.com>
2009-11-15 17:03:41 +02:00
Uoti Urpala
201bef7ee1 Implement vsync-aware frame timing for VDPAU
Main things added are custom frame dropping for VDPAU to work around
the display FPS limit, frame timing adjustment to avoid jitter when
video frame times keep falling near vsyncs, and use of VDPAU's timing
feature to keep one future frame queued in advance.

NVIDIA's VDPAU implementation refuses to change the displayed frame
more than once per vsync. This set a limit on how much video could be
sped up, and caused problems for nearly all videos on low-FPS video
projectors (playing 24 FPS video on a 24 FPS projector would not work
reliably as MPlayer may need to slightly speed up the video for AV
sync). This commit adds a framedrop mechanism that drops some frames
so that no more than one is sent for display per vsync. The code
tries to select the dropped frames smartly, selecting the best one to
show for each vsync. Because of the timing features needed the drop
functionality currently does not work if the correct-pts option is
disabled.

The code also adjusts frame timing slightly to avoid jitter. If you
for example play 24 FPS video content on a 72 FPS display then
normally a frame would be shown for 3 vsyncs, but if the frame times
happen to fall near vsyncs and change between just before and just
after then there could be frames alternating between 2 and 4
vsyncs. The code changes frame timing by up to one quarter vsync
interval to avoid this.

The above functionality depends on having reliable vsync timing
information available. The display refresh rate is not directly
provided by the VDPAU API. The current code uses information from the
XF86VidMode extension if available; I'm not sure how common cases
where that is inaccurate are. The refresh rate can be specified
manually if necessary.

After the changes in this commit MPlayer now always tries to keep one
frame queued for future display using VDPAU's internal timing
mechanism (however no more than 50 ms to the future). This should make
video playback somewhat more robust against timing inaccuracies caused
by system load.
2009-11-15 12:45:58 +02:00
Uoti Urpala
b87ce8bc96 vo_vdpau: Modify frame buffering code
Clean up code related to frame buffering and generate pts information
also for the next frame in the output queue. The timing information
will be used in a following framedrop patch.

This commit adds one frame of buffering delay in vo_vdpau and
increases the number of buffered vdpau video surfaces from 3 to 4. The
delay increase makes it more important to fix remaining code in
MPlayer that doesn't deal well with filter/VO delay; OTOH it should
help any decoding/filtering parallelism in the underlying VDPAU
implementation as now filtering a frame for display can happen while
the next one is being decoded.
2009-11-15 12:45:47 +02:00
Uoti Urpala
37713cb3ec cosmetics: Add two missing "static"
Add missing 'static' to internal functions in vo_xv.c and vo_vdpau.c.
2009-10-22 04:45:31 +03:00
Uoti Urpala
3c70c5dc95 vo_vdpau: Fix X event handling bugs
check_events() first checked for a RESIZE event and called resize() if
needed, and then queued a frame to be reshown if in pause state and
the event was either RESIZE or EXPOSE. The most obvious problems with
the code were:
   - resize() already called flip_page() internally, so the code in
     check_events could lead to _two_ frames being queued.
   - The call in resize() didn't depend on pause status, so the
     behavior was inconsistent.
   - The code in check_events() actually queued the wrong output
     surface. It showed the same surface as flip_page() would show
     _next_, while it should have shown the previously shown one. This
     typically led to the screen contents changing to a previous
     state, as the new surface had not been initialized and had
     contents from a previous use.

Fix the double update. Make resize() also only immediately update the
video if paused (this also affects changing to/from fullscreen) and
otherwise leave the old window contents be until the next frame. Queue
the right frame in check_events(). Also make resize() a bit more
careful to only show contents if they were successfully updated
(though a case where we're paused without content to show shouldn't
normally happen).
2009-09-19 00:00:42 +03:00
Uoti Urpala
350fc4f5a2 core/VO: Allow VO drivers to add/modify frames
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.
2009-09-18 17:12:53 +03:00
Uoti Urpala
74619f275e VO interface: Remove obsolete draw_frame() from new interface 2009-09-17 18:15:20 +03:00
Uoti Urpala
3b3dfc02ac vo_vdpau: Support recovering from VDPAU display preemption
Add code to reinitialize all VDPAU objects if a display preemption
condition occurs. Reinitializing them in the middle of playback will
cause video corruption at least until the next keyframe when using
hardware decoding, but decoding does seem to recover after a keyframe.
2009-09-07 03:12:02 +03:00
Uoti Urpala
d1c7ac9dbf vo_vdpau: Support updating OSD while paused 2009-09-05 06:33:33 +03:00
Uoti Urpala
1d54218465 vo_vdpau.c: Reindent control() switch statement 2009-09-05 06:25:55 +03:00
Uoti Urpala
d9cea6a98b vo_vdpau: Allocate one large surface for EOSD content
Create a single large bitmap surface for EOSD objects and pack all the
bitmap rectangles inside that. The old code created a separate bitmap
surface for every bitmap and then resized the cached surfaces when
drawing later frames. The number of surfaces could be large (at least
about 2000 for one sample subtitle script) so this was very
inefficient. The old code also used a very simple strategy for pairing
existing surfaces to new bitmaps; it could resize tiny surfaces to
hold large glyphs while using existing large surfaces to hold tiny
glyphs and as a result allocate arbitrarily much more total surface
area than was necessary.

The new code only supports using a single surface, freeing it and
allocating a larger one if necessary. It would be possible to support
multiple surfaces in case of hitting the maximum bitmap surface size,
but I'll wait to see if that is actually needed before implementing
it. NVIDIA seems to support bitmap surface sizes up to 8192x8192, so
it would take either a really pathological subtitle script rendered at
a high resolution or an implementation with lower limits before
multiple surfaces would be necessary.

The packing algorithm should successfully pack the bitmaps into a
surface of size w*h as long as the total area of the bitmaps does not
exceed 16/17 (w-max_bitmap_width)*(h-max_bitmap_height), so there
should be no totally catastrophic failure cases. The 16/17 factor
comes from approximate sorting used in the algorithm. On average
performance should be better than this minimum guaranteed level.
2009-09-05 06:25:47 +03:00
Uoti Urpala
575331d73c Merge branch 'vdpau_old' into vdpau 2009-08-31 22:18:51 +03:00
Uoti Urpala
84964c0dec vo_vdpau.c: cosmetics 2009-08-29 21:01:55 +03:00
Uoti Urpala
3013f956dc vo_vdpau: reindent after GUI code removal 2009-08-29 21:01:55 +03:00
Uoti Urpala
fa860a7ffa vo_vpdau: Clean up uninit logic 2009-08-29 21:01:55 +03:00
Uoti Urpala
e2e0d58407 vo_vdpau: Make CHECK_ST macro safer
Also contains a couple of changes in destroy_vdpau_objects.
2009-08-29 21:01:54 +03:00
Uoti Urpala
7d79dd972d vo_vdpau: Move all remaining static/global variables to context 2009-08-29 21:01:54 +03:00
Uoti Urpala
35dbbc9e31 vo_vdpau: Move things to context struct 2009-08-29 21:01:54 +03:00
Uoti Urpala
8a26256b87 vo_vdpau: Make info struct const 2009-08-29 21:01:54 +03:00
Uoti Urpala
3512f985e0 vo_vdpau: Replace global function table with context variable 2009-08-29 21:01:46 +03:00
Uoti Urpala
72527eea10 vo_vdpau: Move VDPAU interface pointers into one struct
Replace a bunch of vdp_* function pointer variables with one struct.
A variable that was before named "vdp_xyz" is now the struct field
"vdp.xyz".
2009-08-29 20:22:39 +03:00
Uoti Urpala
dc44507f2a vo_vdpau: Add template file for VDPAU functions
Add a template file that contains a single listing of various
information needed about the VDPAU interface functions, and is then
included multiple times to create required declarations and tables.
Previously some of the information needed to be duplicated for each of
those uses.
2009-08-29 20:18:42 +03:00
Uoti Urpala
09943048cb vo_vdpau: Make compile as new-style VO 2009-08-29 20:18:22 +03:00
Uoti Urpala
7ef7333e59 vo_vdpau: Delete GUI stuff, include font_load.h for force_load_font
font_load.h was previously included through gui/interface.h
2009-08-29 20:18:03 +03:00
Grigori Goronzy
1e98ef7789 Change type names to match upstream libass 2009-08-07 00:13:33 +03:00
Uoti Urpala
546c3fb53c Remove internal libass tree
Remove the libass/ directory and use the newest standalone version of
the library instead.
2009-07-26 20:22:43 +03:00
Anton Khirnov
87366694d8 Remove the internal GUI
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.
2009-07-07 21:49:42 +03:00
Uoti Urpala
0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
Uoti Urpala
1db1773ec2 Merge svn changes up to r29277 2009-05-08 23:50:26 +03:00
cehoyos
238df952ef Do not use flag CWBackPixel when calling vo_x11_create_vo_window():
It leads to VDPAU errors after video aspect ratio changes.

Patch by Stephen Warren.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29276 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-08 15:43:54 +00:00
Uoti Urpala
53eeb0e412 Merge branch 'ordered_chapters' 2009-04-08 02:43:44 +03:00
Uoti Urpala
7db6430959 VO: Don't reset pause status in VO config() functions
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.
2009-04-02 06:51:26 +03:00
Uoti Urpala
cf9edda1d3 Merge svn changes up to r29117 2009-04-01 02:43:47 +03:00
cehoyos
f7891c8e53 Support IMGFMT_NV12 for vo vdpau.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29109 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-30 21:17:42 +00:00
reimar
79568f8ea5 Make sure we do not accidentally use the vdp_get_error_string from the
previous initialization.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29106 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-30 12:11:12 +00:00
cehoyos
05be65cb86 Add support for IMGFMT_YUY2 and IMGFMT_UYVY to vo vdpau.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29105 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-29 19:43:52 +00:00
cehoyos
c7990f8893 VDPAU supports IMGFMT_I420 and IMGFMT_IYUV.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29104 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-29 19:25:22 +00:00
cehoyos
bdbf4f617d Cosmetics: Reindent after last commit.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29094 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-29 11:16:14 +00:00
cehoyos
aa549a325b 10l: Don't use MP_IMGFIELD_TOP_FIRST if MP_IMGFIELD_ORDERED is not set.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29093 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-29 11:15:22 +00:00
cehoyos
38116c1f73 Simplify vdpau deinterlacing code and fix timing for deint=2.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29061 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-25 23:32:27 +00:00
cehoyos
a0f0db79f4 New VDPAU deinterlacing code needs one reference surface less for software decoding.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29053 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-24 21:49:08 +00:00
cehoyos
c266ad4de4 New vdpau deinterlacing code needs one reference surface less.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29052 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-24 21:47:56 +00:00
cehoyos
7ab8e44842 Stephen Warren reported that VDPAU deinterlacing did not work correctly.
New static function push_deint_surface() by Reimar.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29051 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-24 21:45:39 +00:00
cehoyos
9e8112128e Change function call order in config().
This stops creating a window even if hardware decoding is certainly
going to fail.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29040 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-22 23:58:40 +00:00
cehoyos
9970706263 10l: Only try to create vdpau decoder if hardware decoding is intended.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29028 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-21 22:53:18 +00:00
cehoyos
a331f3fd15 Test if create_vdp_decoder() might succeed by calling it from config()
with a small value for max_reference_frames.
This does not make automatic recovery by using software decoder possible,
but lets MPlayer fail more graciously on - actually existing - buggy
hardware that does not support certain H264 widths when using
hardware accelerated decoding (784, 864, 944, 1024, 1808, 1888 pixels on
NVIDIA G98) and if the user tries to hardware-decode more samples at
the same time than supported.
Might break playback of H264 Intra-Only samples on hardware with very
little video memory.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29027 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-21 20:11:05 +00:00
cehoyos
9f47d4d37c Change return value for create_vdp_decoder().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29026 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-21 19:59:35 +00:00
cehoyos
8c820cce48 Factorize create_vdp_decoder().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29024 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-21 17:10:19 +00:00
cehoyos
115bfb9762 Allow to use vdpau temporal deinterlacers with hardware accelerated decoding.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28991 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-18 17:02:29 +00:00
cehoyos
02c87f0578 Add chroma-deint option to vo vdpau (nochroma-deint speeds up deinterlacing).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28979 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-16 23:03:18 +00:00
cehoyos
773c611884 Move initialisation of deint_surfaces[] to free_video_specific().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28971 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-15 22:19:05 +00:00
cehoyos
2ec3f259e5 Update -vo vdpau command line help.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28970 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-15 21:48:52 +00:00
cehoyos
7f3ddffb67 Cosmetics: Fix whitespace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28969 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-15 21:26:10 +00:00
cehoyos
e8113dc1c7 Initial support for advanced VDPAU deinterlacers (software-decoded video
only).

With a lot of help from Reimar


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28968 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-15 21:20:06 +00:00
Uoti Urpala
ae2faad666 Merge svn changes up to r28951 2009-03-14 23:52:45 +02:00
cehoyos
919793e643 Output number of reference frames before creating H264 vdpau decoder.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28927 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-09 23:46:28 +00:00
reimar
05119ecaf6 Make data related to suboption parsing const in libvo
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28863 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-07 08:51:40 +00:00
Uoti Urpala
e0172b96e3 Merge svn changes up to r28862 2009-03-07 01:04:41 +02:00
reimar
eb761e688f Remove duplicate OSD drawing introduced due to a conflict between r28840 and r28839.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28842 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-06 10:50:43 +00:00
reimar
d4748622fa As for vo_gl, do not rely on draw_osd to render EOSD.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28840 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-06 10:39:58 +00:00
greg
658bcd5e35 Draw EOSD with VOCTRL_DRAW_EOSD instead of along with OSD.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28839 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-06 10:38:27 +00:00
reimar
81ce92ba78 Make sure all output_surfaces are initialized in preinit.
Patch by Dan Oscarsson [Dan Oscarsson (at) tietoenator com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28809 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-04 19:37:07 +00:00
cehoyos
40fb81669a Use M_PI for pi.
Suggested by Reimar.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28764 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 15:45:24 +00:00
cehoyos
f099431791 Make VdpVideoMixerAttribute attributes[] static const.
Suggested by Reimar.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28763 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 15:42:17 +00:00
cehoyos
82ed008f7a Support brightness, contrast, hue and saturation adjustments via
custom color space conversion matrices in VDPAU.

Patch by Grigori Goronzy, greg A chown D ath D cx


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28760 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 13:20:01 +00:00
cehoyos
2661a2b7fc Fix OSD for vo vdpau:deint>1.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28759 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 13:02:52 +00:00
reimar
5437a538d5 Handle vdp_decoder_create failures better, in particular avoid unrelated
error messages and retry creating a decoder.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28758 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 10:43:28 +00:00
Uoti Urpala
0c6f667896 Merge svn changes up to r28755 2009-02-28 05:58:59 +02:00
cehoyos
b739f69217 Do not forget the chosen deinterlacer for -vo vdpau.
Make temporal deinterlacing standard when pressing "D" to activate
deinterlacer.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28744 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-27 21:55:28 +00:00
cehoyos
7c186eed15 Add one-field-only output for -vo vdpau.
Change syntax of -vo vdpau:deint for the last time.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28743 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-27 21:52:59 +00:00
cehoyos
317b16725c Document that all vdpau deinterlacers respect -field-dominance.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28742 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-27 21:46:13 +00:00
cehoyos
cd1dc957fe 10l: Remove debug printf() from last commit.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28737 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-26 19:34:04 +00:00
cehoyos
2614be14cc Support "D" to (de-)activate deinterlacing when using vo vdpau.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28736 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-26 18:20:32 +00:00
cehoyos
115c0fddae 10l: Add missing braces for VOCTRL_GET_EOSD_RES.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28734 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-25 15:17:14 +00:00
reimar
99caf8cc68 Change code to actually work when NUM_OUTPUT_SURFACES is changed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28731 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-25 12:01:00 +00:00
Uoti Urpala
54bb7a2582 Merge svn changes up to r28728 2009-02-25 05:03:51 +02:00
cehoyos
4cd920182b Cosmetics: Fix indentation and line length.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28724 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-24 22:45:29 +00:00
cehoyos
4cfb4ba7d8 Enable Bob de-interlacing for VDPAU.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28719 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-24 21:46:25 +00:00
Uoti Urpala
66f6f9f076 Merge svn changes up to r28712 2009-02-23 21:00:52 +02:00
reimar
53e6c7777e Only check for vdp_video_mixer_destroy failure when we actually executed that function.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28711 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-23 09:22:57 +00:00
reimar
51d0a5fcc1 EOSD/ASS support for vo_vdpau.c
Patch by Grigori G (greg <at> chown ath cx) with minor cosmetic changes by me.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28710 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-23 09:21:57 +00:00
reimar
adbe22d1b4 Add forgotten type to variable declaration.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28693 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 18:15:55 +00:00
Uoti Urpala
ebb541c655 Merge svn changes up to r28690 2009-02-21 17:39:30 +02:00
reimar
b588457f52 Document that and why deinterlacing is not working
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28674 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-20 10:00:15 +00:00
reimar
d6a97f889a Add support for VDPAU deinterlacing, pullup, denoise and sharpening.
Deinterlacing can not yet be toggled at runtime, and actually it does
not seem to work at all...


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28673 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-20 09:45:48 +00:00
Uoti Urpala
e46317a1db Merge svn changes up to r28655 2009-02-19 03:23:50 +02:00
reimar
60fa5a134d Add VOCAP_NOSLICES and use it to allow vo_vdpau to not support slices for
YV12 - since VDPAU only has functions to upload the full frame at once
there is no sense in supporting draw_slice for that.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28646 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-18 12:30:15 +00:00
Uoti Urpala
186e5a998c Merge svn changes up to r28641
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.
2009-02-18 01:45:36 +02:00
reimar
01ef7e4579 Extend calc_src_dst_rects to also calculate the border values needed for
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
2009-02-17 11:59:49 +00:00
reimar
7e9fd9351c Add support for VDPAU video out, including hardware decoding.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28617 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-16 20:58:13 +00:00