pWorkrow = pData->pWorkrow + 1;
pWorkrow = pData->pWorkrow + pData->iPixelofs;
mng_retcode store_jpeg_g8_a2 (mng_datap pData){  mng_imagedatap pBuf = (mng_imagedatap)pData->pStorebuf;  mng_uint8p     pWorkrow;  mng_uint8p     pOutrow;  mng_int32      iX;  mng_uint8      iB;  mng_uint8      iM;  mng_uint32     iS;#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_STORE_JPEG_G8_A2, MNG_LC_START)#endif  pWorkrow = pData->pWorkrow + 1;      /* temporary work pointers */  pOutrow  = pBuf->pImgdata + (pData->iRow * pBuf->iRowsize   ) +                              (pData->iCol * pBuf->iSamplesize) + 1;  iM       = 0;                        /* start at pixel 0 */  iB       = 0;  iS       = 0;  for (iX = 0; iX < pData->iRowsamples; iX++)  {    if (!iM)                           /* mask underflow ? */    {      iB = *pWorkrow;                  /* get next input-byte */      pWorkrow++;      iM = 0xC0;      iS = 6;    }    switch ((iB & iM) >> iS)           /* determine the alpha level */    {      case 0x03 : { *pOutrow = 0xFF; break; }      case 0x02 : { *pOutrow = 0xAA; break; }      case 0x01 : { *pOutrow = 0x55; break; }      default   : { *pOutrow = 0x00; }    }    pOutrow += 2;                      /* next pixel */    iM >>= 2;    iS -= 2;  }#ifdef MNG_SUPPORT_TRACE  MNG_TRACE (pData, MNG_FN_STORE_JPEG_G8_A2, MNG_LC_END)#endif  return next_jpeg_alpharow (pData);   /* we've got one more row of alpha-samples */}