[FFmpeg-devel] [PATCH] mips: fix build fail on MIPS R6
Junxian Zhu
zhujunxian at oss.cipunited.com
Thu Dec 1 09:00:06 EET 2022
From: Junxian Zhu <zhujunxian at oss.cipunited.com>
Add macro define to avoid causing build fail with incompatible assembler code on MIPS R6.
Signed-off-by: Junxian Zhu <zhujunxian at oss.cipunited.com>
---
libavcodec/mips/cabac.h | 2 ++
libavcodec/mips/compute_antialias_fixed.h | 2 ++
libavutil/mips/generic_macros_msa.h | 6 +++---
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/mips/cabac.h b/libavcodec/mips/cabac.h
index 39c308c7e0..20ecab4320 100644
--- a/libavcodec/mips/cabac.h
+++ b/libavcodec/mips/cabac.h
@@ -30,6 +30,7 @@
#include "libavutil/mips/mmiutils.h"
#include "config.h"
+#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
#define get_cabac_inline get_cabac_inline_mips
static av_always_inline int get_cabac_inline_mips(CABACContext *c,
uint8_t * const state){
@@ -225,4 +226,5 @@ static av_always_inline int get_cabac_bypass_sign_mips(CABACContext *c, int val)
return res;
}
+#endif /* !HAVE_MIPS32R6 && !HAVE_MIPS64R6 */
#endif /* AVCODEC_MIPS_CABAC_H */
diff --git a/libavcodec/mips/compute_antialias_fixed.h b/libavcodec/mips/compute_antialias_fixed.h
index 1f395d2302..982002ad4c 100644
--- a/libavcodec/mips/compute_antialias_fixed.h
+++ b/libavcodec/mips/compute_antialias_fixed.h
@@ -56,6 +56,7 @@
#define AVCODEC_MIPS_COMPUTE_ANTIALIAS_FIXED_H
#if HAVE_INLINE_ASM
+#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
static void compute_antialias_mips_fixed(MPADecodeContext *s,
GranuleDef *g)
{
@@ -246,6 +247,7 @@ static void compute_antialias_mips_fixed(MPADecodeContext *s,
}
}
#define compute_antialias compute_antialias_mips_fixed
+#endif /* !HAVE_MIPS32R6 && !HAVE_MIPS64R6 */
#endif /* HAVE_INLINE_ASM */
#endif /* AVCODEC_MIPS_COMPUTE_ANTIALIAS_FIXED_H */
diff --git a/libavutil/mips/generic_macros_msa.h b/libavutil/mips/generic_macros_msa.h
index 1486f7296e..9beb0443ed 100644
--- a/libavutil/mips/generic_macros_msa.h
+++ b/libavutil/mips/generic_macros_msa.h
@@ -44,7 +44,7 @@
#define ST_UW(...) ST_V(v4u32, __VA_ARGS__)
#define ST_SW(...) ST_V(v4i32, __VA_ARGS__)
-#if (__mips_isa_rev >= 6)
+#if HAVE_MIPS32R6 || HAVE_MIPS64R6
#define LH(psrc) \
( { \
uint16_t val_lh_m = *(uint16_t *)(psrc); \
@@ -85,7 +85,7 @@
#define SW(val, pdst) *(uint32_t *)(pdst) = (val);
#define SD(val, pdst) *(uint64_t *)(pdst) = (val);
-#else // !(__mips_isa_rev >= 6)
+#else // !HAVE_MIPS32R6 && !HAVE_MIPS64R6
#define LH(psrc) \
( { \
uint8_t *psrc_lh_m = (uint8_t *) (psrc); \
@@ -188,7 +188,7 @@
SW(val0_sd_m, pdst_sd_m); \
SW(val1_sd_m, pdst_sd_m + 4); \
}
-#endif // (__mips_isa_rev >= 6)
+#endif // HAVE_MIPS32R6 || HAVE_MIPS64R6
/* Description : Load 4 words with stride
Arguments : Inputs - psrc (source pointer to load from)
--
2.38.1.windows.1
More information about the ffmpeg-devel
mailing list