[FFmpeg-devel] [PATCH] vp9: add subpel MC SIMD for 10/12bpp.

Ronald S. Bultje rsbultje at gmail.com
Wed Sep 16 22:48:33 CEST 2015


Hi,

On Wed, Sep 16, 2015 at 4:31 PM, James Almer <jamrial at gmail.com> wrote:

> On 9/16/2015 4:17 PM, Ronald S. Bultje wrote:
> > ---
> >  libavcodec/x86/Makefile                     |   5 +-
> >  libavcodec/x86/vp9dsp_init.c                | 197 +++----------
> >  libavcodec/x86/vp9dsp_init.h                | 110 +++++++-
> >  libavcodec/x86/vp9dsp_init_10bpp.c          |  25 ++
> >  libavcodec/x86/vp9dsp_init_12bpp.c          |  25 ++
> >  libavcodec/x86/vp9dsp_init_16bpp.c          |   2 +-
> >  libavcodec/x86/vp9dsp_init_16bpp_template.c |  63 +++++
>
> Using a template file seems unnecessarily complex. Why not just call the
> macros
> to declare both 10 and 12 bits prototypes inside vp9dsp_init_16bpp.c, then
> in
> ff_vp9dsp_init_16bpp_x86() do
>
> if (bpp == 10) { init stuff }
> else if (bpp == 12) { init stuff }
>
> Sort of like how h264 and hevc currently do.
> Afaics all 10/12bit function prototypes are going to be the same so the
> above
> approach is probably cleaner (One file instead of four).


Well, two of these files are only 2 lines, so it's really just 2 files. The
nice thing is that it's half the code for the bpp-specific stuff.

If you don't like it I'll remove it, but I personally liked the fact that
it prevents duplicate source code between the 10/12bpp setup.

Ronald


More information about the ffmpeg-devel mailing list