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

Peter Ross pross at xvid.org
Fri Feb 7 11:41:03 CET 2014


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.
FYI:- the On2 VP2 decoder uses a naive DCT for both MMX and C.

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().

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140207/171e5910/attachment.asc>


More information about the ffmpeg-devel mailing list