nandub options explained-v1.0

Upload: n33d2kn0w

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Nandub Options Explained-V1.0

    1/19

    Nandub Options Explained: V1.0

    Last updated 25.06.2001.

    0. About this document

    This document is created and maintained by Koepi , it was created on 12th of May, 2001

    (first public version).

    Updates:

    0.112.05.2001 First public announcement.

    0.213.05.2001 Fixing some typos, more parts precised (e.g. gauge, luma,...)

    0.313.05.2001 Added "9. General things" - a kind of a FAQ0.414.05.2001 Adding some explanations about sensitivity, corrected payback delay etc. -

    thanx to Maras

    0.516.05.2001 Way too much changes to list them all. Some of the fixes:

    q - added the end credits suggestions by rmatei

    q - Major revision of introductionq - ... and many things more!

    0.517.05.2001 Rock Hardy suggests some better explanations for high/lowpass and theformular how luma is calced.. :o)0.518.05.2001 Added link for Maras ' nandub versions in the end credits section

    0.620.05.2001 Converted the doc into HTML, added screenshots, some cleanups0.708.06.2001 Upgraded doc to correspond to nandub 0.22 and added yaz' clear-ups about

    internal / normal SCD, motion, span,... as well as major clean ups, minor corrections,...

    now I used anchors to better jump from setting to setting,

    i hope this is a useful feature!:)

    0.809.06.2001 I fixed the enable BR modulation part as it was really unprecise... well,

    there was no explanation at all ;)

    0.918.06.2001 Updated doc to reflect nandub b0.24. Rebuilt the whole doc from scratch1.025.06.2001 Updated to nandub b0.25. Finally not many complains left so version 1.0 is

    reached :-)

    1. Introduction

    I started this documentation of the nandub options as lecarb at doom9's forum asked aboutthe options in that nice program (thanks vV_nn for that pretty good work!).

    This question is really belonging into a FAQ or a howto, so I decided to write down what I

    mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]
  • 8/2/2019 Nandub Options Explained-V1.0

    2/19

    have learned about nandub that far.A big thanks to all people trying to clear things up at

    doom9'sforum (-> Smart Bitrate Control).

    If you have suggestions or corrections to these explanations, eMail them to me and I will

    try to update this document.

    Please, don't eMail me about "how do I rip DVDs" or anything. I won't reply on such

    eMails. Thanks! :-)

    There is a very good "SBC/Nandub Guide" at http://www.doom9.net/so please use that as

    a starting point if you don't know about the program!

    This doc is supposed to explain nandub's settings. It's no guide or something in that

    direction, so keep that in mind before you start bitching around about that it's too

    complicated for your small mind :-P

    This is the SBC

    Options Menu - it's

    the main difference

    of nandub over

    virtualdub. All the

    settings described in

    here are made

    within this menu.

    2. The Video -> SBC Options -> DivX - Options:

    http://www.doom9.net/http://forum.doom9.net/http://www.doom9.net/http://www.doom9.net/http://forum.doom9.net/http://www.doom9.net/
  • 8/2/2019 Nandub Options Explained-V1.0

    3/19

    2.1 CodecChoice

    You can

    choose

    between the

    (illegal hackof M$

    MPEG4v3

    called) DivX;-

    ) codec or the

    "free" (legal)

    MPEG4v2

    codec.

    Currently

    nandub just

    works with

    DivX;-) 3.11

    alpha. Newer

    versions of

    DivX ;-) (for

    example these

    builds with

    VKI patchesetc) prevent

    nandub from

    working.

    If you installed and choose the wrong codecs, nandub will crash or produce no file or too

    small/too big files.

    As MPEG4v2 is "the older codec" it gives worse quality at the same bitrate. But every

    windows installation should play it without problems, if the codec isn't installed it gets

    loaded from M$ servers at playback time.

    2.2 BitRate

    The standard bitrate entry - calculated from a (or new: THE!) bitrate calculator :-). So this

    is the average bitrate that nandub should reach.

    2.3 Keyframe interval

    This is the maximum allowable interval in seconds that can have _no keyframe at all_. So

    setting this to 1 would mean to insert a keyframe every second, if the codec or nandub

    don't set one between this interval. So setting it to 10 or 12 seconds is a good value.

    Setting it to 1 second will degrade the quality very much as keyframes take up a lot more

  • 8/2/2019 Nandub Options Explained-V1.0

    4/19

    space and the codec/nandub has to compensate for that.

    2.4 Minimum allowable bitrate

    According to yaz : "First nandub calculates bitrate for the frame coming up, i.e., applies

    compression, motion correction, ... and then(!) applies min.kbps, i.e., if bitrate would run

    below it's simply set back to min.kbps."

    As this happens without regarding average bitrate this can produce an oversized output

    video. If you watch the debug output you'll notice that this isn't shown there, it shows the

    value _before_ applying the min kbps.

    I use 350 or 400 there, always works fine for me. Setting it below these values would

    degrade quality - i never experienced problems with _these_ two values but the

    documentation/ forum says it would make the codec behave

    unpredictable. At least for me and these two values this isn't true ;-)

    2.5 Internal SCD

    As yaz points out, internal SCD works based on motion. If the motion level is higher than

    the given percentage (of max. motion 299), nandub inserts keyframes here. This will give

    high motion scenes plenty of keyframes, most likely degrading the quality if there are too

    much keyframes. I'll cite him: "it may help if luma differences are (very) small (otherwise

    use only oscd) motion sens gives a scale fine enough (i prefer 10 or higher) it's set not

    below 98% (but rather to 99%)".

    For getting a complete picture take a look at the alternate SCD section.I set it to 100% as this disables it and stops the overuse of keyframes. I encoded lethal

    weapon 4 with iSCD 90 and it used lots and lots of keyframes. this was supposed to give

    better quality in complicated scenes, but instead, i use AntiShit as it helps me with my

    freeze frame problem as well and works better as "quality raiser".

    (Hm, btw. this iSBC means internal Scene Change Detection - it's code from nandub. I use

    the alternative SCD in the Options -> preferences tab with the default values in that SCD-

    tab. Works great!!!).

    2.6 Space KFs

    Default of 24 frames works pretty well for me - I don't touch it anyways. Setting it too

    higher values, say, 48 or 72, is giving other people good results as well as the codec

    inserts keyframe-like frames as well then. It prevents the overuse of keyframes but gets

    overriden by AntiShit (look below ;) ). It controls the SCDs from kicking in too often.

    2.7 Anti-shit =)

    AntiShit =) is decompressing the encoded frame and compares it with the input frame.

    The following settings control, when AntiShit should reencode a frame as keyframe (or as

    mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]
  • 8/2/2019 Nandub Options Explained-V1.0

    5/19

    high quality deltaframe).

    As he totally reworked the AntShit, I take his explanations out of the nandub readme:

    2.7.1 Shit dB

    When activated(set to a value different from 0), each compressed frame will get

    decompressed and compared to the source one. The resulting measure will be between 0

    and about 95dB. If this measure gets lower than 'AntiShit', a keyframe will be forced (the

    resulting frame is also tested). A good value for AntiShit would be 16 I think.

    2.7.2 Min quality dB

    Suggested settings for 'Min quality' would be 0 (deactivated) or about 28-30. When the

    quality gets lower than 'Min quality', Nandub will try to recompress the frame without

    rekeying, but at a lower compression level. In the debug ouput, you should see 2 new

    values : PSNR=aa.aa(ww.ww) aa.aa is the average PSNR of the frame, ww.ww the

    measure of its worst block. 'AntiShit' and 'Min Quality' both use the ww.ww measure.

    2.7.3 Motion Modulation

    The new parameter is a %age and works like this : let's assume we entered 16 as AntiShit,

    30 as Min Quality, with 50% modulation, here is what will happen :

    q with motion = 0 : AntiShit=16, Min Quality=30q with motion =150 : AntiShit=12, Min Quality=22

    q with motion = 300 : AntiShit=8, Min Quality=15

    With 25% modulation, here is what will happen :

    q with motion = 0 : same

    q with motion =150 : AntiShit=14, Min Quality=26

    q with motion = 300 : AntiShit=12, Min Quality=22

    3. The Video -> SBC-Options -> Bitrate Curve:

  • 8/2/2019 Nandub Options Explained-V1.0

    6/19

    3.1 MotionbasedcurveModulation

    This is an

    algrithm thatI'm

    experiencing

    very good

    results with. It

    is

    modulationg

    the bitrate

    according to

    motion. This

    keeps size

    predictable

    and looks way

    better than

    directly

    setting DRFs

    or similar

    attempts.Disable

    bitrate

    reservoir modulation, it's not needed anymore with this algo! :-)

    I got best results for mcFactor (that's it's name in other nandub-hacks) at 20%-30% (i

    prefer 30% though).

    3.2 Curve Compression

    This is the curve compression. The curve is the "bitrate-used"-stats generated in the firstpass. Curve compression is flatening this curve, freeing up bits for low-bitrate scenes by

    taking them from high-bitrate scenes.

    The symetric curve compression compresses the curve the same way below and above the

    targeted bitrate in the same amount (wouldn't haved guessed that by the name, don't you? ;-

    ) )

    A too high value will make the high bitrate scenes look really bad. So values between 20

    and 35% (just my experience) work best. If you want to use the calc-button between the

    two passes, you have to set the crosspoint according to your aims (1 cd or 2 cd).

    I use crosspoint of 280 at the moment and had astonishing results (but I had to lower thecompression of 37% (by the calc button) to 32% at leon the killer. This shows that you

    have to experiment with this as a compression of 50% gave me real good results for se7en

  • 8/2/2019 Nandub Options Explained-V1.0

    7/19

    as well....)

    The new thing since nandub 0.25 (ok, the maras/rock hardy hacks had that much earlier

    (but were just there to proove that it works) :-) ) is the asymetrical curve compression.

    Some people said, they'd like the ability to move the bit's for their targets more

    specifically - like, if they want more bits on the high motion scenes, they now simply

    choose Compression Low 25% and Compression high 15% - although i wouldn't

    recommand that, Rock Hardy doesn't get tired to repeat himself shouting "_you will loosequality on the mid bitrate frames_". My experiences are that you get pretty well results

    with Compression Low at 15% and Compression High at 25%.

    3.3 Luma Correction

    I use the default values and they are fine - I didn't experiment enough without luma

    correction so I recommand to switch it on. I'll cite Demi9OD, moderator of the SBC-

    Profiles-Forum at doom9, as he explains the lumacorrection very simple:"Every frame is analyzed on the first pass to include a value called "Luma Noise". This

    value is low when there is a uniform brightness over the whole scene. It is high when there

    is a great deal of contrast in the brightness of the scene. Tradionally these uniformly

    bright areas are more difficult to encode, so any frame with a Luma Noise under the

    threshold, will get more bits depending on the multiplier. I do not know the exact math,

    but lets say threshold is 10 and your frame has a luma noise of 8, it would get

    2*multiplier more bits. This is probably not the correct equation but gives you an idea of

    how it works."

    This explanation is a little outdated as there is no multiplier anymore. It's substituted by a"max gain" control now which should be much more intuitive. (Thanks for listening to our

    suggestions vV_nn ! :-) )

    3.4 End Credits Start Frame

    Enter the frame where your end credits start here. This is used by nandub to reduce the

    bitrate for the end credits as these usually don't need to look that brilliant like the main

    movie (just scrolling names, eh? ;) ).

    3.5 End Credits Rate

    This is the bitrate that the end credits should be encoded with. This is should work now

    better as high pass and min kbps aren't applied for the end credits anymore since nandub

    b0.24. I didn't play around with this yet (hey, nandub b0.24 is out for just 2 hours at this

    point of writing the guide again!), so you're free to test that yourselfes :-)

    3.6 High-pass / Low-pass

    High-pass limits the lowest possible bitrate the codec can use.High-pass means to let only

    mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]
  • 8/2/2019 Nandub Options Explained-V1.0

    8/19

    data pass above this level. Low-pass does the other direction - it let's only data pass below

    this value.Here is how it works (thanks Rock Hardy!):"During the bitrate-curve modulation progress it looks at the calced framesize and

    determines if its above or below that High-Pass Value. If its below Nandub sets Bitrate for

    that frame=High-Pass, calcs the delta and adds this to a pool called "added". Those bits

    that were invested here are then taken from the other frames in a second process. For low-

    pass its the same, only that we get a negative pool or "added" and thus the "other frames"dont get bits taken away but receive bits by that process."

    I set high-pass to 270 (default) and low-pass to 2500-3000 (for 2 CD rips) or 2000-2500

    (for 1 CD rips). A too high lowpass will make the movie unplayable on weaker processor-

    systems, so don't set it too high!

    3.7 Bitrate redistribution

    Bias is the old way the bitrate curve was redistributed - it's spreading bits at fixed amount

    to the frames. The proportional redistribution is a little smarter here as it gives smaller

    frames less bits than bigger frames... so if a frame is already good compressable it doesn't

    waste too many bits on it. I prefer proportional redistribution.

    3.8 Smoother

    Leaving this untouched or changing it between 3% to 5% gave good results for me. As the

    people of the forum say, it's flatening the curve in a short period and not over-all,

    preventing the compression-levels jumping around in a nuts way. It's averaging the valueswithin this span, so if you have a frame series consuming 95 kbps, 100 kbps, 105 kbps all

    three frames are encoded with 100 kbps if smoother is set to 5%.

    4. The Video -> SBC-Options -> Motion-Detection - Options:

  • 8/2/2019 Nandub Options Explained-V1.0

    9/19

  • 8/2/2019 Nandub Options Explained-V1.0

    10/19

    285 and low-motion at 265 will switch to DivX;-) high motion when motion detected in

    the first pass goes over 285 and will fall back to DivX;-) low motion when dropping

    below motion of 265 again. Don't use codec switching. It degrades quality at the high-

    motion scenes unneccessary and introduces problems with dropped frames and/or

    freeze frames - instead I use the bitrate reservoir modulation (see below) and the main

    DRFs. The high-motion codec is in fact nearly the same as the low-motion-codec (but has

    a better scene change detection core) with hardcoded DRFs from 5x to 16x. So you canemulate it by setting the DRFs according to that.

    4.4 Crispness modulation

    The crispness modulation is modulating the crispness (hehehe ;) ) level of the codec, this

    means that in high motion scenes the crispness is set from 100 dynamically down to (100-

    the value of this) (background: the eye doesn't notice the crispness that much in high

    motion scenes). For me, crispness modulation of 20-30% are working quite fine. Thismakes the scene better compressable while not introducing (as much as without this)

    "blockyness" in the final avi. This is working by "smoothing" the picture by using the

    codecs functions - it sets the crispness level of it per frame (and not overall as usual in the

    normal "out of the box" codec setup dialogue seen if you use flask for example).

    4.5 Enable BR modulation

    To cite Demi9OD:

    "What it will do is increase DRFs (less bits) for high motion scenes. This drops the actualbitrate under the first pass curve and adds to the gauge. These bits are then distributed

    into scenes with less motion. If you have your gauge set from 25-70, it should make no

    difference if BRm is on or off, file size should end up close to target."

    The disadvantage of it is, that it makes the movie look uglier. Maybe use this for 1 CD

    rips - but i don't recommand it as we now have the Motion based curve modulation. Never

    use it for 2 CD rips.

    5. The SBC-Options -> Gauge Control - Options:

  • 8/2/2019 Nandub Options Explained-V1.0

    11/19

  • 8/2/2019 Nandub Options Explained-V1.0

    12/19

    level the bitrate reservoir gets reset to if it drops below this level, it prevents the codec

    from using a too high compression on a frame. A good rule to get oversized movies is to

    set a high min. gauge and a low max DRF.

    Gauge max is limiting the upper bitrate reservoir border, if it gets too big it may introduce

    too low compression levels.

    5.4 KF Boost

    The amount of this value is added to the bitrate reservoir at insertation of a keyframe. I

    always use 5% here, but for most people 0% works well. A too high value may make the

    final filesize unpredictable, so I conform with doom9, 5% is max.

    With the new "Keyframe DRF" option (see below) I prefer to set it always to 5%.

    5.5 Freeze

    Don't touch this one. This will make the codec think, that this amount of the bitrate

    reservoir is available, forcing it to always use a certain amount of compression. It's used

    (and useful) only in the first pass.

    6. The Video -> SBC-Options - Compression Levels -Option

  • 8/2/2019 Nandub Options Explained-V1.0

    13/19

    DRF is short

    for "Detail

    Removal

    Factor" and

    therefore a

    higher DRF

    means highercompression.

    I always leave

    the possible

    granulation

    untouched

    and therefore

    all "when

    motion over"-

    fields at 300(this disables

    them as

    motion can't

    go over 299).

    I just use the

    Main DRF

    settings,

    varying from

    2x (min) to

    5x(max). This

    just works for 2 CD rips or very low motion (bitrate) movies, you have to raise the Max.

    value up to 9 (in "hardest cases" even 16!) to reach your desired filesize.

    A lower max DRF will give you better quality, but bigger filesize - a higher max DRF will

    result in a worse quality but a smaller file.

    New in nandub b0.24 is the "Keyframes quality" parameter. I set it to 2 or 3 as it gives an

    amazing quality boost, even if there a fewer bits left for the deltaframes. In former nandub

    versions keyframes almost always got a DRF level of 4x, no matter what the debug viewwas spitting out there. I tested this on some movies like gladiator and taxi taxi... it's

    amazing what quality you can get with these classical 2 CD rips on 1 CD with this!!!

    8. The SBC Options -> Bitrate Calculator

  • 8/2/2019 Nandub Options Explained-V1.0

    14/19

    vV_nn included the bitrate calculator of

    Kthulhu. It works straight forward like

    you expect an bitrate calculator to work

    %). Your calculated get's inserted as

    DivX bitrate automatically, that's the

    main advantage (as well as you don'tneed an external calculator anymore).

    9. The Options -> Preferences - Options

    9.0,5 The Main - tab

    Nando reactewd

    on the requests

    of some forum

    members and

    added a Dub

    default Process

    Priority. This is

    useful if you

    run many

    programs / tasks

    at the same time

    on your

    computer and

    want it to work

    alone for 2

    passes in one

    go.

    After finishing

    first pass the

    second passpriority got set

    back to the default process priority ("normal"). So set this box to the value you want the

    priority get set to by default.

  • 8/2/2019 Nandub Options Explained-V1.0

    15/19

    9.1 The Scene - tab

    Yazexplains

    that alternate

    SCD workswith

    luminance

    differences (see

    internal SCD

    for the other

    possibilities...).

    If luminance

    exceeds a "kind

    of tresholdlimit" nandub

    inserts a

    keyframe (the

    treshhold is

    dynamically

    calculated

    frame by frame,

    so it's variable).

    I cite him here:"the default value is ok for most movies. for darker ones (as most parts of "matrix", "dark

    city" or so) it should be lowered but not below 30%. (33% for matrix gave perfect kf

    setting)

    add.: i don't use the orig scd (vdub heritage) as it's very sensitive. it must be tuned movie

    to movie & it's almost hopeless to find a perfect setting for the whole movie."

    I just leave Interframe cut and fade untouched as they work fine at these values (or better:

    aren't used with alternative SCD). I check the new "alternative" as this is a scene detection

    core that gives really amazing results! The default Multiplier of 35 works pretty well for

    me.

    9.2 The AVI - tab

    mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]
  • 8/2/2019 Nandub Options Explained-V1.0

    16/19

    Hehehe, vV_nn

    inserted an "I'm

    the stupidest

    man on earth

    :P" optionYou may check

    this if you want

    to have a

    confirmation-

    dialogue before

    overwriting a

    stats-file.

    9.3 The SBC - tab

  • 8/2/2019 Nandub Options Explained-V1.0

    17/19

    The crosspoint

    value is used in

    the calculation

    (calc-button) at

    the curve-

    compression.Until now there

    is no final rule

    how this should

    be set, but using

    a crosspoint of

    230-280 for 1

    CD rips and 350-

    460 for 2 CD

    rips has beentested to work

    well. If you

    think your

    calced

    compression is

    too high just lower the crosspoint :)

    See the nandub documention (readme.doc) for how the crosspoint works.

    10. General things / FAQ

    1. Question: Do I need to use all the filters (resize, deinterlace, smoothers,..) at the first

    pass as well?

    Answer: Yes. Every filter that is changing the quality of the movie is affecting the

    "compressability" of it as well. For a good looking movie after second pass the first pass

    has to be _precise_, that's how nandub works. You will get an overcompressed movie if

    you don't use e.g. the smoother filters in the first pass as nandub decides about thecompression of a frame by looking how big it was after the first pass. I tried it once or

    twice to not use the same filters in the first pass and the movies looked like shit after that

  • 8/2/2019 Nandub Options Explained-V1.0

    18/19

    as the frames were compressed too high.

    2. Question: I did all you wrote above and the result is all odd - blocky and jerky. What to

    do?

    Answer: You may have a problem with too many keyframes produced by AntiShit. Try

    disabling it by setting it to 0 and see if it works! Disable minQuality as well. Else, set themin gauge lower and the max DRF higher.

    3. Question: Which resize filter method should I use in nandub?

    Answer: If you're going to do 1 CD rips then use precise bilinear, as it smoothers the

    picture a little and makes it better compressable. For 2 CD rips, use precise bicubic, as it

    sharpens the picture a bit and thus enforces the codec to use more bits as it doesn't "like"

    sharp edges.

    4. Question: What's with the end credits? Nandub always makes them _huge_ in

    bitrate/size!

    Answer: Well... encode them manually. Take a pencil and a papersheet and then search

    your input video for the beginning of the end credits. In the statusbar of nandub you can

    see the actual frame number. Write it down. Now go to "select range" in the video menu,

    enter start: 0, end: (your frame-number you wrote down). Do all the usual main setup for

    the movie, except for the end credits: leave them empty.

    Do "save avi as" as this starts the second pass.

    If this is ready, go to the range-settings again and enter start: (your downwritten number),

    end: last frame of the movie... you can get the number by moving the slider all to the right

    side before (maybe you should write downthat number as well ;) ). If you selected the

    credits range now, just go to the normal settings like DivX Bitrate etc and lower them to

    for example 200 kbps. Min Kbps to 150, Hi-Pass 150 as well, main DRFs 2x-16x,... and

    so on. Well, with nandub b0.24 the end credits solution should finally be done right. (I

    can't confirm this yet.)

    5. Question: What if the final size is too big/small?

    Answer: rmateisuggests:

    If filesize is too small:

    lower the DRF, raise min & max gauge, use bicubic, raise resolution. NEVER raise

    bitrate, that makes it even less predictable.

    If filesize is too big:

    FIRST & FOREMOST reencode credits, then raise DRF, lower min & max gauge, use

    bilinear, lower resolution. Or shoot for one more CD ;)

    6. Question:

    Answer:

    mailto:[email protected]?subject=[NOE]mailto:[email protected]?subject=[NOE]
  • 8/2/2019 Nandub Options Explained-V1.0

    19/19

    The End

    This "nandub options explained"-document is (c)2001 by Koepi.

    Thanks for everyone who is giving support at doom9's forum ! Without all your help i

    couldn't have compiled this document, so you are the real maintainers of this document!!!

    Treat it as public domain licensed, but if you use it for anything

    please do me the favor for my ego to mention me ;-)

    mailto:[email protected]?subject=[NOE]http://forum.doom9.net/http://forum.doom9.net/mailto:[email protected]?subject=[NOE]