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 "libavutil/arm/cpu.h"
#include "libavcodec/vorbisdsp.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) void ff_vorbisdsp_init_arm(VorbisDSPContext *c)
{ {


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

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


#if HAVE_ALTIVEC #if HAVE_ALTIVEC
static void vorbis_inverse_coupling_altivec(float *mag, float *ang, static void vorbis_inverse_coupling_altivec(float *mag, float *ang,
int blocksize)
intptr_t blocksize)
{ {
int i; int i;
vector float m, a; 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, void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values,
uint16_t *y_list, int *flag, uint16_t *y_list, int *flag,
int multiplier, float * out, int samples); 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)) #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; int i;
for (i = 0; i < blocksize; i++) { for (i = 0; i < blocksize; i++) {


+ 4
- 1
libavcodec/vorbisdsp.h View File

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


#include <stdint.h>

typedef struct VorbisDSPContext { typedef struct VorbisDSPContext {
/* assume len is a multiple of 4, and arrays are 16-byte aligned */ /* 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; } VorbisDSPContext;


void ff_vorbisdsp_init(VorbisDSPContext *dsp); void ff_vorbisdsp_init(VorbisDSPContext *dsp);


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

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


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




Loading…
Cancel
Save