[FFmpeg-devel] [PATCH] Add Win32 GDI-based screen grabbing

Calvin Walton calvin.walton at kepstin.ca
Mon Mar 24 21:32:11 CET 2014


On Fri, 2014-03-21 at 17:58 -0600, Roger Pack wrote:
> On 12/2/13, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:
> > Calvin Walton <calvin.walton <at> kepstin.ca> writes:
> >
> >> +    switch (bpp) {
> >> +    case 8:
> >> +        input_pixfmt = PIX_FMT_PAL8;
> >> +        /* TODO: read the palette, respond to changes. */
> >
> > If it does not work, please remove it.
> > In case you don't know what to do with
> > the palette, see the last hunk of f60c3a7c
> >
> >> +    case 32:
> >> +        input_pixfmt = PIX_FMT_RGB32;
> >
> > This should be FMT_BGR0 assuming Windows does
> > not support transparency on screen grabbing
> > and all pixel formats have an AV_ prefix now,
> > so AV_PIX_FMTBGR0
> 
> I'll take over and go ahead and do these small modifications next week
> sometime if there's no objection (don't want it to get stuck in the
> ML).
> Thanks!

I actually have a few updates that I'd been looking at; in particular, I
noted that since GDI produces DIBs - which are of course Windows BMP
files - it would be possible to remove all the pixel/palette handling
completely and simply get the DIB/BMP decoder in ffmpeg to handle it.
(Besides that, the patch on the list has a compilation error hanging
around...)

I think I have a working version of this patch around; I'll find it and
send a copy to the list.

As far as performance, I actually found that it's pretty good on modern
windows computers. The performance issues that I was seeing was solely
due to using Windows 8.1 on an laptop with older Intel integrated
graphics that didn't have a fully supported driver.

Calvin.
-- 
Calvin Walton <calvin.walton at kepstin.ca>



More information about the ffmpeg-devel mailing list