aboutsummaryrefslogtreecommitdiffhomepage
path: root/video/out
Commit message (Collapse)AuthorAge
* video: reduce error message when loading hwdec backend failsGravatar wm42015-06-20
| | | | | | | | | | | | | | | | | When using --hwdec=auto, about half of all systems will print: "[vdpau] Error when calling vdp_device_create_x11: 1" this happens because usually mpv will be linked against both vdpau and vaapi libs, but the drivers are not necessarily available. Then trying to load a driver will fail. This is a normal part of probing, but the error messages were printed anyway. Silence them by explicitly distinguishing probing. This pretty much goes through all the layers. We actually consider loading hw backends for vo_opengl always "auto probed", even if a hw backend is explicitly requested. In this case vd_lavc will print a warning message anyway (adjust this message a bit).
* x11: make screensaver failure message slightly more friendlyGravatar wm42015-06-20
|
* win32: remove a wine hackGravatar wm42015-06-20
| | | | | | | No particular reason, but it's still possible that it causes additional corner cases, and it's not really needed to test this on wine (other than testing fullscreen stuff, which should be done on a real Windows anyway).
* win32: prefer using internal variable for fullscreenGravatar wm42015-06-20
| | | | | | No particular reason, but since we already have an internal variable, it's better than using the option struct, which will be redone sooner or later.
* Various spelling fixesGravatar Marcin Kurczewski2015-06-18
| | | | Signed-off-by: wm4 <wm4@nowhere>
* win32: use atomics for COM interface refcountGravatar wm42015-06-14
|
* vo_drm: fixed crashes with --profile=pseudo-guiGravatar Marcin Kurczewski2015-06-13
|
* vo_opengl: fix a small memory leak when loading user shadersGravatar wm42015-06-09
| | | | | When gl_shader_cache was destroyed, existing user shader entries leaked the file path string.
* vo_opengl: fix dangling pointers with vo_cmdlineGravatar wm42015-06-09
| | | | | | | | | | | | gl_video_set_options() does not acquire ownership of the opts parameter or its contents. In case of vo_cmdline, opts will point to temporary memory. This memory will be free'd at a later point, and p->opts will point to free'd memory on the next reinitialization. The fix is pretty ugly, but it's a quick bug fix. This can probably be removed once VO sub-options are exposed as properties. Fixes #2035.
* gl_osd: fix license headerGravatar wm42015-06-08
| | | | | | | All vo_gl.c related code has been GPL+LGPL dual-licensed. The OSD code is no exception and is also derived from vo_gl.c. Thus it should have the same license (although I think technically speaking sub-licensing it by removing one of the licenses is ok).
* vo: clarify conditionGravatar wm42015-06-08
| | | | | This is (at least currently) redundant, but makes the code more explicit. (This was discussed on IRC.)
* vo: restore frame-drop logic for high-fps clipsGravatar Avi Halachmi (:avih)2015-06-07
| | | | | | | | | Commits 92b27be and f4ce99d removed high-fps logic to to a bug. That bug was a missing parenthesis around everything after duration >= 0 && ... at the removed code. This patch restores the removed code, fixes the bug and then refactors the code a bit.
* Revert "opengl: drop less frames when clip and display have similar fps"Gravatar wm42015-06-07
| | | | | | | This reverts commit f1746741dee6000b7fd139e7a10f72aba0674b3b. Together with the other revert, this fixes #2023 (the reason being broken framedrop handling - it was dropping frames when it shouldn't).
* Revert "vo: improve frame drop logic on high playback rate"Gravatar wm42015-06-07
| | | | This reverts commit ffcad1a72b9a3bf5a7ac5ddcbfa71ec19b6faf9b.
* vo_vdpau: add a NULL check, verify image dimensionsGravatar wm42015-06-06
| | | | | | | | read_output_surface() could fail and return NULL. Also, make sure we don't set the image to a size larger than the allocated size. Normally this shouldn't happen, but in theory it could in corner cases; this is for robustness.
* vo_vdpau: limit output surfaces to allowed maximum dimensionsGravatar wm42015-06-05
| | | | | | We can't do much in this case, but at least we can not call the vdpau API functions with too large sizes. Apparently the API considers this undefined behavior, and random stuff might happen.
* vo_vdpau: directly get surface size from surface for screenshotsGravatar wm42015-06-05
| | | | | | | The previous code was not wrong, but I'd claim this makes the code more robust. If a situation could happen in which the passed surface size is incorrect, we could have passed a too small image, and VdpOutputSurfaceGetBitsNative could have randomly overwritten memory.
* vo_vdpau: shorten 2 variable namesGravatar wm42015-06-05
| | | | Why should I be required to type so much?
* filter_kernels: distinguish between regular/EWA robidouxGravatar Niklas Haas2015-06-05
| | | | | This is because it turns out the regular robidoux is pretty useful for tscale etc.
* vo_vdpau: check maximum video sizeGravatar wm42015-06-04
| | | | | | | | | Check the maximum size of video surfaces, and refuse initialization if the video is too large for them. Maybe we could do something more sophisticated, like inserting a software scaler. On the other hand, this would have a very questionable benefit, as it would be guaranteed to be too slow.
* win32: fix window resize logicGravatar wm42015-05-31
| | | | | | Reconfiguring with the same video size should never cause the window to resize back to the video size (if the user changed its size). This was broken and it resized anyway.
* vo_opengl: output slightly more debugging info on backend probingGravatar wm42015-05-30
|
* vo: move up vo_wayland in autoprobe listGravatar wm42015-05-30
| | | | | When running on Wayland, and vo_opengl is not available or rejected for some reason, it's better to use vo_wayland instead of e.g. vo_x11.
* vo_drm: fix not using BUF_COUNTGravatar Marcin Kurczewski2015-05-29
|
* vo_drm: fix centering with regard to strideGravatar Marcin Kurczewski2015-05-29
|
* vo_opengl: avoid broken shader if hwdec fails to provide texturesGravatar wm42015-05-28
| | | | | | | | | | If gl_hwdec_driver.map_image fails, all textures will be set to 0. This in turn makes pass_prepare_src_tex() skip generation of the texture uniforms, which leads to a shader compilation error, as e.g. texture0 is not defined but expected to exist and accessed. Set the textures to an invalid non-0 ID instead. OpenGL can deal with it.
* vdpau: retrieve mixer parameters directly from the hw surfaceGravatar wm42015-05-28
| | | | | | | | | | | | Always configure the vdpau mixer based on the current surface sent to it. Before this, we just hardcoded the chroma type, and the surface size was essentially a guess. Calling VdpVideoSurfaceGetParameters() on every surface is a bit suspicious, but it appears it's a cheap function (just requiring some locks and a table lookup). This way we avoid creating another complicated mechanism to carry around the actual surface parameters with a mp_image/AVFrame.
* vo_drm: Expose mode ID option to usersGravatar Marcin Kurczewski2015-05-28
|
* vo_drm: Fix resolution not restored after exitingGravatar Marcin Kurczewski2015-05-28
|
* vo_drm: Fix stride problem for certain devicesGravatar Marcin Kurczewski2015-05-28
|
* vo_opengl: rename use_full_range to use_normalized_rangeGravatar wm42015-05-27
| | | | | As suggested by haasn. The term "full range" makes it sound like it has to do with TV vs. PC range, which is not the case at all.
* vo_opengl: fix source-shader + XYZ inputGravatar Niklas Haas2015-05-27
|
* vo_opengl: CMS no longer implies linear scalingGravatar Niklas Haas2015-05-27
| | | | | | | | | | | They're completely orthogonal concepts, merged in the past due to convenience and ease of implementing it in the old #ifdef hell renderer. Especially after the CMS stuff was generalized by 634b4a, this was a trivial change to implement and also means color management will be much higher quality when enabled with vo=opengl (which had quantization issues in the past due to the 8 bit FBO format and upscaling), since it can be done in a single pass now.
* vo_opengl: icc-profile overrides icc-profile-autoGravatar Niklas Haas2015-05-27
| | | | Signed-off-by: wm4 <wm4@nowhere>
* vo_opengl: add support for custom shadersGravatar Niklas Haas2015-05-27
|
* cocoa: don't load hardcoded icon if running from bundleGravatar Stefano Pigozzi2015-05-25
| | | Makes ricers happy.
* vo_null: add framerate emulationGravatar wm42015-05-24
|
* vo_opengl: switch to new OpenGL backend API for icc-profile-autoGravatar Niklas Haas2015-05-22
| | | | The current code just segfaults.
* vo_opengl: vda: make it work anywhereGravatar wm42015-05-21
| | | | | | | | A rather dumb hack to copy the problematic rectangle textures (mandated by VDA) into 2D ones. (This isn't done yet for OpenGL 3.0+. We need to make sure the performance isn't reduced too much by it.)
* video: do not align source position to 2Gravatar wm42015-05-21
| | | | | vo_direct3d still seems to require this (tested on Windows 8.1 with Intel graphics). Do it in vo_direct3d instead of messing with all VOs.
* vo_opengl: remove npot optionGravatar wm42015-05-21
| | | | Completely useless.
* vo_xv: make number of buffers configurableGravatar wm42015-05-20
|
* x11: never forcefully terminate xdg-screensaver processGravatar wm42015-05-18
| | | | | | It sometimes happens on exit, and it's probably a bad idea. If the process hangs on exit (possibly due to stupid hardcoded timeouts it's doing), mpv will also hang now, unfortunately.
* x11: attempt to make initial fullscreening more reliableGravatar wm42015-05-15
| | | | | | | | | | | | | | It appears some WMs have a problem with out method of setting initial fullscreen mode. We assume that if the window's _NET_WM_STATE includes _NET_WM_STATE_FULLSCREEN before mapping the window, the WM will show it as fullscreen at mapped. EWMH doesn't say anything that this should work, although one could argue that it's implied. In any case, since it's not standard behavior without at least some doubt, it's probably a good idea to try the "old" method as well. Fortunately, it should be idempotent. See #1937, #1920.
* vo: remove suspicious lineGravatar wm42015-05-15
| | | | | pts can never be 0 or negative. If there is no frame, some code below catches this case by checking hasframe.
* Remove trailing whitespacesGravatar Michael Vetter2015-05-15
|
* vo_opengl: hardcode rquested GL version in backendsGravatar wm42015-05-14
| | | | | The requested version field didn't make much sense anymore, and was even partially ignored by some backends.
* x11: use new OpenGL backend APIGravatar wm42015-05-14
|
* vo_opengl: create new API for OpenGL VO backendsGravatar wm42015-05-14
| | | | | | | | | | An attempt to get rid of the weird mix of callbacks that take either struct vo or MPGLCopntext as parameter. This is not perfect, and the API will probably change a bit until all other code is ported to it. the main question is how to separate struct vo completely from the windowing code, which actually needs vo for very little. In the end, the legacy callbacks will be dropped.
* vo_opengl: change user options for requesting GLESGravatar wm42015-05-14
| | | | | | | | Instead of having separate backends, make use of GLES a flag. This reduces the number of backends and the resulting annoyances. Also, nobody cares about using GLES, so there's no backward compatibility either.