fengyongkang12吧 关注:66贴子:1,029
  • 1回复贴,共1

视频硬解和软解是否有质量差异的小实验

只看楼主收藏回复

受够了玄学党的各种神论。
实验思路是在VapourSynth平台分别用LWLibavSource和DGDecodeNV_DGSource来解码一段小样本,输出无压缩的裸流,然后对比文件校验值。vs脚本如下:
import vapoursynth as vs
core = vs.get_core()
core.avs.LoadPlugin(r'DGDecodeNV.dll')
src=core.lsmas.LWLibavSource(r'F:\xxx.mp4')
#src=core.avs.DGSource(r'F:\xxx.dgi')
src=core.std.Trim(src,1000,1499)
src.set_output()
LWLibavSource是利用libavcodec软解的源滤镜。
DGDecNV则是利用nVidia的cuvid硬解。
将上述vs脚本保存为decode.vpy,使用如下命令输出裸流:
vspipe decode.vpy output.raw
分别得到软解和n卡硬解的结果,而且是不带文件头的裸流。如果加上文件头就可以让播放器正常播放,但也就无法通过文件校验值对比结果的一致性了
文件名称: F:\dgdecnv.raw
文件大小: 247 MB (259,200,000 字节)
修改时间: 2018年01月30日,22:53:13
MD5: B61E90ECDE95D21A756E1B283967E062
SHA1: D141CB8B20CA30F0B8CA6C451CC5F13D2D76D1D2
SHA512: 1D6F67E04C7198B2E262544C0EF77B52A7147FD2FDD820E9A3B8B860281B7C52907CA1057B50A68C3EEA2B457502304422AF818EF14B5C31D1840F8AB1DE3DF0
CRC32: 4FFEC5C0
计算时间: 1.30s (200.00 MB/s)
文件名称: F:\lwlibav.raw
文件大小: 247 MB (259,200,000 字节)
修改时间: 2018年01月30日,22:53:48
MD5: B61E90ECDE95D21A756E1B283967E062
SHA1: D141CB8B20CA30F0B8CA6C451CC5F13D2D76D1D2
SHA512: 1D6F67E04C7198B2E262544C0EF77B52A7147FD2FDD820E9A3B8B860281B7C52907CA1057B50A68C3EEA2B457502304422AF818EF14B5C31D1840F8AB1DE3DF0
CRC32: 4FFEC5C0
计算时间: 1.38s (188.51 MB/s)
结论:软解和硬解的结果完全一致。


IP属地:陕西本楼含有高级字体1楼2018-01-30 23:29回复
    这是在Windows平台上的结果,安卓机上 MXplayer 开硬解,画质会明显降低


    IP属地:广东来自手机贴吧2楼2018-02-09 01:32
    回复