赞助论坛
  • 9467阅读
  • 0回复

mpg文件的画面分辨率获得方法,以及画面清晰度分析 [复制链接]

楼层直达

级别: 荣誉会员
发帖
2897
精华
17
金币
7949
威望
281
贡献
3365
好评
1360
注册
2010-03-06
楼主    爱上你是错 发表于: 2012-08-28 23:20:11 
好久没发帖了,发个关于mpg解码信息的东西,

知道分辨率后,更改画面,是有可能提高画质的,

mpg帧文件,就是各种dvd,dvb数据里面的开机画面或背景画面

以前一直找不到相关的资料,调用ffmpeg解码也不能按照原来的分辨率解出来,

最近从本论坛的oracle010大师获得了一份源代码,内含mpg解码部分

阅读过后才明白了原来mpg文件,在前面的几个字节里面,

已经包含了画面的分辨率,每秒帧数,

举例说明:

00 00 01 b3 2D 02 40 23

这是一个mpg的前面八个字,

00 00 01 b3 这四个是固定的,只要是mpg的帧文件,都是以这四个开头

2D 02 40 这三个字是宽度和高度,以像素为单位,

前面 1个半字节是宽度,如 2D 0=720

计算宽度方法: wieght=(mpg[4]<<4)+(mpg[5]>>4)

后面 1个半字节是高度;如 24 0=576

计算高度方法: high=((mpg[5]&0x0F)<<8)+mpg[6]

23 前面的2不知道是什么意思,

后面的3字是表示每秒帧数,

帧数
1   =   23.976  
2   =   24
3   =   25
4   =   29.97
5   =   30
6   =   50
7   =   59.94
8   =   60

原机画面字节数的大小,决定画面的清晰度

如果原机画面字节数比较小,使用分辨率小的图片会比较清晰,

有空会搞个画面替换工具测试一下
本帖最近评分记录: 9 条评分