Репозитории ALT
S: | 1.0.0-alt6 |
5.1: | 1.0.0-alt4 |
4.1: | 1.0.0-alt2 |
4.0: | 1.0.0-alt2 |
3.0: | 0.104-alt1 |
Группа :: Система/Библиотеки
Пакет: libdv
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: libdv-1.0.0-alt6.patch
Скачать
Скачать
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)