[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