Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
3rd February 2004, 23:20 | #1 | Link |
Registered User
Join Date: Dec 2003
Posts: 138
|
directshow mpeg2, this is weird!
Here's one for you, i dont know the answer so i thought i'd ask on here.
I've been encoding some fully interlaced 29.97fps *.m2v source material. I didnt like the look of the output with any of the filters and I couldnt get bob to work properly in avisynth. However I did like the look of the output when the elecard mpeg2 decoder did the processing. The decoder uses software bob for its deinterlacing. As I understand it, bob splits the fields and converts them into frames, thus a 30fps source becomes 60fps. Also the height is x2 since each field is 1/2 screen height. What I cant understand is how I can import via directshow this *.m2v and reap the nice bob deinterlacing from elecard and stay with a 30fps full height output without an increase in file size? Standard bob with height increase should yield 200% file size shouldnt it, when compared to encoding in interlaced form? I've checked the playback and its fluid in motion, nice appearance... no blending, interpolation artifacts and the same size as if it was still interlaced. Am I missing something? Thanks Data |
6th February 2004, 13:23 | #2 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
for a start, the bob-deinterlacing happens at the rendering stage of directshow's graph - this means directshow source will be passing you frames that are still interlaced.
avisynth's bob filters do the same thing as directshow's, only better. also, with a smart bob like DGbob, you will be able to retain vertical resolution much better (resolution mind, not just height). if you are having trouble with avisynth's bob, perhaps you should flip the field order with either of: complementparity() swapfields() assumeBFF() or assumeTFF() doubleweave().selecteven() (or selectodd()) with something like dgbob you must state field order explicitly (like "dgbob(order=1)") search around for the best bob/deinterlace tools. there's loads to choose from, including some very good home-brewed scripts that combine several techniques to give as good a result as possible (these are good for recovering frames from field-blended sources, like converted anime)
__________________
sucking the life out of your videos since 2004 |
6th February 2004, 14:04 | #3 | Link |
Registered User
Join Date: Dec 2003
Posts: 138
|
Hi,
Thanks for your input. I can see what you are saying about the directshow filter process. However, i did a preview in vdubmod and encode with real producer with 2 different directshow filters - 1 with deinterlacing and 1 without. As a result, with the non deinterlacing filter, the interlacing could be seen in vdubmod and the end encode. With the filter that does deinterlace... there was correct deinterlacing visible in vdubmod and the final encode. How can that be? I did try the standard bob command of avisynth, i ended up with 60fps of bobbing images. I tried dgbob, this was better but I dint like the output as much as what the *.m2v looked like in MPC. Now my encode looks exactly the same as the original mpeg-2. I also tried the other various filters but dint care for them either. Thanks Data |
6th February 2004, 15:27 | #4 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
well that all depends on what dshow filter is doing what... i'm referring to the one that powerDVD and premiere use to bob deinterlace, in which case the output is the same as bob() in avisynth.
if you want straight deinterlacing you could use kerneldeint or something similar. there's a bucketload of deinterlacers for avisynth (even bob().selecteven()) would work.
__________________
sucking the life out of your videos since 2004 |
Thread Tools | Search this Thread |
Display Modes | |
|
|