summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libswscale/internal_bfin.S6
-rw-r--r--libswscale/swscale_bfin.c9
-rw-r--r--libswscale/yuv2rgb_bfin.c5
3 files changed, 16 insertions, 4 deletions
diff --git a/libswscale/internal_bfin.S b/libswscale/internal_bfin.S
index 475d704529..2d5c61a14a 100644
--- a/libswscale/internal_bfin.S
+++ b/libswscale/internal_bfin.S
@@ -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) \
diff --git a/libswscale/swscale_bfin.c b/libswscale/swscale_bfin.c
index 763a005d90..bbc304dfe3 100644
--- a/libswscale/swscale_bfin.c
+++ b/libswscale/swscale_bfin.c
@@ -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[])
diff --git a/libswscale/yuv2rgb_bfin.c b/libswscale/yuv2rgb_bfin.c
index e35d49efbd..d2770793bc 100644
--- a/libswscale/yuv2rgb_bfin.c
+++ b/libswscale/yuv2rgb_bfin.c
@@ -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;