[FFmpeg-devel] [PATCH 3/6] avcodec/vp8dsp: add VP7 idct and loop filter

Ronald S. Bultje rsbultje at gmail.com
Fri Feb 7 13:15:11 CET 2014


Hi,

On Fri, Feb 7, 2014 at 5:41 AM, Peter Ross <pross at xvid.org> wrote:

> On Thu, Feb 06, 2014 at 03:13:20PM -0500, Ronald S. Bultje wrote:
> > Hi,
> >
> > On Thu, Feb 6, 2014 at 8:19 AM, Peter Ross <pross at xvid.org> wrote:
> >
> > > Signed-off-by: Peter Ross <pross at xvid.org>
> > > ---
> > >  libavcodec/arm/vp8dsp.h            |   4 +-
> > >  libavcodec/arm/vp8dsp_init_arm.c   |   6 +-
> > >  libavcodec/arm/vp8dsp_init_armv6.c |   4 +-
> > >  libavcodec/arm/vp8dsp_init_neon.c  |   4 +-
> > >  libavcodec/vp8.c                   |   2 +-
> > >  libavcodec/vp8dsp.c                | 273
> > > ++++++++++++++++++++++++++-----------
> > >  libavcodec/vp8dsp.h                |   6 +-
> > >  libavcodec/x86/vp8dsp_init.c       |  20 ++-
> > >  8 files changed, 229 insertions(+), 90 deletions(-)
> >
> > [..]
>
> [snip vp7 dct]
>
> > Can this be rewritten as a butterfly instead of matrix-multiply? This is
> a
> > lot of operations for an idct...
>
> Maybe. The algorithm is similar to the VP8 idct, but the rounding is
> different.
>

OK, so let's try to write it as a butterfly idct for consistency, that way
the code is more like the vp8 idct also I bet. If you want help, I can try
to look this weekend.


> FYI:- the On2 VP2 decoder uses a naive DCT for both MMX and C.
>

Hm...

Re vp8dsp modifications. GCC 4.8 on amd64 produces identical machine code
> for the
> vp8_*loop filter functions before and after the patch is applied. GCC will
> discard
> the dead portions of the 'if (vpn == 7)...' statement within
> filter_common().
>

OK cool, so that's OK then.

Ronald


More information about the ffmpeg-devel mailing list