Mercurial > libavformat.hg
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; |