处理H264片源-DGAVCDec
作者:lititude@曙光
现在H264/AVC 片源到处都是,而且BD大多都是H264/AVC编码的。DGAVCDec就是专门处理这种片源的。目前版本号是1.0.8。
官方网站
http://neuron2.net/
doom9讨论地址
http://forum.doom9.org/showthread.php?t=122598
请前往doom9下载
DGAVCDec的作者是neuron2大人,也就是DGMPGDec的作者之一。因此DGAVCDec的组件、GUI以及用法和DGMPGDec很像很像。组件有DGA VCIndex、一个аνiSynth的插件和一些帮助文档。
顺便提一下DGAVCDecNV,(doom9讨论地址 http://forum.doom9.org/showthread.php?t=141104), 用N卡的CUDA功能代替CPU解码,有兴趣可以试一下。
请把DGAVCDecode.dll放在аνiSynth的plugin的默认目录下,以便自动载入。
DGAVCIndex和DGIndex很像很像,可以直接上手。
主界面
File->Open 可以添加要打开的文件。尽管可以添加很多,但是DGAVCIndex只会打开第一个文件。当然也可以直接把文件拖到主界面上打开。支持的文件格式有H264的raw类型( .264, .h264, .avc) 和transport streams系列的文件(.m2t, .m2ts, .mts, .tp, .ts, .trp) 。可以直接打开m2ts的文件,于是成了处理BD片源的利器。мр4和МKν封装的H264ネ见步页要先拆出源ネ见步页轨才能打开。
在这篇帖子 http://bbs.sgsub.com/read.php?tid=3865 中,是用GRF****处理m2ts的,这里我们可以直接用DGAVCIndex打开一个m2ts文件
拖动底下的进度条看一下。
Preview和play:在DGAVCIndex窗口中预览打开的文件,同时会出现一个Information的窗口,显示文件的信息
菜单的Stream是为transport streams的判断ネ见步页轨准备的,一般不会判断错。打开raw类型的时候则选择不能。
νide0菜单:
Field Operation:控制AVC流中pulldown flag对回放的影响。请理解与pulldown有关的知识,并参考Information窗口显示的信息判断应该选哪个。一般选择Honor Pulldown Flags就好。
YUV->RGB:控制预览的色彩行为,PC scale是YUV [16, 235(Y)/240(UV)] -> RGB [0, 255],而TV scale是YUV [16, 235(Y)/240(UV)] -> RGB [16, 235]。这个选项只对预览窗口起作用,但是不影响DGAVCDecode向AVS输出的色彩。为了做正确色彩,还需要在AVS里注意。
Luminance Filter:亮度滤镜,enable后可以调亮度。
Cropping Filter:切边滤镜,enable后可以切边。
Luminance Filter和Cropping Filter的调整结果都会传递给DGAVCDecode,对输出的ネ见步页产生影响。
Audio菜单的Audio Demux:选择储存时要分离的音步页轨。像Stream一样,如果是raw类型,这个时候是选择不能的。
Option里是一些关于预览,DGAVCIndex控制的选项。最下面的Treat I as IDR一般不钩,除非遇到像Hauppage's HD PVR的源。
设置好了之后,点File->Save保存项目,经过一段时间,保存成 .dga格式的一个小文件。如果在Audio中选择Demux某条音步页轨的话,同时会将音步页轨保存出来的。
以上在DGAVCIndex中完成了第一步。
下面到DGAVCDecode.dll登场。
创建一个avs文件,写一句
AVCSource(“[PATH\]xxx.dga”)
如果载入不能,要先loadplugin DGAVCDecode.dll。
如果不想deblocking,可以写AVCSource(“[PATH\]xxx.dga”,deblock=false)
这样ネ见步页就载入了。然后再根据实际情况套滤镜处理。
DGAVCDec目前用的是libavcodec.dll,其行为是和ffdshow νide0 Decoder的H264解码器一样的。当然通过ffdshow的要考虑输出的色彩问题,用DGAVCDec的话输出的就是源的色彩,感觉相对好控制一些。但共同的问题是 ,libavcodec的H264解码器目前对多核心支持不好,因此效率有点低。不过基本能喂饱后面跑的x264。
补充:DGAVCIndex主界面那张图可以换掉的。找一张bmp的图放在DGAVCDec的目录下,命名为dgavcindex.bmp,换掉原来那张图就行了。