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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd February 2004, 23:20   #1  |  Link
datascab
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
datascab is offline   Reply With Quote
Old 6th February 2004, 13:23   #2  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
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
Mug Funky is offline   Reply With Quote
Old 6th February 2004, 14:04   #3  |  Link
datascab
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
datascab is offline   Reply With Quote
Old 6th February 2004, 15:27   #4  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
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
Mug Funky is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.