resizing?

Maarten Lankhorst m.b.lankhorst at gmail.com
Thu May 5 18:07:57 CDT 2005


static void Resize(CaptureBox * capBox, LPBYTE output, LPBYTE input)
{
   if (!capBox->swresize) {
      int depth = capBox->bitDepth / 8;
      int inoffset = 0, outoffset = (capBox->height-1) * capBox->width * 
depth;
      int ow = capBox->width * depth;
      while (outoffset >= 0) {
         int x;
         outoffset -= ow;
         for (x = 0; x < ow; x++)
            output[outoffset + x] = input[inoffset + x];
         inoffset += ow;
      }
   } else {
      FIXME("Software scaling not supported, I got no clue how and 
no-one wants to help so adding gray instead...\n");
      memset(output, 128, capBox->outputwidth * capBox->outputheight * 
capBox->bitDepth / 8);
   }
}

I want to copy from a raw bitmap stream which is (capBox->width) x 
(capBox->height) (24 bits) to (capBox->outputwidth) x 
(capBox->outputheight) (also 24 bits), if you can argue about HAVE_V4L2 
this should be easy :) I *really* need this fixed, any info is greatly 
appreciated.. gluScaleImage seemed ideal, but a qcap linking to glu32 
would never make it to the wine source.. so a more windows-compliant(TM) 
solution(R) is required, since I'm a disaster in win32 programming best 
would be instant code of which i only need to change variable names or 
something (yet ironically enough i know too much of com, directshow & 
devenum already :-\ )

THANKS!!

Maarten



More information about the wine-devel mailing list