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 | |||
*/ | |||
#include <stdint.h> | |||
#include "config.h" | |||
#include "libavutil/attributes.h" | |||
#include "libavutil/bfin/attributes.h" | |||
#include "libavcodec/avcodec.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) | |||
{ | |||
@@ -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 "libavutil/attributes.h" | |||
#include "libavutil/bfin/attributes.h" | |||
#include "libavcodec/hpeldsp.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, | |||
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, | |||
const uint8_t *s1, int dest_size, int line_size, | |||
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 */ |
@@ -18,14 +18,15 @@ | |||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
*/ | |||
#include <stdint.h> | |||
#include <string.h> | |||
#include "libavutil/attributes.h" | |||
#include "libavcodec/avcodec.h" | |||
#include "libavcodec/vp3dsp.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 */ | |||
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 */ |