summaryrefslogtreecommitdiff
path: root/libavdevice/alldevices.c
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 /libavdevice/alldevices.c
parentf359bac27cf2b9f1a70f38ece99e02b5b2f64c7b (diff)
downloadffmpeg-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 'libavdevice/alldevices.c')
-rw-r--r--libavdevice/alldevices.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
index 282c50e56a..9164d681f1 100644
--- a/libavdevice/alldevices.c
+++ b/libavdevice/alldevices.c
@@ -53,6 +53,7 @@ void avdevice_register_all(void)
REGISTER_INDEV (DSHOW, dshow);
REGISTER_INDEV (DV1394, dv1394);
REGISTER_INOUTDEV(FBDEV, fbdev);
+ REGISTER_INDEV (GDIGRAB, gdigrab);
REGISTER_INDEV (IEC61883, iec61883);
REGISTER_INDEV (JACK, jack);
REGISTER_INDEV (LAVFI, lavfi);