[FFmpeg-devel] [PATCH] RV40 Loop Filter

Michael Niedermayer michaelni
Sun Oct 26 17:52:25 CET 2008


On Sun, Oct 26, 2008 at 03:41:09PM +0200, Kostya wrote:
> On Sat, Oct 25, 2008 at 11:14:25AM +0200, Michael Niedermayer wrote:
> > On Sat, Oct 25, 2008 at 10:08:44AM +0300, Kostya wrote:
> > > On Wed, Oct 22, 2008 at 10:53:23AM +0200, Michael Niedermayer wrote:
> > > > On Tue, Oct 21, 2008 at 09:23:21AM +0300, Kostya wrote:
> > [...]
> > > > [...]
> > > > > +static int rv40_set_deblock_coef(RV34DecContext *r)
> > > > > +{
> > > > > +    MpegEncContext *s = &r->s;
> > > > > +    int mvmask = 0, i, j, dx, dy;
> > > > > +    int midx = s->mb_x * 2 + s->mb_y * 2 * s->b8_stride;
> > > > 
> > > > > +    if(s->pict_type == FF_I_TYPE)
> > > > > +        return 0;
> > > > 
> > > > why is this even called for i frames?
> > > 
> > > I intend to use it for calculating macroblock-specific deblock
> > > strength in RV30.
> > 
> > fine but how is that related to having the pict_type check inside the
> > function compared to outside?
>  
> For RV30 setting deblock coefficients would be performed for
> I-frames as well.

What this function does is comparing motion vectors, there are no motion
vectors in I frames.


[...]
> > [...]
> > > [lots of loop filter invoking] 
> > > > 
> > > > the word mess is probably the best way to describe this
> > > > as far as i can tell you are packing all the bits related to deblocking
> > > > and then later duplicate code each with hardcoded masks to extract them
> > > > again.
> > > 
> > > We have a saying here "To make a candy from crap", which I think describes
> > > current situation. I'd like to shot the group of men who proposed the loop
> > > filter in the form RV40 has it.
> > 
> > there arent many codecs around that are cleanly designed ...
> > Some things here and there are ok but terrible messes like this are more
> > common.
> > We dont have too much of a choice, to support things the mess has to be
> > implemented. If it can be done cleaner/simpler thats a big advantage in the
> > long term, easier to maintain, understand, optimize; smaller and faste, ...
> 
> Also I think that forcing someone to understand it counts as
> a psychological abuse and the sentence on it should be
> debugging X8 frames or implementing interlaced mode in VC-1
> (sorry, can't remember more evil codecs).

Theres a problem with X8 ? I thought it was implemented correctly ...

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Opposition brings concord. Out of discord comes the fairest harmony.
-- Heraclitus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081026/a2a5a074/attachment.pgp>



More information about the ffmpeg-devel mailing list