[packages/xine-lib] - updated x32 patch: cast Pitch to size suitable for index register on all ix86/x86_64/x32 ABIs

qboosh qboosh at pld-linux.org
Thu Oct 8 19:20:07 CEST 2015


commit a0593de020c2abfc730790373dc6da7da3756137
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Oct 8 19:21:19 2015 +0200

    - updated x32 patch: cast Pitch to size suitable for index register on all ix86/x86_64/x32 ABIs

 x32.patch | 61 ++++++++++++++++++++++++++++---------------------------------
 1 file changed, 28 insertions(+), 33 deletions(-)
---
diff --git a/x32.patch b/x32.patch
index 047ebcf..7c2e606 100644
--- a/x32.patch
+++ b/x32.patch
@@ -9,36 +9,31 @@
  #  define REG_a  "rax"
  #  define intarch_t int64_t
  #else
-# is it still needed?
-#--- xine-lib-1.2.3/src/post/deinterlace/plugins/greedy2frame_template_sse2.c~	2012-06-30 20:02:39.000000000 +0200
-#+++ xine-lib-1.2.3/src/post/deinterlace/plugins/greedy2frame_template_sse2.c	2015-03-09 20:01:38.315802192 +0100
-#@@ -96,7 +96,7 @@
-#                                          int bottom_field, int second_field,
-#                                          int width, int height )
-# {
-#-#if defined(ARCH_X86) || defined(ARCH_X86_64)
-#+#if defined(ARCH_X86) || (defined(ARCH_X86_64) && !defined(__ILP32__))
-#     int Line;
-#     int stride = width * 2;
-#     register uint8_t* M1;
-#--- xine-lib-1.2.3/src/post/deinterlace/plugins/greedy2frame.c~	2012-05-26 22:49:59.000000000 +0200
-#+++ xine-lib-1.2.3/src/post/deinterlace/plugins/greedy2frame.c	2015-03-09 20:03:08.535801540 +0100
-#@@ -59,6 +59,10 @@
-#                                     int bottom_field, int second_field, int width, int height )
-# 
-# {
-#+#if defined(ARCH_X86_64) && defined(__ILP32__)
-#+        DeinterlaceGreedy2Frame_MMXEXT(output, outstride, data,
-#+                                       bottom_field, second_field, width, height );
-#+#else
-#     if (xine_mm_accel() & MM_ACCEL_X86_SSE2) {
-#         if (((uintptr_t)output & 15) || (outstride & 15) ||
-#             width & 7 ||
-#@@ -82,6 +86,7 @@
-#                                        bottom_field, second_field, width, height );
-#         /* could fall back to 3dnow/mmx here too */
-#     }
-#+#endif
-# }
-# 
-# 
+--- xine-lib-1.2.6/src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig	2013-07-03 22:24:59.000000000 +0200
++++ xine-lib-1.2.6/src/post/deinterlace/plugins/greedy2frame_template_sse2.c	2015-10-08 19:13:42.005108442 +0200
+@@ -174,8 +174,8 @@
+         */
+             "movdqa  (%2), %%xmm1		\n\t" /* xmm1 = T1 */
+             "movdqa  (%3), %%xmm0		\n\t" /* xmm0 = T0 */
+-            "movdqa  (%q4,%2), %%xmm3		\n\t" /* xmm3 = B1 */
+-            "movdqa  (%q4,%3), %%xmm2		\n\t" /* xmm2 = B0 */
++            "movdqa  (%4,%2), %%xmm3		\n\t" /* xmm3 = B1 */
++            "movdqa  (%4,%3), %%xmm2		\n\t" /* xmm2 = B0 */
+ 
+             /* calculate |T1-T0| keep T1 put result in xmm5 */
+             "movdqa  %%xmm1, %%xmm5		\n\t"
+@@ -192,11 +192,11 @@
+             "pcmpgtb %0, %%xmm5			\n\t"
+             "pcmpeqd %%xmm7, %%xmm5		\n\t"
+ 
+-            "prefetcht0  64(%q4,%2)		\n\t"
+-            "prefetcht0  64(%q4,%3)		\n\t"
++            "prefetcht0  64(%4,%2)		\n\t"
++            "prefetcht0  64(%4,%3)		\n\t"
+           :
+           : "m" (GreedyTwoFrameThreshold128),
+-            "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) );
++            "m" (*Destc), "r" (T1), "r" (T0), "r" ((size_t)Pitch) );
+ 
+           asm volatile (
+             /* calculate |B1-B0| keep B1 put result in xmm4 */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xine-lib.git/commitdiff/a0593de020c2abfc730790373dc6da7da3756137



More information about the pld-cvs-commit mailing list