[FFmpeg-devel] [PATCH 2/3] VP8: Implement bicubic MC functions (put_vp8_epel*)

Ronald S. Bultje rsbultje
Thu Sep 16 22:42:47 CEST 2010


Hi,

On Thu, Sep 16, 2010 at 2:28 PM, Rob Clark <rob at ti.com> wrote:
> +#define VP8_MC_FUNC(IDX, SIZE) \
> + ? ?dsp->put_vp8_epel_pixels_tab[IDX][0][0] = put_vp8_pixels ## SIZE ## _neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][0][1] = put_vp8_epel ## SIZE ## _h4_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][0][2] = put_vp8_epel ## SIZE ## _h6_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][1][0] = put_vp8_epel ## SIZE ## _v4_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][1][1] = put_vp8_epel ## SIZE ## _h4v4_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][1][2] = put_vp8_epel ## SIZE ## _h6v4_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][2][0] = put_vp8_epel ## SIZE ## _v6_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][2][1] = put_vp8_epel ## SIZE ## _h4v6_neon; \
> +// ? ?dsp->put_vp8_epel_pixels_tab[IDX][2][2] = put_vp8_epel ## SIZE ## _h6v6_neon
[..]
> + ? ? ? ?VP8_MC_FUNC(0, 16);
> + ? ? ? ?VP8_MC_FUNC(1, 8);
> + ? ? ? ?VP8_MC_FUNC(2, 4);
[..]
> + ? ? ? ?// XXX
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[0][2][0] = put_vp8_epel16_v6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[0][0][2] = put_vp8_epel16_h6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[0][2][2] = put_vp8_epel16_h6v6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][2][0] = put_vp8_epel8_v6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][0][2] = put_vp8_epel8_h6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][2][2] = put_vp8_epel8_h6v6_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][1][0] = put_vp8_epel8_v4_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][0][1] = put_vp8_epel8_h4_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][1][1] = put_vp8_epel8_h4v4_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][1][2] = put_vp8_epel8_h6v4_neon;
> + ? ? ? ?dsp->put_vp8_epel_pixels_tab[1][2][1] = put_vp8_epel8_h4v6_neon;

??

I understand the epel16 h4 or v4 variants are missing because luma has
no odd mx/my values, but you could at least explain this in a comment
instead of leaving stuff randomly commented out and having macros that
do essentially nothing?

Is a epel4 variant possible also (even if it doesn't use half of the
register size, using the epel8 function skeleton)?

Ronald



More information about the ffmpeg-devel mailing list