Log in

View Full Version : DGAVCDec frame rate doubling using embedded motion compensation vectors


panash
24th November 2011, 14:40
Apologies if this has already been answered - please point to relevant post if it has.

Summary; I have a Kodak Zx1 pocket camcorder and use it at 720p30. I 'discovered' Gunter Thalin's deShaker vDub plugin and I'm over the moon with the results. (I also use a monopod over my shoulder to reduce muscle tremor shake at source)

The next step in improving the quality is changing the frame rate from 30p to 60p and I've been experimenting with MSU's FRC

http://compression.ru/video/frame_rate_conversion/index_en_msu.html

Again with astounding results, its so smooth - it just looks so professional! You would never believe it was from such a modest camera (The nice thing about the Zx1 is that the camera is with you - not the other way around).

My immediate problem is with sound synchronization, but that is off topic and I'll pick away with that off line. My question here is does or could Don's DGAVCDec produce the intermediate frames simply from the embedded motion vector information in the h264 stream? This would speed up the frame rate conversion doubling process and be more accurate than dealing with the fully rendered frames (as the Russian solution does). Or could it be modified to do so? I believe winDVD version 11 does this on-the-fly and the feature is called "Motion Stream-liner".

The answer may be in the documentation but I've not been able to access this for some reason unknown to me (forbidden access message).

BTW I know the Zx1 will shoot 720p60 but I would like to convert previously shot footage and also economize on the memory used. I also have a feeling that it will compromise the low lighting performance of the camera (which is already a bit marginal).

BR

Paul Naish

Stereodude
25th November 2011, 03:01
FWIW, I think DGAVCDec is not supported any longer.

LoRd_MuldeR
25th November 2011, 20:44
FWIW, I think DGAVCDec is not supported any longer.

Yup, it's superseded by DGDecNV (powered by NVidia CUVID/PureVideo) and DGAVCDecDI (powered by DiAVC decoder). For both you need to buy a license.

Also DG(AVC)Dec(NV|DI) is "only" a decoder. It doesn't do anything like frame-rate interpolation. That's something you'd do in your AVS script after the decoding stage.

There is one noteworthy exception: DGDecNV provides access to the PureVideo hardware deinterlacer. But that's only relevant for true interlaced input.


For frame-rate interpolation Avisynth+MVTools may be the way to go:
http://www.eyenorth.com/2010/08/whos-afraid-of-mvtools-quality.html