[FFmpeg-devel] [PATCH]Fix compilation with --disable-everything
Carl Eugen Hoyos
cehoyos at ag.or.at
Mon Feb 25 10:42:04 CET 2013
On Sunday 24 February 2013 03:46:19 pm Carl Eugen Hoyos wrote:
> Hi!
>
> Attached patch fixes ticket #2253 for me.
>
> Please comment, Carl Eugen
Slightly changed patch attached that sometimes saves two symbols.
Please comment, Carl Eugen
-------------- next part --------------
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 2f7f50e..da61364 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -302,6 +302,7 @@ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
#if HAVE_YASM
#define ff_put_pixels8_mmx ff_put_pixels8_mmxext
+#if CONFIG_H264QPEL
/***********************************/
/* 3Dnow specific */
@@ -321,6 +322,7 @@ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
#undef DEF
#endif /* HAVE_YASM */
+#endif /* CONFIG_H264QPEL */
#if HAVE_INLINE_ASM
@@ -776,7 +778,7 @@ static void draw_edges_mmx(uint8_t *buf, int wrap, int width, int height,
#endif /* HAVE_INLINE_ASM */
-#if HAVE_YASM
+#if HAVE_YASM && CONFIG_H264QPEL
#define QPEL_OP(OPNAME, ROUNDER, RND, OP, MMX) \
static void OPNAME ## qpel8_mc00_ ## MMX (uint8_t *dst, uint8_t *src, \
int stride) \
@@ -1169,7 +1171,7 @@ static void OPNAME ## qpel16_mc22_ ## MMX(uint8_t *dst, uint8_t *src, \
QPEL_OP(put_, ff_pw_16, _, PUT_OP, mmxext)
QPEL_OP(avg_, ff_pw_16, _, AVG_MMXEXT_OP, mmxext)
QPEL_OP(put_no_rnd_, ff_pw_15, _no_rnd_, PUT_OP, mmxext)
-#endif /* HAVE_YASM */
+#endif /* HAVE_YASM && CONFIG_H264QPEL */
#if HAVE_INLINE_ASM
@@ -1383,7 +1385,7 @@ void ff_avg_cavs_qpel16_mc00_mmxext(uint8_t *dst, uint8_t *src, int stride)
}
#endif /* HAVE_INLINE_ASM */
-#if HAVE_YASM
+#if HAVE_YASM && CONFIG_VC1_DECODER
/* VC-1-specific */
void ff_put_vc1_mspel_mc00_mmx(uint8_t *dst, const uint8_t *src,
int stride, int rnd)
@@ -1396,7 +1398,7 @@ void ff_avg_vc1_mspel_mc00_mmxext(uint8_t *dst, const uint8_t *src,
{
ff_avg_pixels8_mmxext(dst, src, stride, 8);
}
-#endif /* HAVE_YASM */
+#endif /* HAVE_YASM && CONFIG_VC1_DECODER */
#if CONFIG_DIRAC_DECODER
#define DIRAC_PIXOP(OPNAME2, OPNAME, EXT)\
@@ -1656,10 +1658,10 @@ static av_cold void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx,
static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
int mm_flags)
{
+#if HAVE_YASM && CONFIG_H264QPEL
const int bit_depth = avctx->bits_per_raw_sample;
const int high_bit_depth = bit_depth > 8;
-#if HAVE_YASM
SET_QPEL_FUNCS(avg_qpel, 0, 16, mmxext, );
SET_QPEL_FUNCS(avg_qpel, 1, 8, mmxext, );
@@ -1695,7 +1697,7 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
c->avg_pixels_tab[1][3] = ff_avg_pixels8_xy2_mmxext;
}
}
-#endif /* HAVE_YASM */
+#endif /* HAVE_YASM && CONFIG_H264QPEL */
#if HAVE_MMXEXT_EXTERNAL
if (CONFIG_VP3_DECODER && (avctx->codec_id == AV_CODEC_ID_VP3 ||
@@ -1722,9 +1724,10 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
static av_cold void dsputil_init_3dnow(DSPContext *c, AVCodecContext *avctx,
int mm_flags)
{
+#if HAVE_YASM
+#if CONFIG_H264QPEL
const int high_bit_depth = avctx->bits_per_raw_sample > 8;
-#if HAVE_YASM
if (!high_bit_depth) {
c->put_pixels_tab[0][1] = ff_put_pixels16_x2_3dnow;
c->put_pixels_tab[0][2] = ff_put_pixels16_y2_3dnow;
@@ -1750,6 +1753,7 @@ static av_cold void dsputil_init_3dnow(DSPContext *c, AVCodecContext *avctx,
c->avg_pixels_tab[1][3] = ff_avg_pixels8_xy2_3dnow;
}
}
+#endif /* CONFIG_H264QPEL */
if (CONFIG_VP3_DECODER && (avctx->codec_id == AV_CODEC_ID_VP3 ||
avctx->codec_id == AV_CODEC_ID_THEORA)) {
More information about the ffmpeg-devel
mailing list