summaryrefslogtreecommitdiffstats
path: root/video
Commit message (Collapse)AuthorAgeFilesLines
* gl_common: improve Mesa compatibility for GL3 context creationwm42012-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't request CONTEXT_FORWARD_COMPATIBLE when creating a GL3 context on X11. This improves compatibility with some Mesa drivers. Setting this bit was originally intended to make the code compatible to newer (future, possibly not yet existing) OpenGL implementations. These implementations wouldn't have to support deprecated legacy GL features, which we know that we don't use, and could return a context with a higher OpenGL version than requested. In practice, this didn't work out. CONTEXT_FORWARD_COMPATIBLE requires the driver to explicitly disable deprecated functionality. If it doesn't do that, it has to reject context creation with that flag set. And it turns out there are Mesa drivers which suffer from this caveat. See [1]. This probably also means that a GL application with a fixed set of required GL features (such as a subset of GL 3.2 core, like vo_opengl.c) may need to probe several GL versions if drivers really start dropping legacy GL. On Windows, CONTEXT_FORWARD_COMPATIBLE is still set. It is not known if this is ideal, but fortunately there is no Mesa on Windows. CONTEXT_CORE_PROFILE is still always set. For requested GL versions lower than 3.2, this flag is ignored. Should we requires higher versions later, we want it to be set, so don't remove it. [1] https://bugs.freedesktop.org/show_bug.cgi?id=57241
* vf_softpulldown: fix possible regressionwm42012-11-201-1/+2
| | | | | | | | | The lines added with this commit were accidentally removed in commit a0d759, which was a pure cleanup commit merged from mplayer-svn. The difference between mplayer-svn and the mplayer2 base is that this filter has been made PTS aware in mplayer2. Also remove the redundant initialization of vf->priv->state.
* options: remove --displaywm42012-11-162-11/+1
| | | | | Was used to set the X11 display. XDisplayName(NULL) does the same, using the DISPLAY environment variable instead.
* video/filter: rename vf_eq2 to vf_eqwm42012-11-162-4/+4
| | | | | vf_eq was deleted earlier, which makes the name vf_eq2 even more awkward.
* vo_opengl: remove osdcolor suboptionwm42012-11-161-16/+0
| | | | | | This wasn't actually used since the old gray-alpha OSD rendering has been removed. Removing the documentation for the vo_opengl_old osdcolor suboption was forgotten as well.
* options, vo_x11: remove -zoom option, make it defaultwm42012-11-1613-51/+13
| | | | | | | | | | | | | | The -zoom option enabled scaling with vo_x11. Remove the -zoom option, and make its behavior default. Since vo_x11 has to use libswscale for colorspace conversion anyway, which doesn't do actual extra scaling when vo_x11 is run in windowed mode, there should be no speed difference with this change. The code removed from vf_scale attempted to scale the video to d_width/ d_height, which matters for anamorphic video and the --xy option only. vo_x11 can handle these natively. The only case for which the removed vf_scale code could matter is encoding with vo_lavc, but since that didn't set VOFLAG_SWSCALE, nothing actually changes.
* video: add IMGFMT_Y16/PIX_FMT_GRAY16wm42012-11-145-5/+26
| | | | | | | | | This pixel format is sometimes used with yuv4mpeg. vo_direct3d used its own IMGFMT_Y16 internally for some reason. vo_opengl, vo_opengl_old, and vo_direct3d should be able to display this pixel format natively.
* Improve compatibility with Libav 0.8.4 and ffmpeg 0.11.2wm42012-11-141-0/+1
| | | | | | | | | | | Libav 0.8.4 is ridiculously old (in relative terms), so I don't know how many things are broken silently. Encoding is disabled, because the required API hasn't been added yet. (On the other hand, the old API can't be used in newer versions.) This should improve compatibility with ffmpeg 0.11.2 as well, which didn't define AV_CODEC_ID_SUBRIP yet.
* clang: fix all warnings except deprecationsStefano Pigozzi2012-11-133-2/+6
|
* vf_dlopen: fix a typo in zeroing memory (thanks, pigoz)Rudolf Polzer2012-11-131-1/+1
| | | | Accidentally had put the & inside the sizeof call too. Typing too fast.
* win32: remove pointless get/release DC wrapperswm42012-11-123-32/+8
|
* Add missing compat/libav.h includeswm42012-11-122-0/+4
| | | | For avcodec_free_frame().
* Rename directories, move files (step 2 of 2)wm42012-11-1267-352/+348
| | | | | | | | | | | | Finish renaming directories and moving files. Adjust all include statements to make the previous commit compile. The two commits are separate, because git is bad at tracking renames and content changes at the same time. Also take this as an opportunity to remove the separation between "common" and "mplayer" sources in the Makefile. ("common" used to be shared between mplayer and mencoder.)
* Rename directories, move files (step 1 of 2) (does not compile)wm42012-11-1294-0/+36526
Tis drops the silly lib prefixes, and attempts to organize the tree in a more logical way. Make the top-level directory less cluttered as well. Renames the following directories: libaf -> audio/filter libao2 -> audio/out libvo -> video/out libmpdemux -> demux Split libmpcodecs: vf* -> video/filter vd*, dec_video.* -> video/decode mp_image*, img_format*, ... -> video/ ad*, dec_audio.* -> audio/decode libaf/format.* is moved to audio/ - this is similar to how mp_image.* is located in video/. Move most top-level .c/.h files to core. (talloc.c/.h is left on top- level, because it's external.) Park some of the more annoying files in compat/. Some of these are relicts from the time mplayer used ffmpeg internals. sub/ is not split, because it's too much of a mess (subtitle code is mixed with OSD display and rendering). Maybe the organization of core is not ideal: it mixes playback core (like mplayer.c) and utility helpers (like bstr.c/h). Should the need arise, the playback core will be moved somewhere else, while core contains all helper and common code.