Merge commit '896a5bff64264f4d01ed98eacc97a67260c1e17e'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Jun 2014 16:19:21 +0000 (18:19 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Jun 2014 16:19:21 +0000 (18:19 +0200)
* commit '896a5bff64264f4d01ed98eacc97a67260c1e17e':
  arm: check if AS supports .dn

Conflicts:
configure
libavcodec/arm/vc1dsp_init_neon.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
configure
libavcodec/arm/vc1dsp_init_neon.c
libavcodec/arm/vc1dsp_neon.S

diff --cc configure
+++ b/configure
@@@ -4267,10 -3722,22 +4268,24 @@@ unsigned int endian = 'B' << 24 | 'I' <
  EOF
  od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
  
+ if enabled asm; then
+     enabled     arm         && nogas=die
+     enabled_all ppc altivec && nogas=warn
+     as=${gas:=$as}
+     check_as <<EOF && enable gnu_as || \
+         $nogas "GNU assembler not found, install gas-preprocessor"
+ .macro m n
+ \n: .int 0
+ .endm
+ m x
+ EOF
+ fi
  check_inline_asm inline_asm_labels '"1:\n"'
  
 +check_inline_asm inline_asm_nonlocal_labels '"Label:\n"'
 +
  if enabled aarch64; then
      enabled armv8 && check_insn armv8 'prfm   pldl1strm, [x0]'
      # internal assembler in clang 3.3 does not support this instruction
@@@ -4285,12 -3752,8 +4300,11 @@@ elif enabled alpha; the
  
  elif enabled arm; then
  
 -    check_cpp_condition stddef.h "defined __thumb__" && enable_weak thumb
 +    check_cpp_condition stddef.h "defined __thumb__" && check_cc <<EOF && enable_weak thumb
 +float func(float a, float b){ return a+b; }
 +EOF
 +
      enabled thumb && check_cflags -mthumb || check_cflags -marm
-     nogas=die
  
      if     check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then
          enable vfp_args
@@@ -92,25 -92,24 +94,27 @@@ av_cold void ff_vc1dsp_init_neon(VC1DSP
      dsp->vc1_inv_trans_8x4_dc = ff_vc1_inv_trans_8x4_dc_neon;
      dsp->vc1_inv_trans_4x4_dc = ff_vc1_inv_trans_4x4_dc_neon;
  
 -    dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_pixels8x8_neon;
 +    dsp->put_vc1_mspel_pixels_tab[1][ 0] = ff_put_pixels8x8_neon;
+     if (HAVE_AS_DN_DIRECTIVE) {
 -    dsp->put_vc1_mspel_pixels_tab[ 1] = ff_put_vc1_mspel_mc10_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 2] = ff_put_vc1_mspel_mc20_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 3] = ff_put_vc1_mspel_mc30_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 4] = ff_put_vc1_mspel_mc01_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 5] = ff_put_vc1_mspel_mc11_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 6] = ff_put_vc1_mspel_mc21_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 7] = ff_put_vc1_mspel_mc31_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 8] = ff_put_vc1_mspel_mc02_neon;
 -    dsp->put_vc1_mspel_pixels_tab[ 9] = ff_put_vc1_mspel_mc12_neon;
 -    dsp->put_vc1_mspel_pixels_tab[10] = ff_put_vc1_mspel_mc22_neon;
 -    dsp->put_vc1_mspel_pixels_tab[11] = ff_put_vc1_mspel_mc32_neon;
 -    dsp->put_vc1_mspel_pixels_tab[12] = ff_put_vc1_mspel_mc03_neon;
 -    dsp->put_vc1_mspel_pixels_tab[13] = ff_put_vc1_mspel_mc13_neon;
 -    dsp->put_vc1_mspel_pixels_tab[14] = ff_put_vc1_mspel_mc23_neon;
 -    dsp->put_vc1_mspel_pixels_tab[15] = ff_put_vc1_mspel_mc33_neon;
 +    FN_ASSIGN(1, 0);
 +    FN_ASSIGN(2, 0);
 +    FN_ASSIGN(3, 0);
 +
 +    FN_ASSIGN(0, 1);
 +    FN_ASSIGN(1, 1);
 +    FN_ASSIGN(2, 1);
 +    FN_ASSIGN(3, 1);
 +
 +    FN_ASSIGN(0, 2);
 +    FN_ASSIGN(1, 2);
 +    FN_ASSIGN(2, 2);
 +    FN_ASSIGN(3, 2);
 +
 +    FN_ASSIGN(0, 3);
 +    FN_ASSIGN(1, 3);
 +    FN_ASSIGN(2, 3);
 +    FN_ASSIGN(3, 3);
+     }
  
      dsp->put_no_rnd_vc1_chroma_pixels_tab[0] = ff_put_vc1_chroma_mc8_neon;
      dsp->avg_no_rnd_vc1_chroma_pixels_tab[0] = ff_avg_vc1_chroma_mc8_neon;
Simple merge