[FFmpeg-devel] [PATCH] Use [48]x[48] DCTs for fasttx mode in WMV3

Kostya kostya.shishkov
Mon Dec 3 08:45:38 CET 2007


On Mon, Dec 03, 2007 at 12:04:41AM +0100, Michael Niedermayer wrote:
> On Sun, Dec 02, 2007 at 07:22:03PM +0200, Kostya wrote:
> > Here is a patch which adds 8x4, 4x8 and 4x4 reference DCTs
> > to use them in WMV3 with fasttx mode. This fixes some small
> > artefacts caused by another transform used.
> 
> [...]
> 
> > +void simple_idct84(DCTELEM *block);
> > +void simple_idct48(DCTELEM *block);
> > +void simple_idct44(DCTELEM *block);
> 
> these should have ff_ prefixes
> 
> 
> [...]
> 
> > @@ -428,7 +428,7 @@
> >     and the butterfly must be multiplied by 0.5 * sqrt(2.0) */
> >  #define C_SHIFT (4+1+12)
> >  
> > -static inline void idct4col(uint8_t *dest, int line_size, const DCTELEM *col)
> > +static inline void idct4col_put(uint8_t *dest, int line_size, const DCTELEM *col)
> >  {
> >      int c0, c1, c2, c3, a0, a1, a2, a3;
> >      const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
> > @@ -491,8 +491,8 @@
> >  
> >      /* IDCT4 and store */
> >      for(i=0;i<8;i++) {
> > -        idct4col(dest + i, 2 * line_size, block + i);
> > -        idct4col(dest + line_size + i, 2 * line_size, block + 8 + i);
> > +        idct4col_put(dest + i, 2 * line_size, block + i);
> > +        idct4col_put(dest + line_size + i, 2 * line_size, block + 8 + i);
> >      }
> >  }
> 
> commit these hunks anytime but not together with the unrelated rest

ok, will do.
 
> for the rest id like you to explain why wmv3 cant use the add/put functions
> if the awnser is, "because the implementation doesnt expect it" then so fix
> the implementation!

No answer then.
Still, simple_idct44_add() will be needed.
 
> [...]
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB




More information about the ffmpeg-devel mailing list