Commit 9e5e76ef authored by Diego Biurrun's avatar Diego Biurrun

x86: More specific ifdefs for dsputil/hpeldsp init functions

parent ac87eaf8
...@@ -1119,7 +1119,7 @@ void ff_vector_clip_int32_sse4 (int32_t *dst, const int32_t *src, ...@@ -1119,7 +1119,7 @@ void ff_vector_clip_int32_sse4 (int32_t *dst, const int32_t *src,
static av_cold void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx, static av_cold void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx,
int mm_flags) int mm_flags)
{ {
#if HAVE_INLINE_ASM #if HAVE_MMX_INLINE
const int high_bit_depth = avctx->bits_per_raw_sample > 8; const int high_bit_depth = avctx->bits_per_raw_sample > 8;
c->put_pixels_clamped = ff_put_pixels_clamped_mmx; c->put_pixels_clamped = ff_put_pixels_clamped_mmx;
...@@ -1150,22 +1150,22 @@ static av_cold void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx, ...@@ -1150,22 +1150,22 @@ static av_cold void dsputil_init_mmx(DSPContext *c, AVCodecContext *avctx,
c->gmc = gmc_mmx; c->gmc = gmc_mmx;
c->add_bytes = add_bytes_mmx; c->add_bytes = add_bytes_mmx;
#endif /* HAVE_INLINE_ASM */ #endif /* HAVE_MMX_INLINE */
#if HAVE_YASM #if HAVE_MMX_EXTERNAL
if (CONFIG_H263_DECODER || CONFIG_H263_ENCODER) { if (CONFIG_H263_DECODER || CONFIG_H263_ENCODER) {
c->h263_v_loop_filter = ff_h263_v_loop_filter_mmx; c->h263_v_loop_filter = ff_h263_v_loop_filter_mmx;
c->h263_h_loop_filter = ff_h263_h_loop_filter_mmx; c->h263_h_loop_filter = ff_h263_h_loop_filter_mmx;
} }
c->vector_clip_int32 = ff_vector_clip_int32_mmx; c->vector_clip_int32 = ff_vector_clip_int32_mmx;
#endif /* HAVE_YASM */ #endif /* HAVE_MMX_EXTERNAL */
} }
static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx, static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
int mm_flags) int mm_flags)
{ {
#if HAVE_INLINE_ASM #if HAVE_MMXEXT_INLINE
const int high_bit_depth = avctx->bits_per_raw_sample > 8; const int high_bit_depth = avctx->bits_per_raw_sample > 8;
if (!high_bit_depth && avctx->idct_algo == FF_IDCT_XVIDMMX) { if (!high_bit_depth && avctx->idct_algo == FF_IDCT_XVIDMMX) {
...@@ -1173,7 +1173,7 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx, ...@@ -1173,7 +1173,7 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
c->idct_add = ff_idct_xvid_mmxext_add; c->idct_add = ff_idct_xvid_mmxext_add;
c->idct = ff_idct_xvid_mmxext; c->idct = ff_idct_xvid_mmxext;
} }
#endif /* HAVE_INLINE_ASM */ #endif /* HAVE_MMXEXT_INLINE */
#if HAVE_MMXEXT_EXTERNAL #if HAVE_MMXEXT_EXTERNAL
SET_QPEL_FUNCS(avg_qpel, 0, 16, mmxext, ); SET_QPEL_FUNCS(avg_qpel, 0, 16, mmxext, );
...@@ -1202,7 +1202,7 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx, ...@@ -1202,7 +1202,7 @@ static av_cold void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
static av_cold void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx, static av_cold void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx,
int mm_flags) int mm_flags)
{ {
#if HAVE_INLINE_ASM #if HAVE_SSE_INLINE
const int high_bit_depth = avctx->bits_per_raw_sample > 8; const int high_bit_depth = avctx->bits_per_raw_sample > 8;
if (!high_bit_depth) { if (!high_bit_depth) {
...@@ -1214,7 +1214,7 @@ static av_cold void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx, ...@@ -1214,7 +1214,7 @@ static av_cold void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx,
} }
c->vector_clipf = vector_clipf_sse; c->vector_clipf = vector_clipf_sse;
#endif /* HAVE_INLINE_ASM */ #endif /* HAVE_SSE_INLINE */
} }
static av_cold void dsputil_init_sse2(DSPContext *c, AVCodecContext *avctx, static av_cold void dsputil_init_sse2(DSPContext *c, AVCodecContext *avctx,
......
...@@ -150,7 +150,7 @@ void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels, ...@@ -150,7 +150,7 @@ void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
static void hpeldsp_init_mmx(HpelDSPContext *c, int flags, int mm_flags) static void hpeldsp_init_mmx(HpelDSPContext *c, int flags, int mm_flags)
{ {
#if HAVE_INLINE_ASM #if HAVE_MMX_INLINE
SET_HPEL_FUNCS(put, [0], 16, mmx); SET_HPEL_FUNCS(put, [0], 16, mmx);
SET_HPEL_FUNCS(put_no_rnd, [0], 16, mmx); SET_HPEL_FUNCS(put_no_rnd, [0], 16, mmx);
SET_HPEL_FUNCS(avg, [0], 16, mmx); SET_HPEL_FUNCS(avg, [0], 16, mmx);
...@@ -158,12 +158,12 @@ static void hpeldsp_init_mmx(HpelDSPContext *c, int flags, int mm_flags) ...@@ -158,12 +158,12 @@ static void hpeldsp_init_mmx(HpelDSPContext *c, int flags, int mm_flags)
SET_HPEL_FUNCS(put, [1], 8, mmx); SET_HPEL_FUNCS(put, [1], 8, mmx);
SET_HPEL_FUNCS(put_no_rnd, [1], 8, mmx); SET_HPEL_FUNCS(put_no_rnd, [1], 8, mmx);
SET_HPEL_FUNCS(avg, [1], 8, mmx); SET_HPEL_FUNCS(avg, [1], 8, mmx);
#endif /* HAVE_INLINE_ASM */ #endif /* HAVE_MMX_INLINE */
} }
static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int mm_flags) static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int mm_flags)
{ {
#if HAVE_YASM #if HAVE_MMXEXT_EXTERNAL
c->put_pixels_tab[0][1] = ff_put_pixels16_x2_mmxext; c->put_pixels_tab[0][1] = ff_put_pixels16_x2_mmxext;
c->put_pixels_tab[0][2] = put_pixels16_y2_mmxext; c->put_pixels_tab[0][2] = put_pixels16_y2_mmxext;
...@@ -192,12 +192,12 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int mm_flags) ...@@ -192,12 +192,12 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int mm_flags)
c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext; c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext;
c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext; c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext;
} }
#endif /* HAVE_YASM */ #endif /* HAVE_MMXEXT_EXTERNAL */
} }
static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags) static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags)
{ {
#if HAVE_YASM #if HAVE_AMD3DNOW_EXTERNAL
c->put_pixels_tab[0][1] = ff_put_pixels16_x2_3dnow; c->put_pixels_tab[0][1] = ff_put_pixels16_x2_3dnow;
c->put_pixels_tab[0][2] = put_pixels16_y2_3dnow; c->put_pixels_tab[0][2] = put_pixels16_y2_3dnow;
...@@ -226,19 +226,19 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags) ...@@ -226,19 +226,19 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags)
c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow; c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow;
c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow; c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow;
} }
#endif /* HAVE_YASM */ #endif /* HAVE_AMD3DNOW_EXTERNAL */
} }
static void hpeldsp_init_sse2(HpelDSPContext *c, int flags, int mm_flags) static void hpeldsp_init_sse2(HpelDSPContext *c, int flags, int mm_flags)
{ {
#if HAVE_YASM #if HAVE_SSE2_EXTERNAL
if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW)) { if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW)) {
// these functions are slower than mmx on AMD, but faster on Intel // these functions are slower than mmx on AMD, but faster on Intel
c->put_pixels_tab[0][0] = ff_put_pixels16_sse2; c->put_pixels_tab[0][0] = ff_put_pixels16_sse2;
c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2; c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2;
c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2; c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2;
} }
#endif /* HAVE_YASM */ #endif /* HAVE_SSE2_EXTERNAL */
} }
void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags) void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment