You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-06 06:27:36 +02:00
When bswap_32 is a macro, png images fail to decode properly, patch by (Milan Cutka <cutka>at<szm>dot<sk>)
Originally committed as revision 3672 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
committed by
Michael Niedermayer
parent
788d7a8cac
commit
e20815b396
@ -501,12 +501,14 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
if (ret != Z_OK)
|
if (ret != Z_OK)
|
||||||
return -1;
|
return -1;
|
||||||
for(;;) {
|
for(;;) {
|
||||||
|
int tag32;
|
||||||
if (s->bytestream >= s->bytestream_end)
|
if (s->bytestream >= s->bytestream_end)
|
||||||
goto fail;
|
goto fail;
|
||||||
length = get32(&s->bytestream);
|
length = get32(&s->bytestream);
|
||||||
if (length > 0x7fffffff)
|
if (length > 0x7fffffff)
|
||||||
goto fail;
|
goto fail;
|
||||||
tag = bswap_32(get32(&s->bytestream));
|
tag32 = get32(&s->bytestream);
|
||||||
|
tag = bswap_32(tag32);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("png: tag=%c%c%c%c length=%u\n",
|
printf("png: tag=%c%c%c%c length=%u\n",
|
||||||
(tag & 0xff),
|
(tag & 0xff),
|
||||||
|
Reference in New Issue
Block a user