When bswap_32 is a macro, png images fail to decode properly, patch by (Milan Cutka...
authorMilan Cutka <cutka@szm.sk>
Fri, 12 Nov 2004 09:48:06 +0000 (09:48 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 12 Nov 2004 09:48:06 +0000 (09:48 +0000)
Originally committed as revision 3672 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/png.c

index 079795a..11faa86 100644 (file)
@@ -501,12 +501,14 @@ static int decode_frame(AVCodecContext *avctx,
     if (ret != Z_OK)
         return -1;
     for(;;) {
+        int tag32;
         if (s->bytestream >= s->bytestream_end)
             goto fail;
         length = get32(&s->bytestream);
         if (length > 0x7fffffff)
             goto fail;
-        tag = bswap_32(get32(&s->bytestream));
+        tag32 = get32(&s->bytestream);
+        tag = bswap_32(tag32);
 #ifdef DEBUG
         printf("png: tag=%c%c%c%c length=%u\n", 
                (tag & 0xff),