void rgb16tobgr24(const uint8_t *src, uint8_t *dst, unsigned int src_size)

{

	const uint16_t *end;

	uint8_t *d = (uint8_t *)dst;

	const uint16_t *s = (const uint16_t *)src;

	end = s + src_size/2;

	while(s < end)

	{

		register uint16_t bgr;

		bgr = *s++;

		*d++ = (bgr&0xF800)>>8;

		*d++ = (bgr&0x7E0)>>3;

		*d++ = (bgr&0x1F)<<3;

	}

}

void rgb16tobgr24(const uint8_t *src, uint8_t *dst, unsigned int src_size)

{

	const uint16_t *end;

	uint8_t *d = (uint8_t *)dst;

	const uint16_t *s = (const uint16_t *)src;

	end = s + src_size/2;

	while(s < end)

	{

		register uint16_t bgr;

		bgr = *s++;

		*d++ = (bgr&0xF800)>>8;

		*d++ = (bgr&0x7E0)>>3;

		*d++ = (bgr&0x1F)<<3;

	}

}

void rgb16tobgr24(const uint8_t *src, uint8_t *dst, unsigned int src_size)
void FUNC_0(const uint8_t *VAR_0, uint8_t *VAR_1, unsigned int VAR_2)

{

	const uint16_t *VAR_3;

	uint8_t *d = (uint8_t *)VAR_1;

	const uint16_t *VAR_4 = (const uint16_t *)VAR_0;

	VAR_3 = VAR_4 + VAR_2/2;

	while(VAR_4 < VAR_3)

	{

		register uint16_t VAR_5;

		VAR_5 = *VAR_4++;

		*d++ = (VAR_5&0xF800)>>8;

		*d++ = (VAR_5&0x7E0)>>3;

		*d++ = (VAR_5&0x1F)<<3;

	}

}

void FUNC_0(const uint8_t *VAR_0, uint8_t *VAR_1, unsigned int VAR_2)
{ const uint16_t *VAR_3; uint8_t *d = (uint8_t *)VAR_1; const uint16_t *VAR_4 = (const uint16_t *)VAR_0; VAR_3 = VAR_4 + VAR_2/2; while(VAR_4 < VAR_3)
{ register uint16_t VAR_5; VAR_5 = *VAR_4++; *d++ = (VAR_5&0xF800)>>8; *d++ = (VAR_5&0x7E0)>>3; *d++ = (VAR_5&0x1F)<<3; } }