Mercurial > mplayer.hg
changeset 2719:fafa73d6d80c
Fixed rgb32(24)to16 stuff, rgb32(24)to15 is still broken
author | nick |
---|---|
date | Mon, 05 Nov 2001 17:46:20 +0000 |
parents | 9c5e64493742 |
children | 4ba64e254042 |
files | postproc/rgb2rgb.c postproc/rgb2rgb_template.c |
diffstat | 2 files changed, 32 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/postproc/rgb2rgb.c Mon Nov 05 17:35:28 2001 +0000 +++ b/postproc/rgb2rgb.c Mon Nov 05 17:46:20 2001 +0000 @@ -216,53 +216,57 @@ void rgb32to16(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/4; - for(i=0; i<num_pixels; i+=4) + unsigned j,i,num_pixels=src_size/4; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=4,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + d[j]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); } } void rgb32to15(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/4; - for(i=0; i<num_pixels; i+=4) + unsigned j,i,num_pixels=src_size/4; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=4,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + d[j]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); } } void rgb24to16(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/3; - for(i=0; i<num_pixels; i+=3) + unsigned j,i,num_pixels=src_size/3; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=3,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + d[j]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); } } void rgb24to15(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/3; - for(i=0; i<num_pixels; i+=3) + unsigned j,i,num_pixels=src_size/3; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=3,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + d[j]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); } }
--- a/postproc/rgb2rgb_template.c Mon Nov 05 17:35:28 2001 +0000 +++ b/postproc/rgb2rgb_template.c Mon Nov 05 17:46:20 2001 +0000 @@ -216,53 +216,57 @@ void rgb32to16(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/4; - for(i=0; i<num_pixels; i+=4) + unsigned j,i,num_pixels=src_size/4; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=4,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + d[j]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); } } void rgb32to15(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/4; - for(i=0; i<num_pixels; i+=4) + unsigned j,i,num_pixels=src_size/4; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=4,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + d[j]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); } } void rgb24to16(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/3; - for(i=0; i<num_pixels; i+=3) + unsigned j,i,num_pixels=src_size/3; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=3,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + d[j]= (b>>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); } } void rgb24to15(const uint8_t *src, uint8_t *dst, unsigned src_size) { - unsigned i,num_pixels=src_size/3; - for(i=0; i<num_pixels; i+=3) + unsigned j,i,num_pixels=src_size/3; + uint16_t *d = (uint16_t *)dst; + for(i=0,j=0; j<num_pixels; i+=3,j++) { const int b= src[i+0]; const int g= src[i+1]; const int r= src[i+2]; - ((uint16_t *)dst)[i]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + d[j]= (b>>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); } }