[FFmpeg-cvslog] bfin: Refactor duplicated l1_text/l1_data_B macros
Diego Biurrun
git at videolan.org
Fri Mar 14 01:56:02 CET 2014
ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Wed Jan 22 02:54:14 2014 -0800| [e99af2a3b1660b4f328335149980064692097cad] | committer: Diego Biurrun
bfin: Refactor duplicated l1_text/l1_data_B macros
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e99af2a3b1660b4f328335149980064692097cad
---
libavcodec/bfin/dsputil_bfin.h | 9 +--------
libavcodec/bfin/hpeldsp_bfin.h | 10 +---------
libavutil/bfin/attributes.h | 34 ++++++++++++++++++++++++++++++++++
libswscale/bfin/swscale_bfin.c | 13 +++++--------
libswscale/bfin/yuv2rgb_bfin.c | 13 ++++---------
5 files changed, 45 insertions(+), 34 deletions(-)
diff --git a/libavcodec/bfin/dsputil_bfin.h b/libavcodec/bfin/dsputil_bfin.h
index 2446615..8b51773 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 e99f0b0..c6fc327 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 0000000..659f9a9
--- /dev/null
+++ b/libavutil/bfin/attributes.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007 Marc Hoffman <mmh at 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 43c23b4..97270b8 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 603a33a..295dc28 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);
More information about the ffmpeg-cvslog
mailing list