好久没发帖了,发个关于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
原机画面字节数的大小,决定画面的清晰度
如果原机画面字节数比较小,使用分辨率小的图片会比较清晰,
有空会搞个画面替换工具测试一下