mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Remove duplicated png and mng signatures.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
59c122b3b0
commit
a09ae4ef65
@ -21,9 +21,6 @@
|
|||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "png.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 */
|
/* Mask to determine which y pixels are valid in a pass */
|
||||||
const uint8_t ff_png_pass_ymask[NB_PASSES] = {
|
const uint8_t ff_png_pass_ymask[NB_PASSES] = {
|
||||||
0x80, 0x80, 0x08, 0x88, 0x22, 0xaa, 0x55,
|
0x80, 0x80, 0x08, 0x88, 0x22, 0xaa, 0x55,
|
||||||
|
@ -49,8 +49,8 @@
|
|||||||
|
|
||||||
#define NB_PASSES 7
|
#define NB_PASSES 7
|
||||||
|
|
||||||
extern const uint8_t ff_pngsig[8];
|
#define PNGSIG 0x89504e470d0a1a0a
|
||||||
extern const uint8_t ff_mngsig[8];
|
#define MNGSIG 0x8a4d4e470d0a1a0a
|
||||||
|
|
||||||
/* Mask to determine which y pixels are valid in a pass */
|
/* Mask to determine which y pixels are valid in a pass */
|
||||||
extern const uint8_t ff_png_pass_ymask[NB_PASSES];
|
extern const uint8_t ff_png_pass_ymask[NB_PASSES];
|
||||||
|
@ -25,9 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "parser.h"
|
#include "parser.h"
|
||||||
|
#include "png.h"
|
||||||
#define PNGSIG 0x89504e470d0a1a0a
|
|
||||||
#define MNGSIG 0x8a4d4e470d0a1a0a
|
|
||||||
|
|
||||||
typedef struct PNGParseContext
|
typedef struct PNGParseContext
|
||||||
{
|
{
|
||||||
|
@ -395,21 +395,23 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
AVFrame *p;
|
AVFrame *p;
|
||||||
uint8_t *crow_buf_base = NULL;
|
uint8_t *crow_buf_base = NULL;
|
||||||
uint32_t tag, length;
|
uint32_t tag, length;
|
||||||
|
int64_t sig;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
FFSWAP(AVFrame *, s->current_picture, s->last_picture);
|
FFSWAP(AVFrame *, s->current_picture, s->last_picture);
|
||||||
avctx->coded_frame= s->current_picture;
|
avctx->coded_frame= s->current_picture;
|
||||||
p = s->current_picture;
|
p = s->current_picture;
|
||||||
|
|
||||||
|
bytestream2_init(&s->gb, buf, buf_size);
|
||||||
|
|
||||||
/* check signature */
|
/* check signature */
|
||||||
if (buf_size < 8 ||
|
sig = bytestream2_get_be64(&s->gb);
|
||||||
memcmp(buf, ff_pngsig, 8) != 0 &&
|
if (sig != PNGSIG &&
|
||||||
memcmp(buf, ff_mngsig, 8) != 0) {
|
sig != MNGSIG) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Missing png signature\n");
|
av_log(avctx, AV_LOG_ERROR, "Missing png signature\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bytestream2_init(&s->gb, buf + 8, buf_size - 8);
|
|
||||||
s->y=
|
s->y=
|
||||||
s->state=0;
|
s->state=0;
|
||||||
// memset(s, 0, sizeof(PNGDecContext));
|
// memset(s, 0, sizeof(PNGDecContext));
|
||||||
|
@ -322,7 +322,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* write png header */
|
/* write png header */
|
||||||
memcpy(s->bytestream, ff_pngsig, 8);
|
AV_WB64(s->bytestream, PNGSIG);
|
||||||
s->bytestream += 8;
|
s->bytestream += 8;
|
||||||
|
|
||||||
AV_WB32(s->buf, avctx->width);
|
AV_WB32(s->buf, avctx->width);
|
||||||
|
Loading…
Reference in New Issue
Block a user