diff options
author | Calvin Walton <calvin.walton@kepstin.ca> | 2014-04-02 14:53:10 -0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-04-03 00:41:45 +0200 |
commit | 08909fb56b4f50ed82534a9e56c56ad02d72a45e (patch) | |
tree | 742687f483d6def79d8601843b2a08eb10511fb3 /configure | |
parent | f359bac27cf2b9f1a70f38ece99e02b5b2f64c7b (diff) | |
download | ffmpeg-08909fb56b4f50ed82534a9e56c56ad02d72a45e.tar.gz |
Add Win32 GDI-based screen grabbing
Based on original code by Christophe Gisquet in 2010, updated to work
with current ffmpeg APIs.
Supports grabbing a single window or an area of the screen, including
support for multiple monitors (Windows does funky stuff with negative
coordinates here).
I've moved most of the configuration to AVOptions; the input file name
is now only the string "desktop", or "title=<windowname>" to select a
single window. The AVOptions are the same as x11grab where possible.
Code has been added to support a "show_region" mode, like x11grab, which
will draw a rectangle on the screen around the area being captured.
Instead of duplicating code for paletted image handling, I make use of
the GDI API's ability to output DIB (BMP) images, which can be run
through ffmpeg's existing BMP decoder.
Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -2349,6 +2349,9 @@ dv1394_indev_deps="dv1394" dv1394_indev_select="dv_demuxer" fbdev_indev_deps="linux_fb_h" fbdev_outdev_deps="linux_fb_h" +gdigrab_indev_deps="CreateDIBSection" +gdigrab_indev_extralibs="-lgdi32" +gdigrab_indev_select="bmp_decoder" iec61883_indev_deps="libiec61883" jack_indev_deps="jack_jack_h sem_timedwait" lavfi_indev_deps="avfilter" @@ -4741,6 +4744,8 @@ require Xext X11/extensions/XShm.h XShmCreateImage -lXext && require Xfixes X11/extensions/Xfixes.h XFixesGetCursorImage -lXfixes && { enabled xlib || die "ERROR: Xlib not found"; } +check_func_headers "windows.h" CreateDIBSection "$gdigrab_indev_extralibs" + enabled vaapi && check_lib va/va.h vaInitialize -lva || disable vaapi |