comparison asf.c @ 300:6ee1b02f9b2a libavformat

* fixes for broken builds on Solaris, OS2 and all bingendian systems out there.
author romansh
date Tue, 04 Nov 2003 19:35:43 +0000
parents 85d558a18134
children 8a04d2e1be2f
comparison
equal deleted inserted replaced
299:5ee1aa8cc0ea 300:6ee1b02f9b2a
913 /* This code assumes that extradata contains only palette */ 913 /* This code assumes that extradata contains only palette */
914 /* This is true for all paletted codecs implemented in ffmpeg */ 914 /* This is true for all paletted codecs implemented in ffmpeg */
915 if (st->codec.extradata_size && (st->codec.bits_per_sample <= 8)) { 915 if (st->codec.extradata_size && (st->codec.bits_per_sample <= 8)) {
916 st->codec.palctrl = av_mallocz(sizeof(AVPaletteControl)); 916 st->codec.palctrl = av_mallocz(sizeof(AVPaletteControl));
917 #ifdef WORDS_BIGENDIAN 917 #ifdef WORDS_BIGENDIAN
918 for (i = 0; i < FFMIN(st->codec.extradata_size / 4, 256); i++) 918 for (i = 0; i < FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)/4; i++)
919 st->codec.palctrl->palette[i] = bswap_32(st->codec.extradata)[i * 4]); 919 st->codec.palctrl->palette[i] = bswap_32(((uint32_t*)st->codec.extradata)[i]);
920 #else 920 #else
921 memcpy(st->codec.palctrl->palette, st->codec.extradata, 921 memcpy(st->codec.palctrl->palette, st->codec.extradata,
922 FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)); 922 FFMIN(st->codec.extradata_size, AVPALETTE_SIZE));
923 #endif 923 #endif
924 st->codec.palctrl->palette_changed = 1; 924 st->codec.palctrl->palette_changed = 1;