[PATCH] fix compilation failure with MMX

Mikulas Patocka <[email protected]>
Newsgroups gmane.comp.video.mplayer.devel
Message-ID <alpine.DEB.2.02.1605071254360.2669@leontynka>
Hi

The file libmpcodecs/vf_fspp.c doesn't compile if HAVE_MMX_INLINE is true 
and HAVE_MMXEXT_INLINE is false (i.e. on Pentium MMX, Pentium 2 or K6 
processors).

It fails with these errors:
libmpcodecs/vf_fspp.c: In function 'column_fidct_c':
libmpcodecs/vf_fspp.c:750:5: error: unknown type name 'int_simd16_t'
libmpcodecs/vf_fspp.c:751:5: error: unknown type name 'int_simd16_t'
libmpcodecs/vf_fspp.c:752:5: error: unknown type name 'int_simd16_t'
libmpcodecs/vf_fspp.c:753:5: error: unknown type name 'int_simd16_t'
libmpcodecs/vf_fspp.c:789:18: error: 'FIX_0_707106781' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:789:18: note: each undeclared identifier is reported only once for each function it appears in
libmpcodecs/vf_fspp.c:804:21: error: 'FIX_1_414213562_A' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:817:18: error: 'FIX_0_382683433' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:818:18: error: 'FIX_0_541196100' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:819:18: error: 'FIX_1_306562965' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:844:21: error: 'FIX_1_414213562' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:845:21: error: 'FIX_1_847759065' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:846:21: error: 'FIX_1_082392200' undeclared (first use in this function)
libmpcodecs/vf_fspp.c:847:21: error: 'FIX_2_613125930' undeclared (first use in this function)
libmpcodecs/vf_fspp.c: At top level:
libmpcodecs/vf_fspp.c:396:13: warning: 'column_fidct_mmx' used but never defined [enabled by default]
libmpcodecs/vf_fspp.c:748:13: warning: 'column_fidct_c' defined but not used [-Wunused-function]

This patch fixes it.

Mikulas

---
 libmpcodecs/vf_fspp.c |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

Index: mplayer/libmpcodecs/vf_fspp.c
===================================================================
--- mplayer.orig/libmpcodecs/vf_fspp.c	2016-04-28 20:30:50.000000000 +0200
+++ mplayer/libmpcodecs/vf_fspp.c	2016-04-29 12:52:13.000000000 +0200
@@ -173,7 +173,6 @@ static void row_fdct_c(int16_t *data, co
 #define store_slice_s store_slice_c
 #define store_slice2_s store_slice2_c
 #define mul_thrmat_s mul_thrmat_c
-#define column_fidct_s column_fidct_c
 #define row_idct_s row_idct_c
 #define row_fdct_s row_fdct_c
 
@@ -393,7 +392,6 @@ static void mul_thrmat_mmx(struct vf_pri
         );
 }
 
-static void column_fidct_mmx(int16_t* thr_adr,  int16_t *data,  int16_t *output,  int cnt);
 static void row_idct_mmx(int16_t* workspace,
                          int16_t* output_adr,  int output_stride,  int cnt);
 static void row_fdct_mmx(int16_t *data,  const uint8_t *pixels,  int line_size,  int cnt);
@@ -401,11 +399,18 @@ static void row_fdct_mmx(int16_t *data,
 #define store_slice_s store_slice_mmx
 #define store_slice2_s store_slice2_mmx
 #define mul_thrmat_s mul_thrmat_mmx
-#define column_fidct_s column_fidct_mmx
 #define row_idct_s row_idct_mmx
 #define row_fdct_s row_fdct_mmx
 #endif // HAVE_MMX_INLINE
 
+#if !HAVE_MMXEXT_INLINE
+static void column_fidct_c(int16_t* thr_adr,  int16_t *data,  int16_t *output,  int cnt);
+#define column_fidct_s column_fidct_c
+#else
+static void column_fidct_mmx(int16_t* thr_adr,  int16_t *data,  int16_t *output,  int cnt);
+#define column_fidct_s column_fidct_mmx
+#endif
+
 static void filter(struct vf_priv_s *p, uint8_t *dst, uint8_t *src,
                    int dst_stride, int src_stride,
                    int width, int height,
@@ -728,7 +733,9 @@ DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_
 DECLARE_ASM_CONST(8, uint64_t, MM_DESCALE_RND)=C64(4);
 DECLARE_ASM_CONST(8, uint64_t, MM_2)=C64(2);
 
-#else /* !HAVE_MMXEXT_INLINE */
+#endif /* !HAVE_MMX_INLINE */
+
+#if !HAVE_MMX_INLINE || !HAVE_MMXEXT_INLINE
 
 typedef int32_t int_simd16_t;
 static const int16_t FIX_0_382683433=FIX(0.382683433, 14);
_______________________________________________
MPlayer-dev-eng mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.