aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2014-01-22 02:54:14 -0800
committerDiego Biurrun <diego@biurrun.de>2014-03-13 08:15:52 -0700
commite99af2a3b1660b4f328335149980064692097cad (patch)
tree6956f38f42be7fa5df90ea421c0a4c15a304cfa1
parenta3e7562621bd96ce909e07149c419b6ba85cc54f (diff)
downloadffmpeg-e99af2a3b1660b4f328335149980064692097cad.tar.gz
bfin: Refactor duplicated l1_text/l1_data_B macros
-rw-r--r--libavcodec/bfin/dsputil_bfin.h9
-rw-r--r--libavcodec/bfin/hpeldsp_bfin.h10
-rw-r--r--libavutil/bfin/attributes.h34
-rw-r--r--libswscale/bfin/swscale_bfin.c13
-rw-r--r--libswscale/bfin/yuv2rgb_bfin.c13
5 files changed, 45 insertions, 34 deletions
diff --git a/libavcodec/bfin/dsputil_bfin.h b/libavcodec/bfin/dsputil_bfin.h
index 24466155a3..8b51773b1b 100644
--- a/libavcodec/bfin/dsputil_bfin.h
+++ b/libavcodec/bfin/dsputil_bfin.h
@@ -26,14 +26,7 @@
#include <stdint.h>
#include "config.h"
-
-#if defined(__FDPIC__) && CONFIG_SRAM
-#define attribute_l1_text __attribute__((l1_text))
-#define attribute_l1_data_b __attribute__((l1_data_B))
-#else
-#define attribute_l1_text
-#define attribute_l1_data_b
-#endif
+#include "libavutil/bfin/attributes.h"
void ff_bfin_idct(int16_t *block) attribute_l1_text;
void ff_bfin_fdct(int16_t *block) attribute_l1_text;
diff --git a/libavcodec/bfin/hpeldsp_bfin.h b/libavcodec/bfin/hpeldsp_bfin.h
index e99f0b0f8e..c6fc327840 100644
--- a/libavcodec/bfin/hpeldsp_bfin.h
+++ b/libavcodec/bfin/hpeldsp_bfin.h
@@ -23,15 +23,7 @@
#include <stdint.h>
-#include "config.h"
-
-#if defined(__FDPIC__) && CONFIG_SRAM
-#define attribute_l1_text __attribute__ ((l1_text))
-#define attribute_l1_data_b __attribute__((l1_data_B))
-#else
-#define attribute_l1_text
-#define attribute_l1_data_b
-#endif
+#include "libavutil/bfin/attributes.h"
void ff_bfin_z_put_pixels16_xy2 (uint8_t *block, const uint8_t *s0, int dest_size, int line_size, int h) attribute_l1_text;
void ff_bfin_z_put_pixels8_xy2 (uint8_t *block, const uint8_t *s0, int dest_size, int line_size, int h) attribute_l1_text;
diff --git a/libavutil/bfin/attributes.h b/libavutil/bfin/attributes.h
new file mode 100644
index 0000000000..659f9a9109
--- /dev/null
+++ b/libavutil/bfin/attributes.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007 Marc Hoffman <mmh@pleasantst.com>
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVUTIL_BFIN_ATTRIBUTES_H
+#define AVUTIL_BFIN_ATTRIBUTES_H
+
+#include "config.h"
+
+#if defined(__FDPIC__) && CONFIG_SRAM
+#define attribute_l1_text __attribute__((l1_text))
+#define attribute_l1_data_b __attribute__((l1_data_B))
+#else
+#define attribute_l1_text
+#define attribute_l1_data_b
+#endif
+
+#endif /* AVUTIL_BFIN_ATTRIBUTES_H */
diff --git a/libswscale/bfin/swscale_bfin.c b/libswscale/bfin/swscale_bfin.c
index 43c23b4606..97270b8756 100644
--- a/libswscale/bfin/swscale_bfin.c
+++ b/libswscale/bfin/swscale_bfin.c
@@ -24,21 +24,18 @@
#include "config.h"
#include "libavutil/attributes.h"
+#include "libavutil/bfin/attributes.h"
#include "libswscale/swscale_internal.h"
-#if defined (__FDPIC__) && CONFIG_SRAM
-#define L1CODE __attribute__((l1_text))
-#else
-#define L1CODE
-#endif
-
int ff_bfin_uyvytoyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst,
uint8_t *vdst, int width, int height,
- int lumStride, int chromStride, int srcStride) L1CODE;
+ int lumStride, int chromStride,
+ int srcStride) attribute_l1_text;
int ff_bfin_yuyvtoyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst,
uint8_t *vdst, int width, int height,
- int lumStride, int chromStride, int srcStride) L1CODE;
+ int lumStride, int chromStride,
+ int srcStride) attribute_l1_text;
static int uyvytoyv12_unscaled(SwsContext *c, const uint8_t *src[],
int srcStride[], int srcSliceY, int srcSliceH,
diff --git a/libswscale/bfin/yuv2rgb_bfin.c b/libswscale/bfin/yuv2rgb_bfin.c
index 603a33a77f..295dc286e4 100644
--- a/libswscale/bfin/yuv2rgb_bfin.c
+++ b/libswscale/bfin/yuv2rgb_bfin.c
@@ -25,25 +25,20 @@
#include "config.h"
#include "libavutil/attributes.h"
+#include "libavutil/bfin/attributes.h"
#include "libswscale/swscale_internal.h"
-#if defined(__FDPIC__) && CONFIG_SRAM
-#define L1CODE __attribute__((l1_text))
-#else
-#define L1CODE
-#endif
-
void ff_bfin_yuv2rgb555_line(const uint8_t *Y, const uint8_t *U,
const uint8_t *V, uint8_t *out,
- int w, uint32_t *coeffs) L1CODE;
+ int w, uint32_t *coeffs) attribute_l1_text;
void ff_bfin_yuv2rgb565_line(const uint8_t *Y, const uint8_t *U,
const uint8_t *V, uint8_t *out,
- int w, uint32_t *coeffs) L1CODE;
+ int w, uint32_t *coeffs) attribute_l1_text;
void ff_bfin_yuv2rgb24_line(const uint8_t *Y, const uint8_t *U,
const uint8_t *V, uint8_t *out,
- int w, uint32_t *coeffs) L1CODE;
+ int w, uint32_t *coeffs) attribute_l1_text;
typedef void (*ltransform)(const uint8_t *Y, const uint8_t *U, const uint8_t *V,
uint8_t *out, int w, uint32_t *coeffs);