[MPlayer-dev-eng] Re: Re: Re: Re: fast SPP - working code

Nikolaj porosh3 at psu.ru
Sat Jun 4 22:49:26 CEST 2005


On Sat, 4 Jun 2005 19:22:33 +0400, Vladimir Mosgalin 
<mosgalin at VM10124.spb.edu> wrote:

> Hi Bohdan Horst!
>
>  On 2005.06.04 at 13:13:11 +0200, Bohdan Horst wrote next:
>
>> strange.. looks like fspp doesn't obey quality level <4 (and is 
>> unusable on
>> mu P500 ;)
>
> It was said some time ago, this optimization requires level 4 or 5
> (dunno why it doesn't work on level 6, though). Levels 0-3 and 6 work
> like 4.

Yes, as it is, it requires level 4 or 5.
I have some variants and ideas about level 3 realization:
1. Most trivial one. Perform level 4 for luma and none (memcpy) for 
chrominance.
2. More rare sample locations. Level 4 uses hor&ver spacing of 2. If level 
3 use mostly the same functions, it will be with vert. spacing of 4. I 
doubt of its quality.
3. Various partial applications of level 4 - only part of frames, only 
certain blocks, only certain coefficients - we aren't bound by conforming 
spp :)
4. Since most inner & time consuming part is an overlapping dct/idct8 with 
step 2 (or two "threads" with 4), it probably can be replaced by simpler 
mdct transform with only a little worse quality. It just an idea and needs 
analysis. Or maybe someone is clever enough to simpify this case :). I've 
tried to investigate here - there are some good sources of ideas, for 
example dct domain motion compensation, but I had no success...
5. May be it unneeded at all - there can be other PP methods that work 
better than theese level 3 variants.

As for level 6, yes, it can be included quite easy. I've just noted 
original paper author (Aria Nosratinia) graph that shows that level 6 
gives not so big improvement over level 5, while it is around 2 times 
slower. So, I hadn't seen much sense in it.
Don't know why it works as level 4, this code:

static int control(struct vf_instance_s* vf, int request, void* data){
        switch(request){
        case VFCTRL_QUERY_MAX_PP_LEVEL:
            return 5;

     ,IMO, should limit max level to 5. Filter itself assumes it will never 
get level 6 request...

-- 
Best regards,
        Nikolaj                          mailto:nialpof at pisem.net




More information about the MPlayer-dev-eng mailing list