From e99af2a3b1660b4f328335149980064692097cad Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Wed, 22 Jan 2014 02:54:14 -0800 Subject: [PATCH] bfin: Refactor duplicated l1_text/l1_data_B macros --- 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(-) create mode 100644 libavutil/bfin/attributes.h 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 #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 -#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 + * + * 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);