diff options
author | Janne Grunau <janne-libav@jannau.net> | 2014-05-29 14:21:05 +0200 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-06-03 14:23:03 +0200 |
commit | 896a5bff64264f4d01ed98eacc97a67260c1e17e (patch) | |
tree | 97b2aa8e1a230e7fda4a1d9232b12c5500ace3c1 /libavcodec/arm/vc1dsp_init_neon.c | |
parent | 68a06b3a639ee21c78532ee4c50c3366bf890ff7 (diff) | |
download | ffmpeg-896a5bff64264f4d01ed98eacc97a67260c1e17e.tar.gz |
arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.
Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.
http://llvm.org/bugs/show_bug.cgi?id=18199.
Diffstat (limited to 'libavcodec/arm/vc1dsp_init_neon.c')
-rw-r--r-- | libavcodec/arm/vc1dsp_init_neon.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/arm/vc1dsp_init_neon.c b/libavcodec/arm/vc1dsp_init_neon.c index 912e33cced..9ded7a28b9 100644 --- a/libavcodec/arm/vc1dsp_init_neon.c +++ b/libavcodec/arm/vc1dsp_init_neon.c @@ -22,6 +22,8 @@ #include "libavcodec/vc1dsp.h" #include "vc1dsp.h" +#include "config.h" + void ff_vc1_inv_trans_8x8_neon(int16_t *block); void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, int linesize, int16_t *block); void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, int linesize, int16_t *block); @@ -91,6 +93,7 @@ av_cold void ff_vc1dsp_init_neon(VC1DSPContext *dsp) dsp->vc1_inv_trans_4x4_dc = ff_vc1_inv_trans_4x4_dc_neon; dsp->put_vc1_mspel_pixels_tab[ 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; @@ -106,6 +109,7 @@ av_cold void ff_vc1dsp_init_neon(VC1DSPContext *dsp) 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; + } 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; |