Commit Graph

20 Commits

Author SHA1 Message Date
wm4 738aeb1c60 screenshot: let VOs pass colorspace information via mp_image
This removes the hack that screenshot_save() got the colorspace
information from the decoder. Instead, require the VOs to set the
colorspace information on the mp_images used to pass around the
screenshot data. This is more correct, as the image may have been
converted/modified in the video filter chain, although there's
nothing yet in the video filter chain which does this correctly.
2012-11-01 02:07:45 +01:00
wm4 0e81d62c53 Merge branch 'master' into osd_changes
Conflicts:
	libvo/vo_xv.c
2012-10-24 22:38:45 +02:00
Stefano Pigozzi 281989d384 vo_corevideo: add screenshot capability
Added screenshot capability to the corevideo VO by sending back the raw data
from the CVPixelBuffer.

Also added "screenshot window" functionality from the other OpenGL based VOs,
which uses glReadPixels to read image data back. This was moved to gl_common to
avoid duplication.
2012-10-24 21:56:34 +02:00
wm4 4d11f32162 VO, sub: refactor
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.
2012-10-24 21:56:34 +02:00
wm4 fd5c4a1984 Remove things related to old OSD
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.
2012-10-24 21:56:33 +02:00
wm4 2cad0e35f6 vo_opengl: fix help output typo 2012-10-23 00:08:59 +02:00
wm4 4e89851aa1 Merge branch 'master' into osd_changes
Conflicts:
	Makefile
	command.c
	libvo/gl_common.c
	libvo/vo_corevideo.m
	libvo/vo_opengl.c
	libvo/vo_opengl_old.c
	libvo/vo_opengl_shaders.glsl
	sub/ass_mp.c
	sub/osd_libass.c
	sub/sd_ass.c
2012-10-16 07:30:30 +02:00
Stefano Pigozzi f5de0aac96 cocoa_common: use IOKit to perform power management
This allows to remove the call to the deprecated `UpdateSystemActivity`. The
additional benefit is power management is disabled only if the video is really
playing. A paused video will not stop the system from idling.
2012-10-16 07:19:32 +02:00
wm4 6557f206ef manpage: improvements to vo_opengl documentation
Mention the FBO format chaos.

Some other things were not entirely correct anymore.

Also update the "builtin" documentation in vo_opengl.c.
2012-10-15 00:28:59 +02:00
wm4 c176499925 vo_opengl: fix filter reinitialization
The second scaling filter (cscale) was never reset correctly due to a
fatal oversight. In particular, this could lead to OpenGL errors, if
the new filter needs a 2D texture, but the old texture was 1D (because
init_scaler reuses the texture).
2012-10-14 21:43:15 +02:00
wm4 65fc530f0c Rename to "mpv"
This changes the name of this project to mpv. Most user-visible mentions
of "MPlayer" and "mplayer" are changed to "mpv". The binary name and the
default config file location are changed as well.

The new default config file location is: ~/.mpv/

Remove etc/mplayer.desktop. Apparently this was for the MPlayer GUI,
which has been removed from mplayer2 ages ago.

We don't have a logo, and the MS Windows resource files sort-of require
one, so leave etc/mplayer.ico/.xpm as-is.

Remove the debian and rpm packaging scripts. These contained outdated
dependencies and likely were more harmful than useful. (Patches which
add working and well-tested packaging are welcome.)
2012-10-12 10:14:32 +02:00
wm4 bc97dab886 vo_opengl: don't try to map an empty buffer
The change detection signalled a full re-upload on initialization, but
no texture reallocation. Binding the uninitialized buffer caused an
OpenGL error.

Fixes error messages on start with "opengl-hq".
2012-10-03 03:17:54 +02:00
wm4 703e02a6ee vo_opengl: change default FBO format
GL_RGB16 doesn't seem to work universally (e.g. Intel). Use GL_RGB by
default, and use GL_RGB16 for "opengl-hq" only.

This may require users of Intel GPUs to manually experiment with the
fbo-format suboption when using "opengl-hq", as GL_RGB16 doesn't seem to
work there in some cases (black screen).
2012-10-03 03:17:53 +02:00
wm4 5d60ac11b5 vo_opengl: use PBOs by default with opengl-hq
It's not really known whether PBO use causes problems of any kind (most
likely not). They should slightly increase performance. Use them by
default with "opengl-hq".

Even though PBOs don't have anything to do with rendering quality,
"opengl-hq" provides a test bed for features that should be enabled by
default, but aren't out of fear for regressions.
2012-10-03 03:17:53 +02:00
wm4 47d15a5b6b vo_opengl: use low quality default settings, add opengl-hq alias
Change the default settings for vo_opengl to highest performance and
compatibility, but lowest quality. Use bilinear as default scaler.

Add "opengl-hq" as alias for high quality settings. This alias uses
exactly the same settings as vo_opengl did before this commit.
2012-10-03 03:17:53 +02:00
wm4 3cbce1eb07 VO: add mechanism to replace old VO names, use it with "gl" and "gl3"
Rather than duplicating the VO driver structs to add aliases, replace
them textually when searching for the VO on initialization.
2012-10-03 03:17:53 +02:00
wm4 d079395c5d vo_opengl: always check GL errors in first 5 frames
Normally, we don't want to call glGetError() all the time, because this
supposedly causes slowdowns. (I could not measure any on Linux with
nVidia binary drivers; maybe it's due to the fact that we have only a
few, expensive calls per frame.)

However, having to ask users to add the "debug" suboption when trying to
diagnose problems is very annoying. Since most errors happen during
initialization only, enabling it for the first 5 frames only is an
interesting compromise.
2012-10-03 03:17:39 +02:00
wm4 3611d1bf9b VO: actually rename VOs gl -> opengl-old, gl3 -> opengl
This renames vo_gl3 to vo_opengl, and makes it the default. The old
vo_gl is still available under "opengl-old".

We keep "gl3" as alias to "opengl" for short-term compatibility.

For OSX/Cocoa, the autoprobe order changes (prefer the "opengl" over
"opengl-old").

Remove "gl_nosw". This was a compatibility alias for "opengl-old", and
there's no point in keeping it.
2012-10-03 03:17:39 +02:00
wm4 4ecb1b53de VO: rename file: vo_gl3_shaders.glsl -> vo_opengl_shaders.glsl 2012-10-03 03:17:39 +02:00
wm4 7c6f229cbb VO: rename file: vo_gl3.c -> vo_opengl.c 2012-10-03 03:17:39 +02:00