libdv/dct.c | 4 ++++ libdv/dv.c | 10 ++++++++++ libdv/dv_types.h | 2 -- libdv/quant.c | 7 ++----- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/libdv/dct.c b/libdv/dct.c index 6a90bb5..c47727a 100644 --- a/libdv/dct.c +++ b/libdv/dct.c @@ -268,6 +268,7 @@ static void dct44_aan_line(short* in, short* out) out[6] = v43; } +#if BRUTE_FORCE_DCT_88 static void postscale88(var v[64]) { int i; @@ -276,6 +277,7 @@ static void postscale88(var v[64]) v[i] = ( v[i] * postSC88[i] ) / factor; } } +#endif /* Input has to be transposed ! */ @@ -331,6 +333,7 @@ static inline void dct248_aan(short *s_in) } } +#if BRUTE_FORCE_DCT_248 static void postscale248(var v[64]) { int i; @@ -339,6 +342,7 @@ static void postscale248(var v[64]) v[i] = ( v[i] * postSC248[i] ) / factor; } } +#endif /* Input has to be transposed !!! */ diff --git a/libdv/dv.c b/libdv/dv.c index 49d099e..c61661f 100644 --- a/libdv/dv.c +++ b/libdv/dv.c @@ -70,7 +70,9 @@ #define MIN(a,b) ((a)<(b)?(a):(b)) #define MAX(a,b) ((a)<(b)?(b):(a)) +#if ARCH_X86 int dv_use_mmx; +#endif #if HAVE_LIBPOPT static void @@ -335,7 +337,9 @@ dv_render_video_segment_bgr0(dv_decoder_t *dv, dv_videosegment_t *seg, uint8_t * static inline void dv_render_macroblock_yuv(dv_decoder_t *dv, dv_macroblock_t *mb, uint8_t **pixels, int *pitches) { +#if ARCH_X86 if(dv_use_mmx) { +#endif if(dv->sampling == e_dv_sample_411) { if(mb->x >= 704) { dv_mb411_right_YUY2_mmx(mb, pixels, pitches, @@ -347,6 +351,7 @@ dv_render_macroblock_yuv(dv_decoder_t *dv, dv_macroblock_t *mb, uint8_t **pixels } else { DV_MB420_YUV_MMX(mb, pixels, pitches, dv->clamp_luma, dv->clamp_chroma); } /* else */ +#if ARCH_X86 } else { if(dv->sampling == e_dv_sample_411) { if(mb->x >= 704) { @@ -358,6 +363,7 @@ dv_render_macroblock_yuv(dv_decoder_t *dv, dv_macroblock_t *mb, uint8_t **pixels DV_MB420_YUV(mb, pixels, pitches); } /* else */ } /* else */ +#endif } /* dv_render_macroblock_yuv */ void @@ -367,7 +373,9 @@ dv_render_video_segment_yuv(dv_decoder_t *dv, dv_videosegment_t *seg, uint8_t ** for (m=0,mb = seg->mb; m<5; m++,mb++) { +#if ARCH_X86 if(dv_use_mmx) { +#endif if(dv->sampling == e_dv_sample_411) { if(mb->x >= 704) { dv_mb411_right_YUY2_mmx(mb, pixels, pitches, @@ -379,6 +387,7 @@ dv_render_video_segment_yuv(dv_decoder_t *dv, dv_videosegment_t *seg, uint8_t ** } else { DV_MB420_YUV_MMX(mb, pixels, pitches, dv->clamp_luma, dv->clamp_chroma); } /* else */ +#if ARCH_X86 } else { if(dv->sampling == e_dv_sample_411) { if(mb->x >= 704) { @@ -390,6 +399,7 @@ dv_render_video_segment_yuv(dv_decoder_t *dv, dv_videosegment_t *seg, uint8_t ** DV_MB420_YUV(mb, pixels, pitches); } /* else */ } /* else */ +#endif } /* for */ } /* dv_render_video_segment_yuv */ diff --git a/libdv/dv_types.h b/libdv/dv_types.h index 1f90561..71c7690 100644 --- a/libdv/dv_types.h +++ b/libdv/dv_types.h @@ -512,8 +512,6 @@ typedef struct { #if ARCH_X86 extern int dv_use_mmx; -#elif ARCH_X86_64 -extern int dv_use_mmx; #endif #endif // DV_TYPES_H diff --git a/libdv/quant.c b/libdv/quant.c index 1933728..1ac8a47 100644 --- a/libdv/quant.c +++ b/libdv/quant.c @@ -167,12 +167,9 @@ dv_quant_init (void) } _dv_quant_248_inverse = quant_248_inverse_std; #if ARCH_X86 - if (dv_use_mmx) { - _dv_quant_248_inverse = quant_248_inverse_mmx; - } -#elif ARCH_X86_64 - _dv_quant_248_inverse = quant_248_inverse_mmx; + if (dv_use_mmx) #endif + _dv_quant_248_inverse = quant_248_inverse_mmx; } void _dv_quant(dv_coeff_t *block,int qno,int klass)