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

Reply via email to