Remove duplicated png and mng signatures.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
pull/59/head
Paul B Mahol 13 years ago
parent 59c122b3b0
commit a09ae4ef65
  1. 3
      libavcodec/png.c
  2. 4
      libavcodec/png.h
  3. 4
      libavcodec/png_parser.c
  4. 10
      libavcodec/pngdec.c
  5. 2
      libavcodec/pngenc.c

@ -21,9 +21,6 @@
#include "avcodec.h"
#include "png.h"
const uint8_t ff_pngsig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
const uint8_t ff_mngsig[8] = {138, 77, 78, 71, 13, 10, 26, 10};
/* Mask to determine which y pixels are valid in a pass */
const uint8_t ff_png_pass_ymask[NB_PASSES] = {
0x80, 0x80, 0x08, 0x88, 0x22, 0xaa, 0x55,

@ -49,8 +49,8 @@
#define NB_PASSES 7
extern const uint8_t ff_pngsig[8];
extern const uint8_t ff_mngsig[8];
#define PNGSIG 0x89504e470d0a1a0a
#define MNGSIG 0x8a4d4e470d0a1a0a
/* Mask to determine which y pixels are valid in a pass */
extern const uint8_t ff_png_pass_ymask[NB_PASSES];

@ -25,9 +25,7 @@
*/
#include "parser.h"
#define PNGSIG 0x89504e470d0a1a0a
#define MNGSIG 0x8a4d4e470d0a1a0a
#include "png.h"
typedef struct PNGParseContext
{

@ -395,21 +395,23 @@ static int decode_frame(AVCodecContext *avctx,
AVFrame *p;
uint8_t *crow_buf_base = NULL;
uint32_t tag, length;
int64_t sig;
int ret;
FFSWAP(AVFrame *, s->current_picture, s->last_picture);
avctx->coded_frame= s->current_picture;
p = s->current_picture;
bytestream2_init(&s->gb, buf, buf_size);
/* check signature */
if (buf_size < 8 ||
memcmp(buf, ff_pngsig, 8) != 0 &&
memcmp(buf, ff_mngsig, 8) != 0) {
sig = bytestream2_get_be64(&s->gb);
if (sig != PNGSIG &&
sig != MNGSIG) {
av_log(avctx, AV_LOG_ERROR, "Missing png signature\n");
return -1;
}
bytestream2_init(&s->gb, buf + 8, buf_size - 8);
s->y=
s->state=0;
// memset(s, 0, sizeof(PNGDecContext));

@ -322,7 +322,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
/* write png header */
memcpy(s->bytestream, ff_pngsig, 8);
AV_WB64(s->bytestream, PNGSIG);
s->bytestream += 8;
AV_WB32(s->buf, avctx->width);

Loading…
Cancel
Save