[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