Browse Source

vorbisdsp: change block_size type from int to intptr_t.

This saves one instruction in the x86-64 assembly.
tags/n1.2
Ronald S. Bultje 12 years ago
parent
commit
1768e43ceb
6 changed files with 13 additions and 7 deletions
  1. +2
    -1
      libavcodec/arm/vorbisdsp_init_arm.c
  2. +1
    -1
      libavcodec/ppc/vorbisdsp_altivec.c
  3. +1
    -1
      libavcodec/vorbis.h
  4. +1
    -1
      libavcodec/vorbisdec.c
  5. +4
    -1
      libavcodec/vorbisdsp.h
  6. +4
    -2
      libavcodec/x86/vorbisdsp_init.c

+ 2
- 1
libavcodec/arm/vorbisdsp_init_arm.c View File

@@ -24,7 +24,8 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/vorbisdsp.h"

void ff_vorbis_inverse_coupling_neon(float *mag, float *ang, int blocksize);
void ff_vorbis_inverse_coupling_neon(float *mag, float *ang,
intptr_t blocksize);

void ff_vorbisdsp_init_arm(VorbisDSPContext *c)
{


+ 1
- 1
libavcodec/ppc/vorbisdsp_altivec.c View File

@@ -27,7 +27,7 @@

#if HAVE_ALTIVEC
static void vorbis_inverse_coupling_altivec(float *mag, float *ang,
int blocksize)
intptr_t blocksize)
{
int i;
vector float m, a;


+ 1
- 1
libavcodec/vorbis.h View File

@@ -43,7 +43,7 @@ int ff_vorbis_len2vlc(uint8_t *bits, uint32_t *codes, unsigned num);
void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values,
uint16_t *y_list, int *flag,
int multiplier, float * out, int samples);
void ff_vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize);

#define ilog(i) av_log2(2*(i))



+ 1
- 1
libavcodec/vorbisdec.c View File

@@ -1450,7 +1450,7 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr,
}
}

void ff_vorbis_inverse_coupling(float *mag, float *ang, int blocksize)
void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize)
{
int i;
for (i = 0; i < blocksize; i++) {


+ 4
- 1
libavcodec/vorbisdsp.h View File

@@ -19,9 +19,12 @@
#ifndef AVCODEC_VORBISDSP_H
#define AVCODEC_VORBISDSP_H

#include <stdint.h>

typedef struct VorbisDSPContext {
/* assume len is a multiple of 4, and arrays are 16-byte aligned */
void (*vorbis_inverse_coupling)(float *mag, float *ang, int blocksize);
void (*vorbis_inverse_coupling)(float *mag, float *ang,
intptr_t blocksize);
} VorbisDSPContext;

void ff_vorbisdsp_init(VorbisDSPContext *dsp);


+ 4
- 2
libavcodec/x86/vorbisdsp_init.c View File

@@ -25,7 +25,8 @@

#if HAVE_INLINE_ASM
#if ARCH_X86_32
static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize)
static void vorbis_inverse_coupling_3dnow(float *mag, float *ang,
intptr_t blocksize)
{
int i;
__asm__ volatile ("pxor %%mm7, %%mm7":);
@@ -54,7 +55,8 @@ static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize)
}
#endif

static void vorbis_inverse_coupling_sse(float *mag, float *ang, int blocksize)
static void vorbis_inverse_coupling_sse(float *mag, float *ang,
intptr_t blocksize)
{
int i;



Loading…
Cancel
Save