summaryrefslogtreecommitdiff
path: root/libavcodec/x86/rv40dsp_init.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-08-20 15:26:02 +0200
committerDiego Biurrun <diego@biurrun.de>2013-08-28 23:59:24 +0200
commitcd529172377229f2e86987869ccc08f426bfe114 (patch)
tree2114c597d59a8f7f53bc04aeded7ef2c4a7d188a /libavcodec/x86/rv40dsp_init.c
parenta519583991c38d38503ab08357716513facc5725 (diff)
x86: rv40dsp: Move inline assembly optimizations out of YASM init section
Diffstat (limited to 'libavcodec/x86/rv40dsp_init.c')
-rw-r--r--libavcodec/x86/rv40dsp_init.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index d9b66af19a..aeb9072f4c 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -213,18 +213,21 @@ static void avg_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src,
av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c)
{
-#if HAVE_YASM
int cpu_flags = av_get_cpu_flags();
- if (EXTERNAL_MMX(cpu_flags)) {
- c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx;
- c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx;
#if HAVE_MMX_INLINE
+ if (INLINE_MMX(cpu_flags)) {
c->put_pixels_tab[0][15] = put_rv40_qpel16_mc33_mmx;
c->put_pixels_tab[1][15] = put_rv40_qpel8_mc33_mmx;
c->avg_pixels_tab[0][15] = avg_rv40_qpel16_mc33_mmx;
c->avg_pixels_tab[1][15] = avg_rv40_qpel8_mc33_mmx;
+ }
#endif /* HAVE_MMX_INLINE */
+
+#if HAVE_YASM
+ if (EXTERNAL_MMX(cpu_flags)) {
+ c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx;
+ c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx;
#if ARCH_X86_32
QPEL_MC_SET(put_, _mmx)
#endif