Commit 6af2c351 authored by Diego Biurrun's avatar Diego Biurrun

ppc: Add missing AltiVec cpuflag detection invocations

parent de81b6ae
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
*/ */
#include "config.h" #include "config.h"
#include "libavutil/cpu.h"
#include "libavutil/ppc/types_altivec.h" #include "libavutil/ppc/types_altivec.h"
#include "libavutil/ppc/util_altivec.h" #include "libavutil/ppc/util_altivec.h"
#include "libavcodec/fft.h" #include "libavcodec/fft.h"
...@@ -142,6 +143,9 @@ static void imdct_calc_altivec(FFTContext *s, FFTSample *output, const FFTSample ...@@ -142,6 +143,9 @@ static void imdct_calc_altivec(FFTContext *s, FFTSample *output, const FFTSample
av_cold void ff_fft_init_ppc(FFTContext *s) av_cold void ff_fft_init_ppc(FFTContext *s)
{ {
#if HAVE_GNU_AS && HAVE_ALTIVEC #if HAVE_GNU_AS && HAVE_ALTIVEC
if (!(av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC))
return;
s->fft_calc = ff_fft_calc_interleave_altivec; s->fft_calc = ff_fft_calc_interleave_altivec;
if (s->mdct_bits >= 5) { if (s->mdct_bits >= 5) {
s->imdct_calc = imdct_calc_altivec; s->imdct_calc = imdct_calc_altivec;
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "config.h" #include "config.h"
#include "libavutil/attributes.h" #include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/mem.h" #include "libavutil/mem.h"
#include "libavutil/ppc/util_altivec.h" #include "libavutil/ppc/util_altivec.h"
#include "libavcodec/fmtconvert.h" #include "libavcodec/fmtconvert.h"
...@@ -164,6 +165,9 @@ av_cold void ff_fmt_convert_init_ppc(FmtConvertContext *c, ...@@ -164,6 +165,9 @@ av_cold void ff_fmt_convert_init_ppc(FmtConvertContext *c,
AVCodecContext *avctx) AVCodecContext *avctx)
{ {
#if HAVE_ALTIVEC #if HAVE_ALTIVEC
if (!(av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC))
return;
c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_altivec; c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_altivec;
if (!(avctx->flags & CODEC_FLAG_BITEXACT)) { if (!(avctx->flags & CODEC_FLAG_BITEXACT)) {
c->float_to_int16 = float_to_int16_altivec; c->float_to_int16 = float_to_int16_altivec;
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include "config.h" #include "config.h"
#include "libavutil/attributes.h" #include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/internal.h" #include "libavutil/internal.h"
#include "libavutil/ppc/util_altivec.h" #include "libavutil/ppc/util_altivec.h"
#include "libavcodec/mpegaudiodsp.h" #include "libavcodec/mpegaudiodsp.h"
...@@ -132,6 +133,9 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out, ...@@ -132,6 +133,9 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out,
av_cold void ff_mpadsp_init_ppc(MPADSPContext *s) av_cold void ff_mpadsp_init_ppc(MPADSPContext *s)
{ {
#if HAVE_ALTIVEC #if HAVE_ALTIVEC
if (!(av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC))
return;
s->apply_window_float = apply_window_mp3; s->apply_window_float = apply_window_mp3;
#endif /* HAVE_ALTIVEC */ #endif /* HAVE_ALTIVEC */
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment