29 static inline void rgb24tobgr32_c(
const uint8_t *src, uint8_t *dst,
int src_size)
32 const uint8_t *s = src;
53 static inline void rgb32tobgr24_c(
const uint8_t *src, uint8_t *dst,
int src_size)
56 const uint8_t *s = src;
84 static inline void rgb15to16_c(
const uint8_t *src, uint8_t *dst,
int src_size)
86 register const uint8_t* s=src;
87 register uint8_t* d=dst;
88 register const uint8_t *end;
89 const uint8_t *mm_end;
93 register unsigned x= *((
const uint32_t *)s);
94 *((uint32_t *)d) = (x&0x7FFF7FFF) + (x&0x7FE07FE0);
99 register unsigned short x= *((
const uint16_t *)s);
100 *((uint16_t *)d) = (x&0x7FFF) + (x&0x7FE0);
104 static inline void rgb16to15_c(
const uint8_t *src, uint8_t *dst,
int src_size)
106 register const uint8_t* s=src;
107 register uint8_t* d=dst;
108 register const uint8_t *end;
109 const uint8_t *mm_end;
114 register uint32_t x= *((
const uint32_t*)s);
115 *((uint32_t *)d) = ((x>>1)&0x7FE07FE0) | (x&0x001F001F);
120 register uint16_t x= *((
const uint16_t*)s);
121 *((uint16_t *)d) = ((x>>1)&0x7FE0) | (x&0x001F);
125 static inline void rgb32to16_c(
const uint8_t *src, uint8_t *dst,
int src_size)
127 const uint8_t *s = src;
129 uint16_t *d = (uint16_t *)dst;
133 register int rgb = *(
const uint32_t*)s; s += 4;
134 *d++ = ((rgb&0xFF)>>3) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>8);
138 static inline void rgb32tobgr16_c(
const uint8_t *src, uint8_t *dst,
int src_size)
140 const uint8_t *s = src;
142 uint16_t *d = (uint16_t *)dst;
145 register int rgb = *(
const uint32_t*)s; s += 4;
146 *d++ = ((rgb&0xF8)<<8) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>19);
150 static inline void rgb32to15_c(
const uint8_t *src, uint8_t *dst,
int src_size)
152 const uint8_t *s = src;
154 uint16_t *d = (uint16_t *)dst;
157 register int rgb = *(
const uint32_t*)s; s += 4;
158 *d++ = ((rgb&0xFF)>>3) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>9);
162 static inline void rgb32tobgr15_c(
const uint8_t *src, uint8_t *dst,
int src_size)
164 const uint8_t *s = src;
166 uint16_t *d = (uint16_t *)dst;
169 register int rgb = *(
const uint32_t*)s; s += 4;
170 *d++ = ((rgb&0xF8)<<7) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>19);
174 static inline void rgb24tobgr16_c(
const uint8_t *src, uint8_t *dst,
int src_size)
176 const uint8_t *s = src;
178 uint16_t *d = (uint16_t *)dst;
184 *d++ = (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8);
188 static inline void rgb24to16_c(
const uint8_t *src, uint8_t *dst,
int src_size)
190 const uint8_t *s = src;
192 uint16_t *d = (uint16_t *)dst;
198 *d++ = (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8);
202 static inline void rgb24tobgr15_c(
const uint8_t *src, uint8_t *dst,
int src_size)
204 const uint8_t *s = src;
206 uint16_t *d = (uint16_t *)dst;
212 *d++ = (b>>3) | ((g&0xF8)<<2) | ((r&0xF8)<<7);
216 static inline void rgb24to15_c(
const uint8_t *src, uint8_t *dst,
int src_size)
218 const uint8_t *s = src;
220 uint16_t *d = (uint16_t *)dst;
226 *d++ = (b>>3) | ((g&0xF8)<<2) | ((r&0xF8)<<7);
251 static inline void rgb15tobgr24_c(
const uint8_t *src, uint8_t *dst,
int src_size)
255 const uint16_t *s = (
const uint16_t*)src;
256 end = s + src_size/2;
258 register uint16_t bgr;
260 *d++ = (bgr&0x1F)<<3;
261 *d++ = (bgr&0x3E0)>>2;
262 *d++ = (bgr&0x7C00)>>7;
266 static inline void rgb16tobgr24_c(
const uint8_t *src, uint8_t *dst,
int src_size)
269 uint8_t *d = (uint8_t *)dst;
270 const uint16_t *s = (
const uint16_t *)src;
271 end = s + src_size/2;
273 register uint16_t bgr;
275 *d++ = (bgr&0x1F)<<3;
276 *d++ = (bgr&0x7E0)>>3;
277 *d++ = (bgr&0xF800)>>8;
281 static inline void rgb15to32_c(
const uint8_t *src, uint8_t *dst,
int src_size)
285 const uint16_t *s = (
const uint16_t *)src;
286 end = s + src_size/2;
288 register uint16_t bgr;
292 *d++ = (bgr&0x7C00)>>7;
293 *d++ = (bgr&0x3E0)>>2;
294 *d++ = (bgr&0x1F)<<3;
296 *d++ = (bgr&0x1F)<<3;
297 *d++ = (bgr&0x3E0)>>2;
298 *d++ = (bgr&0x7C00)>>7;
304 static inline void rgb16to32_c(
const uint8_t *src, uint8_t *dst,
int src_size)
308 const uint16_t *s = (
const uint16_t*)src;
309 end = s + src_size/2;
311 register uint16_t bgr;
315 *d++ = (bgr&0xF800)>>8;
316 *d++ = (bgr&0x7E0)>>3;
317 *d++ = (bgr&0x1F)<<3;
319 *d++ = (bgr&0x1F)<<3;
320 *d++ = (bgr&0x7E0)>>3;
321 *d++ = (bgr&0xF800)>>8;
329 int idx = 15 - src_size;
330 const uint8_t *s = src-idx;
331 uint8_t *d = dst-idx;
332 for (; idx<15; idx+=4) {
333 register int v = *(
const uint32_t *)&s[idx],
g = v & 0xff00ff00;
335 *(uint32_t *)&d[idx] = (v>>16) +
g + (v<<16);
339 static inline void rgb24tobgr24_c(
const uint8_t *src, uint8_t *dst,
int src_size)
342 for (i=0; i<src_size; i+=3) {
345 dst[i + 1] = src[i + 1];
346 dst[i + 2] = src[i + 0];
352 const uint8_t *vsrc, uint8_t *dst,
354 int lumStride,
int chromStride,
355 int dstStride,
int vertLumPerChroma)
358 const int chromWidth = width >> 1;
359 for (y=0; y<
height; y++) {
362 uint64_t *ldst = (uint64_t *) dst;
363 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
364 for (i = 0; i < chromWidth; i += 2) {
366 k = yc[0] + (uc[0] << 8) +
367 (yc[1] << 16) + (vc[0] << 24);
368 l = yc[2] + (uc[1] << 8) +
369 (yc[3] << 16) + (vc[1] << 24);
370 *ldst++ = k + (l << 32);
377 int i, *idst = (int32_t *) dst;
378 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
379 for (i = 0; i < chromWidth; i++) {
381 *idst++ = (yc[0] << 24)+ (uc[0] << 16) +
382 (yc[1] << 8) + (vc[0] << 0);
384 *idst++ = yc[0] + (uc[0] << 8) +
385 (yc[1] << 16) + (vc[0] << 24);
392 if ((y&(vertLumPerChroma-1)) == vertLumPerChroma-1) {
405 static inline void yv12toyuy2_c(
const uint8_t *ysrc,
const uint8_t *usrc,
406 const uint8_t *vsrc, uint8_t *dst,
408 int lumStride,
int chromStride,
413 chromStride, dstStride, 2);
417 const uint8_t *vsrc, uint8_t *dst,
419 int lumStride,
int chromStride,
420 int dstStride,
int vertLumPerChroma)
423 const int chromWidth = width >> 1;
424 for (y=0; y<
height; y++) {
427 uint64_t *ldst = (uint64_t *) dst;
428 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
429 for (i = 0; i < chromWidth; i += 2) {
431 k = uc[0] + (yc[0] << 8) +
432 (vc[0] << 16) + (yc[1] << 24);
433 l = uc[1] + (yc[2] << 8) +
434 (vc[1] << 16) + (yc[3] << 24);
435 *ldst++ = k + (l << 32);
442 int i, *idst = (int32_t *) dst;
443 const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
444 for (i = 0; i < chromWidth; i++) {
446 *idst++ = (uc[0] << 24)+ (yc[0] << 16) +
447 (vc[0] << 8) + (yc[1] << 0);
449 *idst++ = uc[0] + (yc[0] << 8) +
450 (vc[0] << 16) + (yc[1] << 24);
457 if ((y&(vertLumPerChroma-1)) == vertLumPerChroma-1) {
470 static inline void yv12touyvy_c(
const uint8_t *ysrc,
const uint8_t *usrc,
471 const uint8_t *vsrc, uint8_t *dst,
473 int lumStride,
int chromStride,
478 chromStride, dstStride, 2);
485 const uint8_t *vsrc, uint8_t *dst,
487 int lumStride,
int chromStride,
491 chromStride, dstStride, 1);
498 const uint8_t *vsrc, uint8_t *dst,
500 int lumStride,
int chromStride,
504 chromStride, dstStride, 1);
512 uint8_t *udst, uint8_t *vdst,
514 int lumStride,
int chromStride,
518 const int chromWidth = width >> 1;
519 for (y=0; y<
height; y+=2) {
521 for (i=0; i<chromWidth; i++) {
522 ydst[2*i+0] = src[4*i+0];
523 udst[i] = src[4*i+1];
524 ydst[2*i+1] = src[4*i+2];
525 vdst[i] = src[4*i+3];
530 for (i=0; i<chromWidth; i++) {
531 ydst[2*i+0] = src[4*i+0];
532 ydst[2*i+1] = src[4*i+2];
541 static inline void planar2x_c(
const uint8_t *src, uint8_t *dst,
int srcWidth,
542 int srcHeight,
int srcStride,
int dstStride)
549 for (x=0; x<srcWidth-1; x++) {
550 dst[2*x+1]= (3*src[x] + src[x+1])>>2;
551 dst[2*x+2]= ( src[x] + 3*src[x+1])>>2;
553 dst[2*srcWidth-1]= src[srcWidth-1];
557 for (y=1; y<srcHeight; y++) {
558 const int mmxSize = 1;
560 dst[0 ]= (3*src[0] + src[srcStride])>>2;
561 dst[dstStride]= ( src[0] + 3*src[srcStride])>>2;
563 for (x=mmxSize-1; x<srcWidth-1; x++) {
564 dst[2*x +1]= (3*src[x+0] + src[x+srcStride+1])>>2;
565 dst[2*x+dstStride+2]= ( src[x+0] + 3*src[x+srcStride+1])>>2;
566 dst[2*x+dstStride+1]= ( src[x+1] + 3*src[x+srcStride ])>>2;
567 dst[2*x +2]= (3*src[x+1] + src[x+srcStride ])>>2;
569 dst[srcWidth*2 -1 ]= (3*src[srcWidth-1] + src[srcWidth-1 + srcStride])>>2;
570 dst[srcWidth*2 -1 + dstStride]= ( src[srcWidth-1] + 3*src[srcWidth-1 + srcStride])>>2;
579 for (x=0; x<srcWidth-1; x++) {
580 dst[2*x+1]= (3*src[x] + src[x+1])>>2;
581 dst[2*x+2]= ( src[x] + 3*src[x+1])>>2;
583 dst[2*srcWidth-1]= src[srcWidth-1];
593 uint8_t *udst, uint8_t *vdst,
595 int lumStride,
int chromStride,
599 const int chromWidth = width >> 1;
600 for (y=0; y<
height; y+=2) {
602 for (i=0; i<chromWidth; i++) {
603 udst[i] = src[4*i+0];
604 ydst[2*i+0] = src[4*i+1];
605 vdst[i] = src[4*i+2];
606 ydst[2*i+1] = src[4*i+3];
611 for (i=0; i<chromWidth; i++) {
612 ydst[2*i+0] = src[4*i+1];
613 ydst[2*i+1] = src[4*i+3];
630 uint8_t *vdst,
int width,
int height,
int lumStride,
631 int chromStride,
int srcStride)
634 const int chromWidth = width >> 1;
638 for (i=0; i<chromWidth; i++) {
639 unsigned int b = src[6*i+0];
640 unsigned int g = src[6*i+1];
641 unsigned int r = src[6*i+2];
661 for (i=0; i<chromWidth; i++) {
662 unsigned int b = src[6*i+0];
663 unsigned int g = src[6*i+1];
664 unsigned int r = src[6*i+2];
685 uint8_t *dest,
int width,
686 int height,
int src1Stride,
687 int src2Stride,
int dstStride)
691 for (h=0; h <
height; h++) {
693 for (w=0; w <
width; w++) {
694 dest[2*w+0] = src1[w];
695 dest[2*w+1] = src2[w];
704 uint8_t *dst1, uint8_t *dst2,
706 int srcStride1,
int srcStride2,
707 int dstStride1,
int dstStride2)
711 w=width/2; h=height/2;
713 const uint8_t*
s1=src1+srcStride1*(y>>1);
714 uint8_t* d=dst1+dstStride1*y;
716 for (;x<w;x++) d[2*x]=d[2*x+1]=s1[x];
719 const uint8_t*
s2=src2+srcStride2*(y>>1);
720 uint8_t* d=dst2+dstStride2*y;
722 for (;x<w;x++) d[2*x]=d[2*x+1]=s2[x];
727 const uint8_t *src3, uint8_t *dst,
729 int srcStride1,
int srcStride2,
730 int srcStride3,
int dstStride)
736 const uint8_t* yp=src1+srcStride1*y;
737 const uint8_t* up=src2+srcStride2*(y>>2);
738 const uint8_t* vp=src3+srcStride3*(y>>2);
739 uint8_t* d=dst+dstStride*y;
762 dst[count]= src[2*count];
775 dst0[count]= src[4*count+0];
776 dst1[count]= src[4*count+2];
782 uint8_t *dst0, uint8_t *dst1,
int count)
790 dst0[count]= (src0[4*count+0]+src1[4*count+0])>>1;
791 dst1[count]= (src0[4*count+2]+src1[4*count+2])>>1;
805 dst0[count]= src[4*count+0];
806 dst1[count]= src[4*count+2];
812 uint8_t *dst0, uint8_t *dst1,
int count)
822 dst0[count]= (src0[4*count+0]+src1[4*count+0])>>1;
823 dst1[count]= (src0[4*count+2]+src1[4*count+2])>>1;
830 int lumStride,
int chromStride,
int srcStride)
833 const int chromWidth= -((-
width)>>1);
835 for (y=0; y<
height; y++) {
850 int lumStride,
int chromStride,
int srcStride)
853 const int chromWidth= -((-
width)>>1);
855 for (y=0; y<
height; y++) {
868 int lumStride,
int chromStride,
int srcStride)
871 const int chromWidth= -((-
width)>>1);
873 for (y=0; y<
height; y++) {
888 int lumStride,
int chromStride,
int srcStride)
891 const int chromWidth= -((-
width)>>1);
893 for (y=0; y<
height; y++) {
static void uyvytoyuv420_c(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
static void uyvytoyv12_c(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
Height should be a multiple of 2 and width should be a multiple of 16.
static void yuv422ptoyuy2_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Width should be a multiple of 16.
static void extract_odd2avg_c(const uint8_t *src0, const uint8_t *src1, uint8_t *dst0, uint8_t *dst1, int count)
static void yuyvtoyuv420_c(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* planar2x)(const uint8_t *src, uint8_t *dst, int width, int height, int srcStride, int dstStride)
static void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth, int srcHeight, int srcStride, int dstStride)
static void rgb16to32_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* yuv422ptouyvy)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Width should be a multiple of 16.
static void rgb24tobgr32_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb32to16)(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb15tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size)
static void vu9_to_vu12_c(const uint8_t *src1, const uint8_t *src2, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride1, int srcStride2, int dstStride1, int dstStride2)
static void yuy2toyv12_c(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
Height should be a multiple of 2 and width should be a multiple of 16.
void(* rgb16to15)(const uint8_t *src, uint8_t *dst, int src_size)
void(* uyvytoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* uyvytoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
static void rgb16tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb24tobgr16_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* yuv422ptoyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Width should be a multiple of 16.
static void extract_even_c(const uint8_t *src, uint8_t *dst, int count)
void rgb24toyv12_c(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
Height should be a multiple of 2 and width should be a multiple of 2.
void(* rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb16to15_c(const uint8_t *src, uint8_t *dst, int src_size)
static void yuvPlanartouyvy_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride, int vertLumPerChroma)
void(* yv12touyvy)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Height should be a multiple of 2 and width should be a multiple of 16.
void(* interleaveBytes)(const uint8_t *src1, const uint8_t *src2, uint8_t *dst, int width, int height, int src1Stride, int src2Stride, int dstStride)
void(* rgb16to32)(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb24tobgr32)(const uint8_t *src, uint8_t *dst, int src_size)
static void yv12toyuy2_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Height should be a multiple of 2 and width should be a multiple of 16.
void(* rgb24to15)(const uint8_t *src, uint8_t *dst, int src_size)
static void interleaveBytes_c(const uint8_t *src1, const uint8_t *src2, uint8_t *dest, int width, int height, int src1Stride, int src2Stride, int dstStride)
static void rgb24to16_c(const uint8_t *src, uint8_t *dst, int src_size)
static void extract_even2_c(const uint8_t *src, uint8_t *dst0, uint8_t *dst1, int count)
static void yv12touyvy_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Height should be a multiple of 2 and width should be a multiple of 16 (If this is a problem for anyon...
void(* rgb32tobgr15)(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb24tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb32tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb2rgb_init_c(void)
static void uyvytoyuv422_c(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* yuy2toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
Height should be a multiple of 2 and width should be a multiple of 16.
static void yuyvtoyuv422_c(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* rgb15to32)(const uint8_t *src, uint8_t *dst, int src_size)
static void yuv422ptouyvy_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Width should be a multiple of 16.
void(* rgb24toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, int width, int height, int lumStride, int chromStride, int srcStride)
Height should be a multiple of 2 and width should be a multiple of 2.
void(* rgb15to16)(const uint8_t *src, uint8_t *dst, int src_size)
static void yvu9_to_yuy2_c(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, uint8_t *dst, int width, int height, int srcStride1, int srcStride2, int srcStride3, int dstStride)
void(* vu9_to_vu12)(const uint8_t *src1, const uint8_t *src2, uint8_t *dst1, uint8_t *dst2, int width, int height, int srcStride1, int srcStride2, int dstStride1, int dstStride2)
static void rgb15to32_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb15to16_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb32to15)(const uint8_t *src, uint8_t *dst, int src_size)
void(* shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb32to16_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb24tobgr15)(const uint8_t *src, uint8_t *dst, int src_size)
static void extract_even2avg_c(const uint8_t *src0, const uint8_t *src1, uint8_t *dst0, uint8_t *dst1, int count)
static void extract_odd2_c(const uint8_t *src, uint8_t *dst0, uint8_t *dst1, int count)
void(* yv12toyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride)
Height should be a multiple of 2 and width should be a multiple of 16.
static void rgb32to15_c(const uint8_t *src, uint8_t *dst, int src_size)
static void yuvPlanartoyuy2_c(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, int width, int height, int lumStride, int chromStride, int dstStride, int vertLumPerChroma)
static void rgb24tobgr15_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* yuyvtoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* rgb24tobgr16)(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb32tobgr15_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* yvu9_to_yuy2)(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3, uint8_t *dst, int width, int height, int srcStride1, int srcStride2, int srcStride3, int dstStride)
void(* rgb32tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb24to16)(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb16tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb32tobgr16)(const uint8_t *src, uint8_t *dst, int src_size)
static void shuffle_bytes_2103_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb24to15_c(const uint8_t *src, uint8_t *dst, int src_size)
static void rgb32tobgr16_c(const uint8_t *src, uint8_t *dst, int src_size)
void(* rgb24tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)