This is done similarly for all other architectures.tags/n2.3
| @@ -21,10 +21,41 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include <stdint.h> | |||||
| #include "config.h" | |||||
| #include "libavutil/attributes.h" | #include "libavutil/attributes.h" | ||||
| #include "libavutil/bfin/attributes.h" | |||||
| #include "libavcodec/avcodec.h" | #include "libavcodec/avcodec.h" | ||||
| #include "libavcodec/dsputil.h" | #include "libavcodec/dsputil.h" | ||||
| #include "dsputil_bfin.h" | |||||
| void ff_bfin_idct(int16_t *block) attribute_l1_text; | |||||
| void ff_bfin_fdct(int16_t *block) attribute_l1_text; | |||||
| void ff_bfin_add_pixels_clamped(const int16_t *block, uint8_t *dest, | |||||
| int line_size) attribute_l1_text; | |||||
| void ff_bfin_put_pixels_clamped(const int16_t *block, uint8_t *dest, | |||||
| int line_size) attribute_l1_text; | |||||
| void ff_bfin_diff_pixels(int16_t *block, const uint8_t *s1, const uint8_t *s2, | |||||
| int stride) attribute_l1_text; | |||||
| void ff_bfin_get_pixels(int16_t *restrict block, const uint8_t *pixels, | |||||
| int line_size) attribute_l1_text; | |||||
| int ff_bfin_pix_norm1(uint8_t *pix, int line_size) attribute_l1_text; | |||||
| int ff_bfin_pix_sum(uint8_t *p, int stride) attribute_l1_text; | |||||
| int ff_bfin_z_sad8x8(uint8_t *blk1, uint8_t *blk2, int dsz, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_z_sad16x16(uint8_t *blk1, uint8_t *blk2, int dsz, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse4(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse8(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse16(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| static void bfin_idct_add(uint8_t *dest, int line_size, int16_t *block) | static void bfin_idct_add(uint8_t *dest, int line_size, int16_t *block) | ||||
| { | { | ||||
| @@ -1,59 +0,0 @@ | |||||
| /* | |||||
| * BlackFin DSPUTILS COMMON OPTIMIZATIONS HEADER | |||||
| * | |||||
| * 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 AVCODEC_BFIN_DSPUTIL_BFIN_H | |||||
| #define AVCODEC_BFIN_DSPUTIL_BFIN_H | |||||
| #include <stdint.h> | |||||
| #include "config.h" | |||||
| #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; | |||||
| void ff_bfin_add_pixels_clamped(const int16_t *block, uint8_t *dest, | |||||
| int line_size) attribute_l1_text; | |||||
| void ff_bfin_put_pixels_clamped(const int16_t *block, uint8_t *dest, | |||||
| int line_size) attribute_l1_text; | |||||
| void ff_bfin_diff_pixels(int16_t *block, const uint8_t *s1, const uint8_t *s2, | |||||
| int stride) attribute_l1_text; | |||||
| void ff_bfin_get_pixels(int16_t *restrict block, const uint8_t *pixels, | |||||
| int line_size) attribute_l1_text; | |||||
| int ff_bfin_pix_norm1(uint8_t *pix, int line_size) attribute_l1_text; | |||||
| int ff_bfin_pix_sum(uint8_t *p, int stride) attribute_l1_text; | |||||
| int ff_bfin_z_sad8x8(uint8_t *blk1, uint8_t *blk2, int dsz, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_z_sad16x16(uint8_t *blk1, uint8_t *blk2, int dsz, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse4(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse8(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| int ff_bfin_sse16(void *v, uint8_t *pix1, uint8_t *pix2, | |||||
| int line_size, int h) attribute_l1_text; | |||||
| #endif /* AVCODEC_BFIN_DSPUTIL_BFIN_H */ | |||||
| @@ -25,9 +25,17 @@ | |||||
| #include <stdint.h> | #include <stdint.h> | ||||
| #include "libavutil/attributes.h" | #include "libavutil/attributes.h" | ||||
| #include "libavutil/bfin/attributes.h" | |||||
| #include "libavcodec/hpeldsp.h" | #include "libavcodec/hpeldsp.h" | ||||
| #include "hpeldsp_bfin.h" | #include "hpeldsp_bfin.h" | ||||
| void ff_bfin_put_pixels8uc_nornd(uint8_t *block, const uint8_t *s0, | |||||
| const uint8_t *s1, int line_size, | |||||
| int h) attribute_l1_text; | |||||
| void ff_bfin_put_pixels16uc_nornd(uint8_t *block, const uint8_t *s0, | |||||
| const uint8_t *s1, int line_size, | |||||
| int h) attribute_l1_text; | |||||
| static void bfin_put_pixels8(uint8_t *block, const uint8_t *pixels, | static void bfin_put_pixels8(uint8_t *block, const uint8_t *pixels, | ||||
| ptrdiff_t line_size, int h) | ptrdiff_t line_size, int h) | ||||
| { | { | ||||
| @@ -36,11 +36,5 @@ void ff_bfin_put_pixels8uc(uint8_t *block, const uint8_t *s0, | |||||
| void ff_bfin_put_pixels16uc(uint8_t *block, const uint8_t *s0, | void ff_bfin_put_pixels16uc(uint8_t *block, const uint8_t *s0, | ||||
| const uint8_t *s1, int dest_size, int line_size, | const uint8_t *s1, int dest_size, int line_size, | ||||
| int h) attribute_l1_text; | int h) attribute_l1_text; | ||||
| void ff_bfin_put_pixels8uc_nornd(uint8_t *block, const uint8_t *s0, | |||||
| const uint8_t *s1, int line_size, | |||||
| int h) attribute_l1_text; | |||||
| void ff_bfin_put_pixels16uc_nornd(uint8_t *block, const uint8_t *s0, | |||||
| const uint8_t *s1, int line_size, | |||||
| int h) attribute_l1_text; | |||||
| #endif /* AVCODEC_BFIN_HPELDSP_BFIN_H */ | #endif /* AVCODEC_BFIN_HPELDSP_BFIN_H */ | ||||
| @@ -18,14 +18,15 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include <stdint.h> | |||||
| #include <string.h> | #include <string.h> | ||||
| #include "libavutil/attributes.h" | #include "libavutil/attributes.h" | ||||
| #include "libavcodec/avcodec.h" | #include "libavcodec/avcodec.h" | ||||
| #include "libavcodec/vp3dsp.h" | #include "libavcodec/vp3dsp.h" | ||||
| #include "libavcodec/dsputil.h" | #include "libavcodec/dsputil.h" | ||||
| #include "dsputil_bfin.h" | |||||
| #include "vp3_bfin.h" | |||||
| void ff_bfin_vp3_idct(int16_t *block); | |||||
| /* Intra iDCT offset 128 */ | /* Intra iDCT offset 128 */ | ||||
| static void bfin_vp3_idct_put(uint8_t *dest, int line_size, int16_t *block) | static void bfin_vp3_idct_put(uint8_t *dest, int line_size, int16_t *block) | ||||
| @@ -1,27 +0,0 @@ | |||||
| /* | |||||
| * 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 AVCODEC_BFIN_VP3_BFIN_H | |||||
| #define AVCODEC_BFIN_VP3_BFIN_H | |||||
| #include <stdint.h> | |||||
| void ff_bfin_vp3_idct(int16_t *block); | |||||
| #endif /* AVCODEC_BFIN_VP3_BFIN_H */ | |||||