1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-23 00:06:56 +00:00
mpv/libvo
wm4 7c6a4e1e98 vo_direct3d: implement screenshots
There are 4 code paths when taking a screenshot:
- textured rendering mode
- StretchRect rendering mode with planar formats
- StretchRect with packed formats
- full-window screenshot mode

The implementation of the full-window mode (capturing the window contents,
instead of the video) is very inefficient: it will create a surface of
desktop size, copy the desktop contents, allocate a new memory image, and
copy in the window contents. The code in screenshot.c will (as of now)
allocate and convert the image from BGR to RGB, and allocate a destination
buffer for the libavcodec PNG writer.

If parts of the mplayer window are obscured, the full-window mode wil
contain these parts as seen on the screen. Parts of the window that are
outside the bounds of the desktop are clipped away. It is not known
whether full-window mode works on multi-monitor setups.
2012-03-17 21:06:30 +01:00
..
aclib_template.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
aclib.c Merge svn changes up to r30185 2010-01-08 01:36:05 +02:00
aspect.c VO: silence "[ASPECT] Warning: No suitable new res found!" 2011-07-05 00:38:34 +03:00
aspect.h Merge svn changes up to r29644 2009-09-04 19:49:35 +03:00
cocoa_common.h vo_gl: cocoa: point swapinterval to cocoa_common function 2011-12-06 23:11:50 +01:00
cocoa_common.m vo_gl: cocoa: point swapinterval to cocoa_common function 2011-12-06 23:11:50 +01:00
csputils.c vo_gl: improve 10-bit YUV->RGB conversion accuracy slightly 2012-03-09 20:48:55 +02:00
csputils.h vo_gl: improve 10-bit YUV->RGB conversion accuracy slightly 2012-03-09 20:48:55 +02:00
d3d_shader_yuv_2ch.h vo_direct3d: add hack for using 2 channel textures for 10 bit pixel formats 2012-03-17 21:06:28 +01:00
d3d_shader_yuv.h vo_direct3d: implement YUV conversion using shaders 2012-03-17 21:05:34 +01:00
d3d_shader_yuv.hlsl vo_direct3d: add hack for using 2 channel textures for 10 bit pixel formats 2012-03-17 21:06:28 +01:00
eosd_packer.c libvo, vo_vdpau: make the EOSD packer code from vo_vdpau generic 2011-12-25 20:42:18 +01:00
eosd_packer.h libvo, vo_vdpau: make the EOSD packer code from vo_vdpau generic 2011-12-25 20:42:18 +01:00
fastmemcpy.h Fix compilation with --disable-fastmemcpy on x86 2010-05-11 09:23:31 +00:00
geometry.c Add support for -geometry x syntax since the documentation claims 2010-06-05 06:28:58 +00:00
geometry.h
gl_common.c vo_gl: add "backend" suboption to allow selecting the GUI backend 2012-02-09 04:58:41 +01:00
gl_common.h vo_gl: add "backend" suboption to allow selecting the GUI backend 2012-02-09 04:58:41 +01:00
gtf.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
gtf.h
matrixview_font.h Add missing license headers for vo_matrixview code. 2010-01-04 13:05:52 +00:00
mga_template.c mpcodecs: remove mp_image_t.x/y 2012-02-24 15:25:22 +01:00
old_vo_defines.h
old_vo_wrapper.c libvo: remove title argument from struct vo_driver.config 2011-12-06 20:32:33 +01:00
old_vo_wrapper.h libvo: remove title argument from struct vo_driver.config 2011-12-06 20:32:33 +01:00
osd_template.c
osd.c Add missing RGB12 version of the fast OSD table. 2010-05-26 00:47:22 +00:00
osd.h Add support for 12-bit color mode on framebuffer devices. 2010-05-06 10:18:25 +00:00
osx_common.c input: move all key code lists to input/keycodes.h 2011-05-02 00:43:31 +03:00
osx_common.h Refactor OS X foreground process setting into a separate function. 2010-03-26 15:02:14 +00:00
sdl_common.c vo: sdl: handle key modifiers 2011-10-24 07:21:32 +03:00
sdl_common.h vo_gl/sdl: use desktop resolution for fullscreen mode 2011-10-24 06:18:29 +03:00
spuenc.c Move struct typedef pixbuf into the only .c file where it is used. 2010-02-16 19:39:30 +00:00
spuenc.h Move struct typedef pixbuf into the only .c file where it is used. 2010-02-16 19:39:30 +00:00
vdpau_template.c vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
vesa_lvo.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vesa_lvo.h vesa_lvo.c: make functions static 2010-11-02 04:16:56 +02:00
video_out_internal.h cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
video_out.c vo_direct3d: disable using shaders by default, and add direct3d_shaders VO 2012-03-17 21:05:39 +01:00
video_out.h vo: reject vo_redraw_frame() if no frames have been drawn 2012-02-28 03:17:25 +02:00
videodev_mjpeg.h
vo_3dfx.c vo_dga: replace xf86dga.h with Xxf86dga.h 2011-04-20 04:22:53 +03:00
vo_aa.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vo_bl.c
vo_caca.c input: move all key code lists to input/keycodes.h 2011-05-02 00:43:31 +03:00
vo_corevideo.h vo_corevideo.h: Add standard multiple inclusion guards 2010-11-02 04:16:46 +02:00
vo_corevideo.m vo_corevideo: fix key interpretation with modifiers 2011-11-26 20:04:16 +02:00
vo_dfbmga.c cleanup: some warning fixes and minor cleanups 2011-06-29 09:17:19 +03:00
vo_dga.c vo_dga: replace xf86dga.h with Xxf86dga.h 2011-04-20 04:22:53 +03:00
vo_direct3d.c vo_direct3d: implement screenshots 2012-03-17 21:06:30 +01:00
vo_directfb2.c mpcodecs: remove mp_image_t.x/y 2012-02-24 15:25:22 +01:00
vo_directx.c vo_directx: do not clip overlay against screen size 2012-03-17 20:58:16 +01:00
vo_dxr3.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_fbdev2.c cleanup: vo_fbdev: simplify some code 2011-05-02 00:36:20 +03:00
vo_fbdev.c Merge branch 'mplayer1_changes' 2011-05-02 00:46:03 +03:00
vo_ggi.c input: move all key code lists to input/keycodes.h 2011-05-02 00:43:31 +03:00
vo_gif89a.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
vo_gl.c Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
vo_ivtv.c ao_ivtv: Add header for ivtv_write() instead of forward declaring it 2010-11-02 04:09:18 +02:00
vo_ivtv.h vo_ivtv; Move ivtv_fd extern variable declaration to vo_ivtv.h 2010-11-02 04:16:46 +02:00
vo_jpeg.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
vo_kva.c mpcodecs: remove mp_image_t.x/y 2012-02-24 15:25:22 +01:00
vo_md5sum.c cleanup: vo_md5sum: Remove unused define/undef 2011-01-31 16:03:10 +02:00
vo_mga.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_mpegpes.c cleanup: silence some clang warnings 2011-07-06 13:01:08 +03:00
vo_null.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
vo_png.c vo_png: set AVCodecContext parameters before opening it 2012-02-28 22:17:24 +02:00
vo_pnm.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
vo_quartz.c input: move all key code lists to input/keycodes.h 2011-05-02 00:43:31 +03:00
vo_s3fb.c cleanup: mark some vo_directfb2.c and vo_s3fb.c functions static 2011-06-29 11:43:19 +03:00
vo_sdl.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vo_svga.c mpcodecs: remove mp_image_t.x/y 2012-02-24 15:25:22 +01:00
vo_tdfx_vid.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
vo_tdfxfb.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_tga.c vo_tga: specify 15 bpp tga format endianness 2010-11-02 04:14:44 +02:00
vo_v4l2.c Merge svn changes up to r30694 2010-03-10 01:01:15 +02:00
vo_v4l2.h vo_v4l2: Move v4l2_fd extern declaration to vo_v4l2.h 2010-11-02 04:16:46 +02:00
vo_vdpau.c Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
vo_vesa.c vidix: drop VIDIX support 2011-01-31 16:03:10 +02:00
vo_wii.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_x11.c vo_xv: avoid clearing too much on resize 2011-07-06 08:36:46 +03:00
vo_xmga.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_xover.c libvo: remove UNUSED() macros 2010-11-02 04:18:08 +02:00
vo_xv.c Merge remote-tracking branch 'wm4/window_title' 2011-12-07 00:13:51 +02:00
vo_xvr100.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
vo_yuv4mpeg.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
w32_common.c win32: fix fullscreen not working on Windows 7 2012-03-17 21:06:30 +01:00
w32_common.h 100l, forgot to apply vo_w32_get_dc/vo_w32_release_dc declarations in w32_common.h 2009-11-22 14:46:43 +00:00
x11_common.c x11: fix crash when using switch_video (broken by UTF-8 input changes) 2012-02-24 09:39:00 +01:00
x11_common.h x11: allow unicode input 2012-01-18 04:13:27 +01:00