tmp=(uint8_t *)malloc(ww*hh*3);
tmp=(uint8_t *)malloc(ww*hh*4);
 uint8_t  COL_yv12rgbBMP(uint32_t ww, uint32_t hh, uint8_t* in, uint8_t *out) {	uint8_t *tmp;	tmp=(uint8_t *)malloc(ww*hh*3);	if( !tmp)		{			return 0;		}	COL_yv12rgb( ww,  hh, in, tmp);	// 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;    }	free(tmp);	return 1;}