uint8_t buff[800 * 3];
uint8_t buff[ww * 3];
 uint8_t  COL_yv12rgbBMP(uint32_t ww, uint32_t hh, uint8_t* in, uint8_t *out) {	uint8_t *tmp;	tmp=(uint8_t *)ADM_alloc(ww*hh*4);	if( !tmp)		{			return 0;		}	COL_yv12rgb( ww,  hh, in, tmp);		// First pack it so that we go from RGB32 to RGB24	uint8_t *rin,*rout;		rin=rout=tmp;		for(uint32_t jj=ww*hh;jj>0;jj--)	{				*rout++=*rin++;		*rout++=*rin++;		*rout++=*rin++;		rin++;		}		// now revert RGB & up/down order	 // invert screen buffer + swap y  uint8_t *e,*write;  uint32_t w, y;  uint8_t buff[800 * 3];  w = ww*3;  e = tmp;  e += w * (hh - 1);  write=out;  y = (uint32_t) hh;  for (; y > 0; y--)    {      //      memcpy (buff, e, w);      swapRnB (buff, ww);      memcpy(write,buff,w);      e -= w;      write+=w;    }	ADM_dealloc(tmp);	return 1;}