FFMPEG之图片系列 --- png格式

在ffmpeg中,即支持png格式文件,也支持apng格式文件,下面就这两种区别做一描述:

PNG(Portable Network Graphics)是一种无损压缩的位图图形格式。其设计目的是试图替代GIF和过于复杂的TIFF文件格式,同时增加一些GIF文件不具备的特性。

MNG图形文件格式用来表现动画。以下是PNG、MNG、APNG的历史:

1996年6月提出PNF(Portable Network Frame)草案,当年8月改名为MNG(Multiple-image Network Graphics)。
PNG的1.0版本规范于1996年7月1日发布,后来被称为RFC 2083标准,并在1996年10月1日成为W3C建议。
PNG的1.1版本进行了部分小幅修改并增加了三个新的数据块定义,于1998年12月31日发布。
PNG的1.2版本增加了另外一个数据块,于1999年8月11日发布。
PNG现行版本是国际标准(ISO/IEC 15948:2003),并在2003年11月10日作为W3C建议发布。这个版本与1.2版仅有细微差别。
2004年末,PNG的动画扩展——APNG,被提出来。这是一个相对于MNG更简单的动画实现方案,不识别APNG格式的PNG解码器至少能够正常回放第一幅普通PNG画面。

在libavcodec/allcodecs.c中 定义了png和apng的encoder和decoder.

    REGISTER_ENCDEC (PNG,               png);       # ff_png_encoder in libavcodec/pngenc.c        ff_png_decoder in libavcodec/pngdec.c
    REGISTER_ENCDEC (APNG,              apng);      # ff_apng_encoder in libavcodec/pngenc.c       ff_png_decoder in libavcodec/pngdec.c
    REGISTER_PARSER(PNG,                png);       # ff_png_parser in libavcodec/png_parser.c


PNG文件结构:

PNG文件由一个8字节的PNG文件署名(PNG File Signature)和按照特定结构组织的3个以上的数据块(chunk)组成。

文件署名部分:      

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值