bgr2rgb.c

来自「外国人写的一个很好的嵌入式视频采集源程序。」· C语言 代码 · 共 35 行

C
35
字号
/* bgr2rgb -> flips the frame as fast as possible (1 bgr field @ time) *//* Gleicon S. Moraes (gleicon@terra.com.br) *//* __asm__() fix  Marco Aurelio Casaroli (nada@onda.com.br) *//*  	usage:  bgr2rgb(unsigned char *buffer, unsigned int size);	compiler keys: NONE m0f0	*/#define bgr2rgb(a, b) __bgr2rgb_16(a, b) void __bgr2rgb_16 (unsigned char *b, unsigned int tam) {		__asm__	__volatile__ (" 		xorl %%ebx, %%ebx 	label:		movb (%1, %%ebx), %%al 		movb 2(%1, %%ebx), %%ah 		movb %%al, 2(%0, %%ebx) 		movb %%ah,(%0, %%ebx)		addl $3, %%ebx		decl %2		jnz label"		: "=r"(b)  				: "r" (b), "r" (tam) 		: "al", "ah", "ebx"); /* modify */}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?