On Wed, Apr 10, 2013 at 07:24:32PM +0300, Martin Storsjö wrote:
> --- a/libavcodec/arm/Makefile
> +++ b/libavcodec/arm/Makefile
> @@ -31,6 +31,9 @@ OBJS-$(CONFIG_H264DSP) +=
> arm/h264dsp_init_arm.o
> OBJS-$(CONFIG_H264PRED) += arm/h264pred_init_arm.o
> OBJS-$(CONFIG_H264QPEL) += arm/h264qpel_init_arm.o
>
> +OBJS-$(CONFIG_HPELDSP) += arm/hpeldsp_arm.o \
> + arm/hpeldsp_init_arm.o
> +
> OBJS-$(CONFIG_RV30_DECODER) += arm/rv34dsp_init_arm.o
> OBJS-$(CONFIG_RV40_DECODER) += arm/rv34dsp_init_arm.o \
> arm/rv40dsp_init_arm.o \
> @@ -58,6 +61,9 @@ ARMV6-OBJS +=
> arm/dsputil_init_armv6.o \
> arm/dsputil_armv6.o \
> arm/simple_idct_armv6.o \
>
> +ARMV6-OBJS-$(CONFIG_HPELDSP) += arm/hpeldsp_armv6.o \
> + arm/hpeldsp_init_armv6.o
> +
> VFP-OBJS-$(HAVE_ARMV6) += arm/fmtconvert_vfp.o
>
> NEON-OBJS-$(CONFIG_FFT) += arm/fft_neon.o \
> @@ -76,6 +82,9 @@ NEON-OBJS-$(CONFIG_H264PRED) +=
> arm/h264pred_neon.o \
>
> NEON-OBJS-$(CONFIG_H264QPEL) += arm/h264qpel_neon.o \
>
> +NEON-OBJS-$(CONFIG_HPELDSP) += arm/hpeldsp_neon.o \
> + arm/hpeldsp_init_neon.o
> +
> NEON-OBJS-$(CONFIG_AC3DSP) += arm/ac3dsp_neon.o
>
> NEON-OBJS-$(CONFIG_AAC_DECODER) += arm/sbrdsp_neon.o \
This is somewhat random. I fixed it locally.
> --- a/libavcodec/arm/dsputil_arm.S
> +++ b/libavcodec/arm/dsputil_arm.S
> @@ -26,590 +26,6 @@
> -@ ----------------------------------------------------------------
> - .align 5
> -function ff_put_pixels16_arm, export=1
> - @ void func(uint8_t *block, const uint8_t *pixels, int line_size,
> int h)
Note to self: "int line_size" should be "ptrdiff_t line_size".
> --- a/libavcodec/arm/dsputil_init_armv6.c
> +++ b/libavcodec/arm/dsputil_init_armv6.c
> @@ -82,29 +64,6 @@ av_cold void ff_dsputil_init_armv6(DSPContext *c,
> AVCodecContext *avctx)
>
> - if (!high_bit_depth) {
> - c->put_pixels_tab[0][0] = ff_put_pixels16_armv6;
> - c->put_pixels_tab[0][1] = ff_put_pixels16_x2_armv6;
> - c->put_pixels_tab[0][2] = ff_put_pixels16_y2_armv6;
> -/* c->put_pixels_tab[0][3] = ff_put_pixels16_xy2_armv6; */
> - c->put_pixels_tab[1][0] = ff_put_pixels8_armv6;
> - c->put_pixels_tab[1][1] = ff_put_pixels8_x2_armv6;
> - c->put_pixels_tab[1][2] = ff_put_pixels8_y2_armv6;
> -/* c->put_pixels_tab[1][3] = ff_put_pixels8_xy2_armv6; */
> -
> - c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_armv6;
> - c->put_no_rnd_pixels_tab[0][1] = ff_put_pixels16_x2_no_rnd_armv6;
> - c->put_no_rnd_pixels_tab[0][2] = ff_put_pixels16_y2_no_rnd_armv6;
> -/* c->put_no_rnd_pixels_tab[0][3] = ff_put_pixels16_xy2_no_rnd_armv6; */
> - c->put_no_rnd_pixels_tab[1][0] = ff_put_pixels8_armv6;
> - c->put_no_rnd_pixels_tab[1][1] = ff_put_pixels8_x2_no_rnd_armv6;
> - c->put_no_rnd_pixels_tab[1][2] = ff_put_pixels8_y2_no_rnd_armv6;
> -/* c->put_no_rnd_pixels_tab[1][3] = ff_put_pixels8_xy2_no_rnd_armv6; */
> -
> - c->avg_pixels_tab[0][0] = ff_avg_pixels16_armv6;
> - c->avg_pixels_tab[1][0] = ff_avg_pixels8_armv6;
> - }
What's with the commented-out functions? Are they still around or is
this just cruft?
> --- a/libavcodec/arm/videodsp_arm.h
> +++ b/libavcodec/arm/hpeldsp_arm.h
> @@ -18,12 +18,12 @@
>
> -void ff_videodsp_init_armv5te(VideoDSPContext* ctx, int bpc);
> +void ff_hpeldsp_init_armv6(HpelDSPContext* c, int flags);
*c, fixed locally
> --- a/libavcodec/arm/dsputil_init_arm.c
> +++ b/libavcodec/arm/hpeldsp_init_arm.c
> @@ -19,16 +19,9 @@
>
> -#include "libavutil/attributes.h"
> #include "libavutil/arm/cpu.h"
> -#include "dsputil_arm.h"
> -
> -void ff_j_rev_dct_arm(int16_t *data);
> -void ff_simple_idct_arm(int16_t *data);
> -
> -/* XXX: local hack */
> -static void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels,
> int line_size);
> -static void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels,
> int line_size);
> +#include "libavcodec/bit_depth_template.c" // for CALL_2X_PIXELS
This is quite WTFy, that macro is used, not defined in that template,
the correct header should be rnd_avg.h.
> @@ -117,9 +62,7 @@ av_cold void ff_dsputil_init_arm(DSPContext *c,
> AVCodecContext *avctx)
>
> - if (have_armv5te(cpu_flags)) ff_dsputil_init_armv5te(c, avctx);
> - if (have_armv6(cpu_flags)) ff_dsputil_init_armv6(c, avctx);
> - if (have_neon(cpu_flags)) ff_dsputil_init_neon(c, avctx);
> + if (have_armv6(cpu_flags)) ff_hpeldsp_init_armv6(c, flags);
> + if (have_neon(cpu_flags)) ff_hpeldsp_init_neon(c, flags);
lines broken locally
> --- /dev/null
> +++ b/libavcodec/arm/hpeldsp_init_neon.c
> @@ -0,0 +1,86 @@
> +void ff_hpeldsp_init_neon(HpelDSPContext *c, int flags)
missing av_cold
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel