summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorCalvin Walton <calvin.walton@kepstin.ca>2014-04-02 14:53:10 -0400
committerMichael Niedermayer <michaelni@gmx.at>2014-04-03 00:41:45 +0200
commit08909fb56b4f50ed82534a9e56c56ad02d72a45e (patch)
tree742687f483d6def79d8601843b2a08eb10511fb3 /configure
parentf359bac27cf2b9f1a70f38ece99e02b5b2f64c7b (diff)
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-xconfigure5
1 files changed, 5 insertions, 0 deletions
diff --git a/configure b/configure
index 848dc7e1e6..46452ee443 100755
--- a/configure
+++ b/configure
@@ -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