[MPlayer-cvslog] r26010 - in trunk/libswscale: internal_bfin.S swscale_bfin.c yuv2rgb_bfin.c

diego subversion at mplayerhq.hu
Sat Feb 16 16:18:01 CET 2008


Author: diego
Date: Sat Feb 16 16:17:59 2008
New Revision: 26010

Log:
FLAT objects cannot have multiple sections, so using the L1 attributes breaks
linking. The FDPIC relocs also break for any other format. Thus check the
compiler environment and select the appropriate sections/relocs.
patch by Mike Frysinger, vapier.adi a gmail d com


Modified:
   trunk/libswscale/internal_bfin.S
   trunk/libswscale/swscale_bfin.c
   trunk/libswscale/yuv2rgb_bfin.c

Modified: trunk/libswscale/internal_bfin.S
==============================================================================
--- trunk/libswscale/internal_bfin.S	(original)
+++ trunk/libswscale/internal_bfin.S	Sat Feb 16 16:17:59 2008
@@ -94,8 +94,12 @@
 
 */
 
-#define mL1 .l1.text
 #define mL3 .text
+#ifdef __FDPIC__
+#define mL1 .l1.text
+#else
+#define mL1 mL3
+#endif
 #define MEM mL1
 
 #define DEFUN(fname,where,interface) \

Modified: trunk/libswscale/swscale_bfin.c
==============================================================================
--- trunk/libswscale/swscale_bfin.c	(original)
+++ trunk/libswscale/swscale_bfin.c	Sat Feb 16 16:17:59 2008
@@ -34,14 +34,19 @@
 #include "swscale.h"
 #include "swscale_internal.h"
 
+#ifdef __FDPIC__
+#define L1CODE __attribute__ ((l1_text))
+#else
+#define L1CODE
+#endif
 
 extern int ff_bfin_uyvytoyv12 (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
                                long width, long height,
-                               long lumStride, long chromStride, long srcStride) __attribute__ ((l1_text));
+                               long lumStride, long chromStride, long srcStride) L1CODE;
 
 extern int ff_bfin_yuyvtoyv12 (const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
                                long width, long height,
-                               long lumStride, long chromStride, long srcStride) __attribute__ ((l1_text));
+                               long lumStride, long chromStride, long srcStride) L1CODE;
 
 static int uyvytoyv12_unscaled (SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
                                 int srcSliceH, uint8_t* dst[], int dstStride[])

Modified: trunk/libswscale/yuv2rgb_bfin.c
==============================================================================
--- trunk/libswscale/yuv2rgb_bfin.c	(original)
+++ trunk/libswscale/yuv2rgb_bfin.c	Sat Feb 16 16:17:59 2008
@@ -36,8 +36,11 @@
 #include "swscale.h"
 #include "swscale_internal.h"
 
-
+#ifdef __FDPIC__
 #define L1CODE __attribute__ ((l1_text))
+#else
+#define L1CODE
+#endif
 
 extern void ff_bfin_yuv2rgb555_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
                                      int w, uint32_t *coeffs) L1CODE;



More information about the MPlayer-cvslog mailing list