Log in

View Full Version : downsizing video - resizer between bil/bic


djskribbles
15th May 2007, 09:09
i typically like to downsize videos that are usually 1280x~720 (some less than 720). i've heard that its generally a good idea to use Bilinear for downsizing quite a bit, but i've seen others say that its ok to use sharper resizers like Lanczos or Bicubic. i found bicubic was a tad too sharp, but bilinear was a tad too soft. the bicubic i used was "bicubic precise" in fitcd. what would be a good resizer between bilinear and bicubic? and/or, what would you guys recommend for downsizing videos this much?

also, are all resizers included in avisynth? i'm using v2.5.7 btw.

wonkey_monkey
15th May 2007, 09:28
Do both and mix?


a=bilinearresize(x,y)
b=bicubicresize(x,y)
overlay(a,b,opacity=0.5)


Or blur slightly before using bicubic.

David

kypec
15th May 2007, 10:21
You didn't specify the resolution you are downsizing to :confused:
I have no experience with sources larger than 720x576 (PAL DVD) but I quite like the Spline36 for downsizing my encodes.

djskribbles
15th May 2007, 10:40
You didn't specify the resolution you are downsizing to :confused:
I have no experience with sources larger than 720x576 (PAL DVD) but I quite like the Spline36 for downsizing my encodes.
oops. :o
i want to downsize to 720x480 (for NTSC DVD).

Leak
15th May 2007, 10:53
i found bicubic was a tad too sharp, but bilinear was a tad too soft.
If you're using AviSynth for resizing, have you tried tweaking the bicubic resize's parameters?

BicubicResize is similar to BilinearResize, except that instead of a linear filtering function it uses the Mitchell-Netravali two-part cubic. The parameters b and c can be used to adjust the properties of the cubic, they are sometimes referred to as `blurring' and `ringing,' respectively.

With b = 0 and c = 0.75 the filter is exactly the same as VirtualDub's "precise bicubic," and the results are identical except for the VirtualDub scaling problem mentioned above. The default values are b = 1./3. and c = 1./3., which were the values recommended by Mitchell and Netravali as yielding the most visually pleasing results in subjective tests of human beings. Larger values of b and c can produce interesting op-art effects -- for example, try b = 0 and c = -5.
I.e. something like BicubicResize(720,480,b=0,c=0.75)
There's some more info than the above quote in AviSynth's documentation to BicubicResize - I recommend taking a look at it... :)

techreactor
15th May 2007, 11:03
Bicubic with a c=0.45 works fine for my taste

djskribbles
15th May 2007, 12:14
hmm, i'm a noob at using avisynth. like i said before, i use fitcd to do my scripts for me, and there are 2 different bicubic resize methods (std and precise). i can obviously edit the script though.
std gives this: BicubicResize(720,368,1/3,1/3,12,0,1256,528)
and precise gives this: BicubicResize(720,368,0,0.6,12,0,1256,528)
i used Precise before and it looked a tad too sharp. from the looks of it, the B value=0 and the C value=0.6? what do the B and C values change? from Leak's quote, it seems like the control the blurring (B) and ringing (C), is that right? if so, if i were to increase the B value, would that blur it more, and if i were to increase the C value, would it sharpen it more? :confused:

also, what are the B and C values for the standard Bicubic resize method? is that what "Bicubic std" is in Fitcd? and would this: BicubicResize(720,368,1/3,1/3,12,0,1256,528) be the same as this:BicubicResize(720,368,0.33,0.33,12,0,1256,528)?

djskribbles
15th May 2007, 12:21
Bicubic with a c=0.45 works fine for my taste
so if you were to leave the b value blank, would it default to bicubic's standard b value? and on that note, what are the default values? (i asked this in my above post too).

i always wondered why fitcd added different values when i used bicubic std/bicubic precise. now i know what they are.

Leak
15th May 2007, 12:32
also, what are the B and C values for the standard Bicubic resize method? is that what "Bicubic std" is in Fitcd? and would this: BicubicResize(720,368,1/3,1/3,12,0,1256,528) be the same as this:BicubicResize(720,368,0.33,0.33,12,0,1256,528)?
If that's what FitCD uses, then "Bicubic std" is totally wrong.

1/3 evaluates to 0, because it's an integer operation, not a floating point one. Thus FitCD would be using a value of 0 for b and c... :(

The correct statement would have been BicubicResize(720,368,1.0/3.0,1.0/3.0,12,0,1256,528)
(Note the added ".0"'s... of course, using "0.333333" would have worked as well.)

djskribbles
15th May 2007, 12:52
i see.

now that i know what those numbers mean, i'm confused about something else now. correct me if i'm wrong, but the 12,0 numbers in the lines are the crop values correct? how is avisynth supposed to know what numbers are what? is there a specific order? i was told that the crop values are entered in this order: left, top, right, bottom. ie:
BicubicResize(720,368,1.0/3.0,1.0/3.0,12,0,1256,528)
=
BicubicResize(vert res, horiz res, b value, c value, crop left, crop top, crop right, crop bottom, orig v res, orig h res)
is that right? if so, that brings up another question... why does fitcd leave out some values then? like it only has 12,0 for crop values. and why does it even crop the video in the first place?

:confused: :confused: :confused:

techreactor
16th May 2007, 05:56
FitCD is old and Paranoia (http://sourceforge.net/projects/paranoia-) gives more precise resizing/cropping options on your videos and generates the avisynth scripts too.

djskribbles
16th May 2007, 10:05
thanks TR.