summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-08-29 14:48:42 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-08-29 14:48:46 +0200
commit37494bdb0d42c222c302270f3a83e38ae2131887 (patch)
treea895aa6593738924b7b1dc700831cf77be75d03d /libavcodec
parentdb6b389c7f2176487cc4622a18f58e6b10af8e99 (diff)
parentcd529172377229f2e86987869ccc08f426bfe114 (diff)
Merge commit 'cd529172377229f2e86987869ccc08f426bfe114'
* commit 'cd529172377229f2e86987869ccc08f426bfe114': x86: rv40dsp: Move inline assembly optimizations out of YASM init section Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-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 6baad13b9e..7eb209804a 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