bfin: Refactor duplicated l1_text/l1_data_B macros
authorDiego Biurrun <diego@biurrun.de>
Wed, 22 Jan 2014 10:54:14 +0000 (02:54 -0800)
committerDiego Biurrun <diego@biurrun.de>
Thu, 13 Mar 2014 15:15:52 +0000 (08:15 -0700)
libavcodec/bfin/dsputil_bfin.h
libavcodec/bfin/hpeldsp_bfin.h
libavutil/bfin/attributes.h [new file with mode: 0644]
libswscale/bfin/swscale_bfin.c
libswscale/bfin/yuv2rgb_bfin.c

index 2446615..8b51773 100644 (file)
 #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;
index e99f0b0..c6fc327 100644 (file)
 
 #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 (file)
index 0000000..659f9a9
--- /dev/null
@@ -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 */
index 43c23b4..97270b8 100644 (file)
 
 #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,
index 603a33a..295dc28 100644 (file)
 
 #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);