diff options
Diffstat (limited to 'libmpeg2/libmpeg2_changes.diff')
-rw-r--r-- | libmpeg2/libmpeg2_changes.diff | 439 |
1 files changed, 0 insertions, 439 deletions
diff --git a/libmpeg2/libmpeg2_changes.diff b/libmpeg2/libmpeg2_changes.diff deleted file mode 100644 index 5e55453ab1..0000000000 --- a/libmpeg2/libmpeg2_changes.diff +++ /dev/null @@ -1,439 +0,0 @@ ---- libmpeg2/cpu_accel.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/cpu_accel.c 2006-06-16 20:12:50.000000000 +0200 -@@ -29,9 +33,13 @@ - #include "attributes.h" - #include "mpeg2_internal.h" - -+#include "cpudetect.h" -+ --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - static inline uint32_t arch_accel (uint32_t accel) - { -+/* Use MPlayer CPU detection instead of libmpeg2 variant. */ -+#if 0 - if (accel & (MPEG2_ACCEL_X86_3DNOW | MPEG2_ACCEL_X86_MMXEXT)) - accel |= MPEG2_ACCEL_X86_MMX; - -@@ -124,6 +132,21 @@ - #endif /* ACCEL_DETECT */ - - return accel; -+ -+#else /* 0 */ -+ accel = 0; -+ if (gCpuCaps.hasMMX) -+ accel |= MPEG2_ACCEL_X86_MMX; -+ if (gCpuCaps.hasSSE2) -+ accel |= MPEG2_ACCEL_X86_SSE2; -+ if (gCpuCaps.hasMMX2) -+ accel |= MPEG2_ACCEL_X86_MMXEXT; -+ if (gCpuCaps.has3DNow) -+ accel |= MPEG2_ACCEL_X86_3DNOW; -+ -+ return accel; -+ -+#endif /* 0 */ - } - #endif /* ARCH_X86 || ARCH_X86_64 */ - -@@ -127,7 +150,7 @@ - } - #endif /* ARCH_X86 || ARCH_X86_64 */ - --#if defined(ACCEL_DETECT) && (defined(ARCH_PPC) || defined(ARCH_SPARC)) -+#if defined(ACCEL_DETECT) && (ARCH_PPC || ARCH_SPARC) - #include <signal.h> - #include <setjmp.h> - -@@ -146,7 +169,7 @@ - } - #endif /* ACCEL_DETECT && (ARCH_PPC || ARCH_SPARC) */ - --#ifdef ARCH_PPC -+#if ARCH_PPC - static uint32_t arch_accel (uint32_t accel) - { - #ifdef ACCEL_DETECT -@@ -183,7 +206,7 @@ - } - #endif /* ARCH_PPC */ - --#ifdef ARCH_SPARC -+#if ARCH_SPARC - static uint32_t arch_accel (uint32_t accel) - { - if (accel & MPEG2_ACCEL_SPARC_VIS2) -@@ -229,7 +252,7 @@ - } - #endif /* ARCH_SPARC */ - --#ifdef ARCH_ALPHA -+#if ARCH_ALPHA - static inline uint32_t arch_accel (uint32_t accel) - { - if (accel & MPEG2_ACCEL_ALPHA_MVI) -@@ -253,7 +276,7 @@ - - uint32_t mpeg2_detect_accel (uint32_t accel) - { --#if defined (ARCH_X86) || defined (ARCH_X86_64) || defined (ARCH_PPC) || defined (ARCH_ALPHA) || defined (ARCH_SPARC) -+#if ARCH_X86 || ARCH_X86_64 || ARCH_PPC || ARCH_ALPHA || ARCH_SPARC - accel = arch_accel (accel); - #endif - return accel; -Index: libmpeg2/cpu_state.c -=================================================================== ---- libmpeg2/cpu_state.c (revision 28324) -+++ libmpeg2/cpu_state.c (revision 28325) -@@ -29,21 +29,21 @@ - #include "mpeg2.h" - #include "attributes.h" - #include "mpeg2_internal.h" --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - #include "mmx.h" - #endif - - void (* mpeg2_cpu_state_save) (cpu_state_t * state) = NULL; - void (* mpeg2_cpu_state_restore) (cpu_state_t * state) = NULL; - --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - static void state_restore_mmx (cpu_state_t * state) - { - emms (); - } - #endif - --#ifdef ARCH_PPC -+#if ARCH_PPC - #if defined(__APPLE_CC__) /* apple */ - #define LI(a,b) "li r" #a "," #b "\n\t" - #define STVX0(a,b,c) "stvx v" #a ",0,r" #c "\n\t" -@@ -115,12 +115,12 @@ - - void mpeg2_cpu_state_init (uint32_t accel) - { --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - if (accel & MPEG2_ACCEL_X86_MMX) { - mpeg2_cpu_state_restore = state_restore_mmx; - } - #endif --#ifdef ARCH_PPC -+#if ARCH_PPC - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { - mpeg2_cpu_state_save = state_save_altivec; - mpeg2_cpu_state_restore = state_restore_altivec; ---- libmpeg2/decode.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/decode.c 2006-06-16 20:12:50.000000000 +0200 -@@ -345,6 +349,15 @@ - fbuf->buf[1] = buf[1]; - fbuf->buf[2] = buf[2]; - fbuf->id = id; -+ // HACK! FIXME! At first I frame, copy pointers to prediction frame too! -+ if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){ -+ mpeg2dec->fbuf[1]->buf[0]=buf[0]; -+ mpeg2dec->fbuf[1]->buf[1]=buf[1]; -+ mpeg2dec->fbuf[1]->buf[2]=buf[2]; -+ mpeg2dec->fbuf[1]->id=NULL; -+ } -+// printf("libmpeg2: FBUF 0:%p 1:%p 2:%p\n", -+// mpeg2dec->fbuf[0]->buf[0],mpeg2dec->fbuf[1]->buf[0],mpeg2dec->fbuf[2]->buf[0]); - } - - void mpeg2_custom_fbuf (mpeg2dec_t * mpeg2dec, int custom_fbuf) ---- libmpeg2/header.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/header.c 2006-06-16 20:12:50.000000000 +0200 -@@ -100,6 +104,9 @@ - mpeg2dec->decoder.convert = NULL; - mpeg2dec->decoder.convert_id = NULL; - mpeg2dec->picture = mpeg2dec->pictures; -+ memset(&mpeg2dec->fbuf_alloc[0].fbuf, 0, sizeof(mpeg2_fbuf_t)); -+ memset(&mpeg2dec->fbuf_alloc[1].fbuf, 0, sizeof(mpeg2_fbuf_t)); -+ memset(&mpeg2dec->fbuf_alloc[2].fbuf, 0, sizeof(mpeg2_fbuf_t)); - mpeg2dec->fbuf[0] = &mpeg2dec->fbuf_alloc[0].fbuf; - mpeg2dec->fbuf[1] = &mpeg2dec->fbuf_alloc[1].fbuf; - mpeg2dec->fbuf[2] = &mpeg2dec->fbuf_alloc[2].fbuf; -@@ -872,6 +879,7 @@ - mpeg2dec->scaled[idx] = decoder->q_scale_type; - for (i = 0; i < 32; i++) { - k = decoder->q_scale_type ? non_linear_scale[i] : (i << 1); -+ decoder->quantizer_scales[i] = k; - for (j = 0; j < 64; j++) - decoder->quantizer_prescale[idx][i][j] = - k * mpeg2dec->quantizer_matrix[idx][j]; ---- libmpeg2/idct.c (revision 26652) -+++ libmpeg2/idct.c (working copy) -@@ -235,34 +239,40 @@ - - void mpeg2_idct_init (uint32_t accel) - { --#ifdef ARCH_X86 -+#if HAVE_SSE2 - if (accel & MPEG2_ACCEL_X86_SSE2) { - mpeg2_idct_copy = mpeg2_idct_copy_sse2; - mpeg2_idct_add = mpeg2_idct_add_sse2; - mpeg2_idct_mmx_init (); -- } else if (accel & MPEG2_ACCEL_X86_MMXEXT) { -+ } else -+#elif HAVE_MMX2 -+ if (accel & MPEG2_ACCEL_X86_MMXEXT) { - mpeg2_idct_copy = mpeg2_idct_copy_mmxext; - mpeg2_idct_add = mpeg2_idct_add_mmxext; - mpeg2_idct_mmx_init (); -- } else if (accel & MPEG2_ACCEL_X86_MMX) { -+ } else -+#elif HAVE_MMX -+ if (accel & MPEG2_ACCEL_X86_MMX) { - mpeg2_idct_copy = mpeg2_idct_copy_mmx; - mpeg2_idct_add = mpeg2_idct_add_mmx; - mpeg2_idct_mmx_init (); - } else - #endif --#ifdef ARCH_PPC -+#if HAVE_ALTIVEC - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { - mpeg2_idct_copy = mpeg2_idct_copy_altivec; - mpeg2_idct_add = mpeg2_idct_add_altivec; - mpeg2_idct_altivec_init (); - } else - #endif --#ifdef ARCH_ALPHA -+#if HAVE_MVI - if (accel & MPEG2_ACCEL_ALPHA_MVI) { - mpeg2_idct_copy = mpeg2_idct_copy_mvi; - mpeg2_idct_add = mpeg2_idct_add_mvi; - mpeg2_idct_alpha_init (); -- } else if (accel & MPEG2_ACCEL_ALPHA) { -+ } else -+#elif ARCH_ALPHA -+ if (accel & MPEG2_ACCEL_ALPHA) { - int i; - - mpeg2_idct_copy = mpeg2_idct_copy_alpha; -Index: libmpeg2/idct_alpha.c -=================================================================== ---- libmpeg2/idct_alpha.c (revision 28324) -+++ libmpeg2/idct_alpha.c (revision 28325) -@@ -24,7 +24,7 @@ - - #include "config.h" - --#ifdef ARCH_ALPHA -+#if ARCH_ALPHA - - #include <stdlib.h> - #include <inttypes.h> -Index: libmpeg2/idct_altivec.c -=================================================================== ---- libmpeg2/idct_altivec.c (revision 28324) -+++ libmpeg2/idct_altivec.c (revision 28325) -@@ -23,7 +23,7 @@ - - #include "config.h" - --#ifdef ARCH_PPC -+#if ARCH_PPC - - #ifdef HAVE_ALTIVEC_H - #include <altivec.h> -Index: libmpeg2/idct_mmx.c -=================================================================== ---- libmpeg2/idct_mmx.c (revision 28324) -+++ libmpeg2/idct_mmx.c (revision 28325) -@@ -23,7 +23,7 @@ - - #include "config.h" - --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - - #include <inttypes.h> - ---- libmpeg2/motion_comp.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/motion_comp.c 2006-06-16 20:12:50.000000000 +0200 -@@ -33,34 +37,40 @@ - - void mpeg2_mc_init (uint32_t accel) - { --#ifdef ARCH_X86 -+#if HAVE_MMX2 - if (accel & MPEG2_ACCEL_X86_MMXEXT) - mpeg2_mc = mpeg2_mc_mmxext; -- else if (accel & MPEG2_ACCEL_X86_3DNOW) -+ else -+#endif -+#if HAVE_AMD3DNOW -+ if (accel & MPEG2_ACCEL_X86_3DNOW) - mpeg2_mc = mpeg2_mc_3dnow; -- else if (accel & MPEG2_ACCEL_X86_MMX) -+ else -+#endif -+#if HAVE_MMX -+ if (accel & MPEG2_ACCEL_X86_MMX) - mpeg2_mc = mpeg2_mc_mmx; - else - #endif --#ifdef ARCH_PPC -+#if HAVE_ALTIVEC - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) - mpeg2_mc = mpeg2_mc_altivec; - else - #endif --#ifdef ARCH_ALPHA -+#if ARCH_ALPHA - if (accel & MPEG2_ACCEL_ALPHA) - mpeg2_mc = mpeg2_mc_alpha; - else - #endif --#ifdef ARCH_SPARC -+#if HAVE_VIS - if (accel & MPEG2_ACCEL_SPARC_VIS) - mpeg2_mc = mpeg2_mc_vis; - else - #endif --#ifdef ARCH_ARM -+#if ARCH_ARM -- if (accel & MPEG2_ACCEL_ARM) { -+ if (accel & MPEG2_ACCEL_ARM) - mpeg2_mc = mpeg2_mc_arm; -- } else -+ else - #endif - mpeg2_mc = mpeg2_mc_c; - } -Index: libmpeg2/motion_comp_alpha.c -=================================================================== ---- libmpeg2/motion_comp_alpha.c (revision 28324) -+++ libmpeg2/motion_comp_alpha.c (revision 28325) -@@ -22,7 +22,7 @@ - - #include "config.h" - --#ifdef ARCH_ALPHA -+#if ARCH_ALPHA - - #include <inttypes.h> - -Index: libmpeg2/motion_comp_altivec.c -=================================================================== ---- libmpeg2/motion_comp_altivec.c (revision 28324) -+++ libmpeg2/motion_comp_altivec.c (revision 28325) -@@ -23,7 +23,7 @@ - - #include "config.h" - --#ifdef ARCH_PPC -+#if ARCH_PPC - - #ifdef HAVE_ALTIVEC_H - #include <altivec.h> -Index: libmpeg2/motion_comp_arm.c -=================================================================== ---- libmpeg2/motion_comp_arm.c (revision 28324) -+++ libmpeg2/motion_comp_arm.c (revision 28325) -@@ -22,7 +22,7 @@ - - #include "config.h" - --#ifdef ARCH_ARM -+#if ARCH_ARM - - #include <inttypes.h> - -Index: libmpeg2/motion_comp_mmx.c -=================================================================== ---- libmpeg2/motion_comp_mmx.c (revision 28324) -+++ libmpeg2/motion_comp_mmx.c (revision 28325) -@@ -23,7 +23,7 @@ - - #include "config.h" - --#if defined(ARCH_X86) || defined(ARCH_X86_64) -+#if ARCH_X86 || ARCH_X86_64 - - #include <inttypes.h> - -Index: libmpeg2/motion_comp_vis.c -=================================================================== ---- libmpeg2/motion_comp_vis.c (revision 28324) -+++ libmpeg2/motion_comp_vis.c (revision 28325) -@@ -22,7 +22,7 @@ - - #include "config.h" - --#ifdef ARCH_SPARC -+#if ARCH_SPARC - - #include <inttypes.h> - ---- libmpeg2/mpeg2_internal.h 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/mpeg2_internal.h 2006-06-16 20:12:50.000000000 +0200 -@@ -152,6 +156,11 @@ - - /* XXX: stuff due to xine shit */ - int8_t q_scale_type; -+ -+ int quantizer_scales[32]; -+ int quantizer_scale; -+ char* quant_store; -+ int quant_stride; - }; - - typedef struct { -@@ -223,6 +232,9 @@ - //int8_t q_scale_type, scaled[4]; - uint8_t quantizer_matrix[4][64]; - uint8_t new_quantizer_matrix[4][64]; -+ -+ unsigned char *pending_buffer; -+ int pending_length; - }; - - typedef struct { -@@ -226,7 +238,7 @@ - }; - - typedef struct { --#ifdef ARCH_PPC -+#if ARCH_PPC - uint8_t regv[12*16]; - #endif - int dummy; ---- libmpeg2/slice.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/slice.c 2006-06-16 20:12:50.000000000 +0200 -@@ -142,6 +146,7 @@ - - quantizer_scale_code = UBITS (bit_buf, 5); - DUMPBITS (bit_buf, bits, 5); -+ decoder->quantizer_scale = decoder->quantizer_scales[quantizer_scale_code]; - - decoder->quantizer_matrix[0] = - decoder->quantizer_prescale[0][quantizer_scale_code]; -@@ -1564,6 +1569,24 @@ - - #define NEXT_MACROBLOCK \ - do { \ -+ if(decoder->quant_store) { \ -+ if (decoder->picture_structure == TOP_FIELD) \ -+ decoder->quant_store[2 * decoder->quant_stride \ -+ * (decoder->v_offset >> 4) \ -+ + (decoder->offset >> 4)] \ -+ = decoder->quantizer_scale; \ -+ else if (decoder->picture_structure == BOTTOM_FIELD) \ -+ decoder->quant_store[2 * decoder->quant_stride \ -+ * (decoder->v_offset >> 4) \ -+ + decoder->quant_stride \ -+ + (decoder->offset >> 4)] \ -+ = decoder->quantizer_scale; \ -+ else \ -+ decoder->quant_store[decoder->quant_stride \ -+ * (decoder->v_offset >> 4) \ -+ + (decoder->offset >> 4)] \ -+ = decoder->quantizer_scale; \ -+ } \ - decoder->offset += 16; \ - if (decoder->offset == decoder->width) { \ - do { /* just so we can use the break statement */ \ |