comparison libswscale/rgb2rgb.c @ 31235:661755507236

deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24 additionallym deprecate palette8torgb16 and its bgr variant without replacement. These functions are not meant to be used by applications. Discussed at: http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/109340
author siretart
date Tue, 01 Jun 2010 19:35:16 +0000
parents 9f894134a0b3
children 55abf5e08172
comparison
equal deleted inserted replaced
31234:ef9fdc663e72 31235:661755507236
205 else 205 else
206 #endif /* HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX */ 206 #endif /* HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX */
207 rgb2rgb_init_C(); 207 rgb2rgb_init_C();
208 } 208 }
209 209
210 /** 210 #if LIBSWSCALE_VERSION_MAJOR < 1
211 * Convert the palette to the same packet 32-bit format as the palette
212 */
213 void palette8topacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette) 211 void palette8topacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
214 { 212 {
215 long i; 213 sws_convertPalette8ToPacked32(src, dst, num_pixels, palette);
216 214 }
217 for (i=0; i<num_pixels; i++) 215
218 ((uint32_t *) dst)[i] = ((const uint32_t *) palette)[src[i]];
219 }
220
221 /**
222 * Palette format: ABCD -> dst format: ABC
223 */
224 void palette8topacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette) 216 void palette8topacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)
225 { 217 {
226 long i; 218 sws_convertPalette8ToPacked24(src, dst, num_pixels, palette);
227
228 for (i=0; i<num_pixels; i++) {
229 //FIXME slow?
230 dst[0]= palette[src[i]*4+0];
231 dst[1]= palette[src[i]*4+1];
232 dst[2]= palette[src[i]*4+2];
233 dst+= 3;
234 }
235 } 219 }
236 220
237 /** 221 /**
238 * Palette is assumed to contain BGR16, see rgb32to16 to convert the palette. 222 * Palette is assumed to contain BGR16, see rgb32to16 to convert the palette.
239 */ 223 */
247 { 231 {
248 long i; 232 long i;
249 for (i=0; i<num_pixels; i++) 233 for (i=0; i<num_pixels; i++)
250 ((uint16_t *)dst)[i] = bswap_16(((const uint16_t *)palette)[src[i]]); 234 ((uint16_t *)dst)[i] = bswap_16(((const uint16_t *)palette)[src[i]]);
251 } 235 }
236 #endif
252 237
253 void rgb32to24(const uint8_t *src, uint8_t *dst, long src_size) 238 void rgb32to24(const uint8_t *src, uint8_t *dst, long src_size)
254 { 239 {
255 long i; 240 long i;
256 long num_pixels = src_size >> 2; 241 long num_pixels = src_size >> 2;