diff options
author | Calvin Walton <calvin.walton@kepstin.ca> | 2014-04-02 22:53:10 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-04-03 02:41:45 +0400 |
commit | 08909fb56b4f50ed82534a9e56c56ad02d72a45e (patch) | |
tree | 742687f483d6def79d8601843b2a08eb10511fb3 /libavdevice/alldevices.c | |
parent | f359bac27cf2b9f1a70f38ece99e02b5b2f64c7b (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 'libavdevice/alldevices.c')
-rw-r--r-- | libavdevice/alldevices.c | 1 |
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); |