The Xvid IDCT is not MMX-specific.
---
This was an eyesore ...
libavcodec/avcodec.h | 3 +++
libavcodec/options_table.h | 5 ++++-
libavcodec/version.h | 3 +++
libavcodec/x86/idct_sse2_xvid.c | 2 +-
libavcodec/xvididct.c | 4 ++--
5 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 0cc8174..93aad35 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2478,7 +2478,10 @@ typedef struct AVCodecContext {
#if FF_API_UNUSED_MEMBERS
#define FF_IDCT_IPP 13
#endif /* FF_API_UNUSED_MEMBERS */
+#define FF_IDCT_XVID 14
+#if FF_API_IDCT_XVIDMMX
#define FF_IDCT_XVIDMMX 14
+#endif /* FF_API_IDCT_XVIDMMX */
#define FF_IDCT_SIMPLEARMV5TE 16
#define FF_IDCT_SIMPLEARMV6 17
#if FF_API_ARCH_SPARC
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index 61cde0ff..cf1f20a 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -214,7 +214,10 @@ static const AVOption avcodec_options[] = {
#if FF_API_UNUSED_MEMBERS
{"ipp", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_IPP }, INT_MIN, INT_MAX,
V|E|D, "idct"},
#endif /* FF_API_UNUSED_MEMBERS */
-{"xvidmmx", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVIDMMX }, INT_MIN,
INT_MAX, V|E|D, "idct"},
+{"xvid", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX,
V|E|D, "idct"},
+#if FF_API_IDCT_XVIDMMX
+{"xvidmmx", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN,
INT_MAX, V|E|D, "idct"},
+#endif /* FF_API_IDCT_XVIDMMX */
{"faani", "floating point AAN IDCT", 0, AV_OPT_TYPE_CONST, {.i64 =
FF_IDCT_FAAN }, INT_MIN, INT_MAX, V|D|E, "idct"},
{"slice_count", NULL, OFFSET(slice_count), AV_OPT_TYPE_INT, {.i64 = DEFAULT },
INT_MIN, INT_MAX},
{"ec", "set error concealment strategy", OFFSET(error_concealment),
AV_OPT_TYPE_FLAGS, {.i64 = 3 }, INT_MIN, INT_MAX, V|D, "ec"},
diff --git a/libavcodec/version.h b/libavcodec/version.h
index e087da3..392555d 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -132,6 +132,9 @@
#ifndef FF_API_UNUSED_MEMBERS
#define FF_API_UNUSED_MEMBERS (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
+#ifndef FF_API_IDCT_XVIDMMX
+#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 56)
+#endif
#ifndef FF_API_INPUT_PRESERVED
#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
diff --git a/libavcodec/x86/idct_sse2_xvid.c b/libavcodec/x86/idct_sse2_xvid.c
index aadeb12..49149ea 100644
--- a/libavcodec/x86/idct_sse2_xvid.c
+++ b/libavcodec/x86/idct_sse2_xvid.c
@@ -48,7 +48,7 @@
/**
* @file
- * @brief SSE2 idct compatible with xvidmmx
+ * @brief SSE2 IDCT compatible with the Xvid IDCT
*/
#define X8(x) x,x,x,x,x,x,x,x
diff --git a/libavcodec/xvididct.c b/libavcodec/xvididct.c
index 7f130ba..ef3ae26 100644
--- a/libavcodec/xvididct.c
+++ b/libavcodec/xvididct.c
@@ -28,10 +28,10 @@ av_cold void ff_xvididct_init(IDCTDSPContext *c,
AVCodecContext *avctx)
if (high_bit_depth ||
!(avctx->idct_algo == FF_IDCT_AUTO ||
- avctx->idct_algo == FF_IDCT_XVIDMMX))
+ avctx->idct_algo == FF_IDCT_XVID))
return;
- avctx->idct_algo = FF_IDCT_XVIDMMX;
+ avctx->idct_algo = FF_IDCT_XVID;
if (ARCH_X86)
ff_xvididct_init_x86(c);
--
1.8.3.2
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel