Add Win32 GDI-based screen grabbing
authorCalvin Walton <calvin.walton@kepstin.ca>
Wed, 2 Apr 2014 18:53:10 +0000 (14:53 -0400)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 2 Apr 2014 22:41:45 +0000 (00:41 +0200)
commit08909fb56b4f50ed82534a9e56c56ad02d72a45e
tree742687f483d6def79d8601843b2a08eb10511fb3
parentf359bac27cf2b9f1a70f38ece99e02b5b2f64c7b
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>
Changelog
configure
doc/general.texi
doc/indevs.texi
libavdevice/Makefile
libavdevice/alldevices.c
libavdevice/gdigrab.c [new file with mode: 0644]