nice thread

atm im puzzling what i want do next, so lemme ask some question's.

Is the yuy2 to yv12 conversion done by ffdshow still a problem? Means is it importand to not do this conversion or is yv12 oki? If its a problem and we want to work on the yuy2 input many (better a small selection) of filters have to be changed to also work on yuy2 input direct.

For the resize algos... im still confused but i just looked at the Avisynth alpha 3.0 code wich has a clean and understandable implementation, the mplayer code is a mess if it comes to understanding.

Here is the code for calcing the coef's.

MitchellNetravali::MitchellNetravali(double b, double c)

{

p0 = ( 6. - 2. * b ) / 6.;

p2 = ( -18. + 12. * b + 6. * c ) / 6.;

p3 = ( 12. - 9. * b - 6. * c ) / 6.;

q0 = ( 8. * b + 24. * c ) / 6.;

q1 = ( - 12. * b - 48. * c ) / 6.;

q2 = ( 6. * b + 30. * c ) / 6.;

q3 = ( - b - 6. * c ) / 6.;

}

double MitchellNetravali:

perator ()(double x) const

{

x = fabs(x);

return (x

: (x

: 0.0;

}

double Lanczos3:

perator ()(double x) const

{

x = fabs(x);

static double const pi = 3.14159265358979323846;

static double const pi3 = pi / 3;

return (x

: 0.0;

}

So for lanczos2-10 its pretty clear, i just have to change the parameter for the sinc window.

If i understand the Catmull-Rom-Spline right its a normal Bicubic algo with b=0 and c=0.5?

While b=1/3 and c=1/3, are the org. Mitchell/Netravali values?

So u want lanczos2 to at least lanczos4 (maybe up to 10) and those 2 other settings for resize? If i also understand it right u want nearly 100% correct algo's since CPU time isnt a problem anymore?

Im still looking for other examples else than avisynth and mplayer for implementation of resize algos. Avisynth is the best to understand atm, but its pretty straight coded wich means not as tricky as the mplayer implementation. Is there any other project wich use resize algos and has opensource?

PS: are xvid rips encoded in yv12 or yuy2 or ..? How about DVD?