这次neuron2发布了支持CUDA解码的MPEG2解码软件——DGMPGDecNV,使用N卡的童鞋,可以使用此工具进行CUDA解码,并且可以很方便的开启PureVideo的硬件Deinterlacer,品质自然没话说。
之前在DGAVCDecNV发布的时候,我就在想,如何能把PV(PureVideo)的Deinterlacer拿到DVDRip上用。众所周之,DVD使用的是MPEG-2编码,然而DGAVCDecNV是做H264解码之用。我曾经试过,将DVD的30i实摄部分使用x264编码为interlaced flag的lossless格式,但是DGAVCDecNV不认。经过qyq的指点,我明白了问题出在x264的lossless模式使用的colorspace问题上。这里有一个bug,目前能不出问题的解码x264 lossless模式的解码器民用范围好像只有CoreAVC,DGAVCDecNV会由于这个bug出问题。我又尝试了使用TMPGEnc Xpress把DVD压成interlaced的,然后丢给DGAVCDecNV来做Deinterlace,但是效果依然不是很好,场序容易出问题(就是画面来回跳)。
现在问题解决了,用DGMPGDecNV可以很方便的在MPEG2解码的时候打开PV Deinterlacer,不需要经过那蛋疼的中间转换步骤了。
注意,DGMPGDecNV不吃VOB格式,不吃MPEG-1,所以要拿它来处理DVD,需要进行封装转换。可以remux到m2ts,或者有更简单一点的办法。用DGMPGDec打开VOB,把视频demux出来成m2v,然后把m2v丢给DGMPGDecNV就可以了,这物体吃m2v的。
那么,以后再做30i的DVD时,我们就会有两种截然不同的处理途径:
1、不做任何前期处理,直接把30i的片子用x264压成MBAFF格式,这样会写入interlaced旗标,在播放的时候让显卡来做实时Deinterlace。优点就是不用做过多的处理,直接压就好了,而且节省码率和时间。缺点的话,首先是画面处理这个问题被丢给了解码播放端,设置不好的话就囧了。而且显卡太老的,没有这些功能的也会囧。再一个就是,无法使用滤镜进行前期处理。我们现在使用的大部分滤镜,都是处理progressived画面的,所以不能用在interlaced中。
2、使用DGMPGDecNV,直接打开PV Deinterlacer进行处理,这样我们在前期就直接得到了经过Deinterlacer的Progressived画面。优点,播放的时候不用做任何设置,直接看就可以了。可以在AVS中使用滤镜进行画面处理,因为已经是progressived了。缺点,对于30i的实摄,最好的方法是做成60fps的,这样画面才会流畅。在DG的NV解码系列中,已经内置了开启PV Deinterlacer的选项,并且分为Singel Rate和Double Rate两种。前者是保持30fps进行反交错,后者是weave到60fps再反交错。选择后者可以得到流畅的画面。但是此时问题很明显,帧率上去了,那么我们压制的时候码率,时间也就跟着上去,播放的时候占用率也会跟着上去。
:7: 到底用哪个,就看压制者的个人喜好了。我个人而言还是比较偏向第一种MBAFF。
cuda的实用性越来越大了,先入优势明显,就看ati的stream和opencl能不能迎头赶上了
这学期project被cuda整到死的某人飘过
于是我见到这个后问同学借了张8500GT折腾了半天 最后发现是要给钱的…………没有美金 也不会用paypal 最后我白忙了一个下午 对这个绝望了 :14: license file………………
原来有注册机 于是我又折腾了一个晚上 :12: 折腾真是欢乐病
要低调…低调……