Browse Source

idct: Move arm-specific declarations to a header in the arm directory

tags/n2.4
Diego Biurrun 12 years ago
parent
commit
4de8b60684
6 changed files with 45 additions and 22 deletions
  1. +40
    -0
      libavcodec/arm/idct.h
  2. +1
    -3
      libavcodec/arm/idctdsp_init_arm.c
  3. +1
    -4
      libavcodec/arm/idctdsp_init_armv5te.c
  4. +1
    -4
      libavcodec/arm/idctdsp_init_armv6.c
  5. +1
    -4
      libavcodec/arm/idctdsp_init_neon.c
  6. +1
    -7
      libavcodec/dct-test.c

+ 40
- 0
libavcodec/arm/idct.h View File

@@ -0,0 +1,40 @@
/*
* 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_ARM_IDCT_H
#define AVCODEC_ARM_IDCT_H

#include <stdint.h>

void ff_j_rev_dct_arm(int16_t *data);

void ff_simple_idct_arm(int16_t *data);

void ff_simple_idct_armv5te(int16_t *data);
void ff_simple_idct_put_armv5te(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data);

void ff_simple_idct_armv6(int16_t *data);
void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data);

void ff_simple_idct_neon(int16_t *data);
void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data);

#endif /* AVCODEC_ARM_IDCT_H */

+ 1
- 3
libavcodec/arm/idctdsp_init_arm.c View File

@@ -26,11 +26,9 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "idct.h"
#include "idctdsp_arm.h"

void ff_j_rev_dct_arm(int16_t *data);
void ff_simple_idct_arm(int16_t *data);

/* XXX: local hack */
static void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
static void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);


+ 1
- 4
libavcodec/arm/idctdsp_init_armv5te.c View File

@@ -23,12 +23,9 @@
#include "libavutil/attributes.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "idct.h"
#include "idctdsp_arm.h"

void ff_simple_idct_armv5te(int16_t *data);
void ff_simple_idct_put_armv5te(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data);

av_cold void ff_idctdsp_init_armv5te(IDCTDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth)
{


+ 1
- 4
libavcodec/arm/idctdsp_init_armv6.c View File

@@ -23,12 +23,9 @@
#include "libavutil/attributes.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "idct.h"
#include "idctdsp_arm.h"

void ff_simple_idct_armv6(int16_t *data);
void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data);

void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels,
int line_size);



+ 1
- 4
libavcodec/arm/idctdsp_init_neon.c View File

@@ -24,12 +24,9 @@
#include "libavutil/attributes.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/idctdsp.h"
#include "idct.h"
#include "idctdsp_arm.h"

void ff_simple_idct_neon(int16_t *data);
void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data);
void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data);

void ff_add_pixels_clamped_neon(const int16_t *, uint8_t *, int);
void ff_put_pixels_clamped_neon(const int16_t *, uint8_t *, int);
void ff_put_signed_pixels_clamped_neon(const int16_t *, uint8_t *, int);


+ 1
- 7
libavcodec/dct-test.c View File

@@ -45,19 +45,13 @@
#include "aandcttab.h"
#include "faandct.h"
#include "faanidct.h"
#include "arm/idct.h"
#include "ppc/fdct.h"
#include "x86/fdct.h"
#include "x86/idct_xvid.h"
#include "x86/simple_idct.h"
#include "dctref.h"

// ARM
void ff_j_rev_dct_arm(int16_t *data);
void ff_simple_idct_arm(int16_t *data);
void ff_simple_idct_armv5te(int16_t *data);
void ff_simple_idct_armv6(int16_t *data);
void ff_simple_idct_neon(int16_t *data);

struct algo {
const char *name;
void (*func)(int16_t *block);


Loading…
Cancel
Save