annotate postproc/rgb2rgb_template.c @ 2505:2aaa11d22f91

vo_vesa: more rgb2rgb support
author nick
date Sun, 28 Oct 2001 10:28:08 +0000
parents 13e1c5ab417a
children 501752469c39
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2504
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
1 #include <inttypes.h>
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
2 #include "../config.h"
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
3 #include "rgb2rgb.h"
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
4
2505
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
5 /* TODO: MMX optimization */
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
6
2504
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
7 void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
8 {
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
9 uint32_t *dest = (uint32_t *)dst;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
10 uint8_t *s = src;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
11 uint8_t *end;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
12 end = s + src_size;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
13 while(s < end)
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
14 {
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
15 uint32_t rgb0;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
16 rgb0 = *(uint32_t *)s;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
17 *dest++ = rgb0 & 0xFFFFFFUL;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
18 s += 3;
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
19 }
13e1c5ab417a vo_vesa: rgb2rgb support
nick
parents:
diff changeset
20 }
2505
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
21
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
22 void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size)
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
23 {
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
24 uint8_t *dest = dst;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
25 uint8_t *s = src;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
26 uint8_t *end;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
27 end = s + src_size;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
28 while(s < end)
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
29 {
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
30 *dest++ = *s++;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
31 *dest++ = *s++;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
32 *dest++ = *s++;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
33 s++;
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
34 }
2aaa11d22f91 vo_vesa: more rgb2rgb support
nick
parents: 2504
diff changeset
35 }