diff --git a/libavcodec/png_parser.c b/libavcodec/png_parser.c index 00cbb82071..d07f288c4b 100644 --- a/libavcodec/png_parser.c +++ b/libavcodec/png_parser.c @@ -78,7 +78,7 @@ static int png_parse(AVCodecParserContext *s, AVCodecContext *avctx, for (; ppc->pc.frame_start_found && i < buf_size; i++) { ppc->pc.state = (ppc->pc.state << 8) | buf[i]; if (ppc->chunk_pos == 3) { - ppc->chunk_length = AV_RL32(&ppc->pc.state); + ppc->chunk_length = ppc->pc.state; if (ppc->chunk_length > 0x7fffffff) { ppc->chunk_pos = ppc->pc.frame_start_found = 0; goto flush; @@ -87,7 +87,7 @@ static int png_parse(AVCodecParserContext *s, AVCodecContext *avctx, } else if (ppc->chunk_pos == 7) { if (ppc->chunk_length >= buf_size - i) ppc->remaining_size = ppc->chunk_length - buf_size + i + 1; - if (AV_RB32(&ppc->pc.state) == MKTAG('I', 'E', 'N', 'D')) { + if (ppc->pc.state == MKBETAG('I', 'E', 'N', 'D')) { if (ppc->remaining_size) ppc->chunk_pos = -1; else