On Mon, Jan 18, 2016 at 04:50:18PM +0100, Hendrik Leppkes wrote: > On Mon, Jan 18, 2016 at 4:38 PM, Diego Biurrun <[email protected]> wrote: > > --- /dev/null > > +++ b/libavcodec/x86/hpeldsp_vp3_init.c > > @@ -0,0 +1,54 @@ > > + > > +#include "libavutil/attributes.h" > > +#include "libavutil/cpu.h" > > +#include "libavutil/x86/cpu.h" > > +#include "libavcodec/avcodec.h" > > +#include "libavcodec/hpeldsp.h" > > +#include "hpeldsp.h" > > + > > +void ff_put_no_rnd_pixels8_x2_exact_mmxext(uint8_t *block, > > + const uint8_t *pixels, > > + ptrdiff_t line_size, int h); > > +void ff_put_no_rnd_pixels8_x2_exact_3dnow(uint8_t *block, > > + const uint8_t *pixels, > > + ptrdiff_t line_size, int h); > > +void ff_put_no_rnd_pixels8_y2_exact_mmxext(uint8_t *block, > > + const uint8_t *pixels, > > + ptrdiff_t line_size, int h); > > +void ff_put_no_rnd_pixels8_y2_exact_3dnow(uint8_t *block, > > + const uint8_t *pixels, > > + ptrdiff_t line_size, int h); > > + > > +av_cold void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags, int > > flags) > > +{ > > + if (EXTERNAL_AMD3DNOW(cpu_flags)) { > > + if (flags & AV_CODEC_FLAG_BITEXACT) { > > + c->put_no_rnd_pixels_tab[1][1] = > > ff_put_no_rnd_pixels8_x2_exact_3dnow; > > + c->put_no_rnd_pixels_tab[1][2] = > > ff_put_no_rnd_pixels8_y2_exact_3dnow; > > + } > > + } > > + > > + if (EXTERNAL_MMXEXT(cpu_flags)) { > > + if (flags & AV_CODEC_FLAG_BITEXACT) { > > + c->put_no_rnd_pixels_tab[1][1] = > > ff_put_no_rnd_pixels8_x2_exact_mmxext; > > + c->put_no_rnd_pixels_tab[1][2] = > > ff_put_no_rnd_pixels8_y2_exact_mmxext; > > + } > > + } > > +} > > IMHO, either split this off entirely into its own DSP Context, or keep > it grouped with the others.
"This" and "it" are somewhat loosely defined here. What exactly would you do? I have a hunch I already tried and failed to implement your idea before arriving at the current implementation. Diego _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
