Browse Source

Remove global mm_flags variable

Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Måns Rullgård 14 years ago
parent
commit
c0ec9918b0
15 changed files with 19 additions and 25 deletions
  1. +2
    -1
      libavcodec/arm/dsputil_iwmmxt.c
  2. +1
    -8
      libavcodec/dsputil.h
  3. +1
    -1
      libavcodec/h263dec.c
  4. +0
    -4
      libavcodec/ppc/dsputil_ppc.c
  5. +1
    -1
      libavcodec/ppc/mpegvideo_altivec.c
  6. +1
    -1
      libavcodec/x86/dnxhd_mmx.c
  7. +2
    -4
      libavcodec/x86/dsputil_mmx.c
  8. +2
    -0
      libavcodec/x86/dsputilenc_mmx.c
  9. +1
    -1
      libavcodec/x86/h264dsp_mmx.c
  10. +2
    -0
      libavcodec/x86/motion_est_mmx.c
  11. +1
    -1
      libavcodec/x86/mpegaudiodec_mmx.c
  12. +2
    -0
      libavcodec/x86/mpegvideo_mmx.c
  13. +1
    -1
      libavcodec/x86/snowdsp_mmx.c
  14. +1
    -1
      libavcodec/x86/vc1dsp_mmx.c
  15. +1
    -1
      libavcodec/x86/vp8dsp-init.c

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

@@ -150,10 +150,11 @@ static void nop(uint8_t *block, const uint8_t *pixels, int line_size, int h)
/* A run time test is not simple. If this file is compiled in /* A run time test is not simple. If this file is compiled in
* then we should install the functions * then we should install the functions
*/ */
int mm_flags = FF_MM_IWMMXT; /* multimedia extension flags */


void ff_dsputil_init_iwmmxt(DSPContext* c, AVCodecContext *avctx) void ff_dsputil_init_iwmmxt(DSPContext* c, AVCodecContext *avctx)
{ {
int mm_flags = FF_MM_IWMMXT; /* multimedia extension flags */

if (avctx->dsp_mask) { if (avctx->dsp_mask) {
if (avctx->dsp_mask & FF_MM_FORCE) if (avctx->dsp_mask & FF_MM_FORCE)
mm_flags |= (avctx->dsp_mask & 0xffff); mm_flags |= (avctx->dsp_mask & 0xffff);


+ 1
- 8
libavcodec/dsputil.h View File

@@ -618,7 +618,6 @@ static inline int get_penalty_factor(int lambda, int lambda2, int type){
/* should be defined by architectures supporting /* should be defined by architectures supporting
one or more MultiMedia extension */ one or more MultiMedia extension */
int mm_support(void); int mm_support(void);
extern int mm_flags;


void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx); void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx); void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx);
@@ -647,12 +646,7 @@ static inline void emms(void)
__asm__ volatile ("emms;":::"memory"); __asm__ volatile ("emms;":::"memory");
} }



#define emms_c() \
{\
if (mm_flags & FF_MM_MMX)\
emms();\
}
#define emms_c() emms()


#elif ARCH_ARM #elif ARCH_ARM


@@ -670,7 +664,6 @@ static inline void emms(void)


#else #else


#define mm_flags 0
#define mm_support() 0 #define mm_support() 0


#endif #endif


+ 1
- 1
libavcodec/h263dec.c View File

@@ -553,7 +553,7 @@ retry:
#endif #endif


#if HAVE_MMX #if HAVE_MMX
if(s->codec_id == CODEC_ID_MPEG4 && s->xvid_build>=0 && avctx->idct_algo == FF_IDCT_AUTO && (mm_flags & FF_MM_MMX)){
if(s->codec_id == CODEC_ID_MPEG4 && s->xvid_build>=0 && avctx->idct_algo == FF_IDCT_AUTO && (mm_support() & FF_MM_MMX)){
avctx->idct_algo= FF_IDCT_XVIDMMX; avctx->idct_algo= FF_IDCT_XVIDMMX;
avctx->coded_width= 0; // force reinit avctx->coded_width= 0; // force reinit
// dsputil_init(&s->dsp, avctx); // dsputil_init(&s->dsp, avctx);


+ 0
- 4
libavcodec/ppc/dsputil_ppc.c View File

@@ -23,8 +23,6 @@
#include "libavcodec/dsputil.h" #include "libavcodec/dsputil.h"
#include "dsputil_altivec.h" #include "dsputil_altivec.h"


int mm_flags = 0;

int mm_support(void) int mm_support(void)
{ {
int result = 0; int result = 0;
@@ -182,8 +180,6 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
if(CONFIG_H264_DECODER) dsputil_h264_init_ppc(c, avctx); if(CONFIG_H264_DECODER) dsputil_h264_init_ppc(c, avctx);


if (has_altivec()) { if (has_altivec()) {
mm_flags |= FF_MM_ALTIVEC;

dsputil_init_altivec(c, avctx); dsputil_init_altivec(c, avctx);
if(CONFIG_VC1_DECODER) if(CONFIG_VC1_DECODER)
vc1dsp_init_altivec(c, avctx); vc1dsp_init_altivec(c, avctx);


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

@@ -570,7 +570,7 @@ static void dct_unquantize_h263_altivec(MpegEncContext *s,


void MPV_common_init_altivec(MpegEncContext *s) void MPV_common_init_altivec(MpegEncContext *s)
{ {
if ((mm_flags & FF_MM_ALTIVEC) == 0) return;
if (!has_altivec()) return;


if (s->avctx->lowres==0) { if (s->avctx->lowres==0) {
if ((s->avctx->idct_algo == FF_IDCT_AUTO) || if ((s->avctx->idct_algo == FF_IDCT_AUTO) ||


+ 1
- 1
libavcodec/x86/dnxhd_mmx.c View File

@@ -52,7 +52,7 @@ static void get_pixels_8x4_sym_sse2(DCTELEM *block, const uint8_t *pixels, int l


void ff_dnxhd_init_mmx(DNXHDEncContext *ctx) void ff_dnxhd_init_mmx(DNXHDEncContext *ctx)
{ {
if (mm_flags & FF_MM_SSE2) {
if (mm_support() & FF_MM_SSE2) {
ctx->get_pixels_8x4_sym = get_pixels_8x4_sym_sse2; ctx->get_pixels_8x4_sym = get_pixels_8x4_sym_sse2;
} }
} }

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

@@ -37,8 +37,6 @@
//#undef NDEBUG //#undef NDEBUG
//#include <assert.h> //#include <assert.h>


int mm_flags; /* multimedia extension flags */

/* pixel operations */ /* pixel operations */
DECLARE_ALIGNED(8, const uint64_t, ff_bone) = 0x0101010101010101ULL; DECLARE_ALIGNED(8, const uint64_t, ff_bone) = 0x0101010101010101ULL;
DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL; DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL;
@@ -2504,7 +2502,7 @@ float ff_scalarproduct_float_sse(const float *v1, const float *v2, int order);


void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


if (avctx->dsp_mask) { if (avctx->dsp_mask) {
if (avctx->dsp_mask & FF_MM_FORCE) if (avctx->dsp_mask & FF_MM_FORCE)
@@ -2941,7 +2939,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
#if CONFIG_H264DSP #if CONFIG_H264DSP
void ff_h264dsp_init_x86(H264DSPContext *c) void ff_h264dsp_init_x86(H264DSPContext *c)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {
c->h264_idct_dc_add= c->h264_idct_dc_add=


+ 2
- 0
libavcodec/x86/dsputilenc_mmx.c View File

@@ -1350,6 +1350,8 @@ static int ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, int si


void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx) void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx)
{ {
int mm_flags = mm_support();

if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {
const int dct_algo = avctx->dct_algo; const int dct_algo = avctx->dct_algo;
if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){ if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){


+ 1
- 1
libavcodec/x86/h264dsp_mmx.c View File

@@ -2368,7 +2368,7 @@ void ff_pred4x4_vertical_vp8_mmxext(uint8_t *src, const uint8_t *topright, int s
#if CONFIG_H264PRED #if CONFIG_H264PRED
void ff_h264_pred_init_x86(H264PredContext *h, int codec_id) void ff_h264_pred_init_x86(H264PredContext *h, int codec_id)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


#if HAVE_YASM #if HAVE_YASM
if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {


+ 2
- 0
libavcodec/x86/motion_est_mmx.c View File

@@ -427,6 +427,8 @@ PIX_SAD(mmx2)


void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx) void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx)
{ {
int mm_flags = mm_support();

if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {
c->pix_abs[0][0] = sad16_mmx; c->pix_abs[0][0] = sad16_mmx;
c->pix_abs[0][1] = sad16_x2_mmx; c->pix_abs[0][1] = sad16_x2_mmx;


+ 1
- 1
libavcodec/x86/mpegaudiodec_mmx.c View File

@@ -149,7 +149,7 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out,


void ff_mpegaudiodec_init_mmx(MPADecodeContext *s) void ff_mpegaudiodec_init_mmx(MPADecodeContext *s)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


if (mm_flags & FF_MM_SSE2) { if (mm_flags & FF_MM_SSE2) {
s->apply_window_mp3 = apply_window_mp3; s->apply_window_mp3 = apply_window_mp3;


+ 2
- 0
libavcodec/x86/mpegvideo_mmx.c View File

@@ -625,6 +625,8 @@ static void denoise_dct_sse2(MpegEncContext *s, DCTELEM *block){


void MPV_common_init_mmx(MpegEncContext *s) void MPV_common_init_mmx(MpegEncContext *s)
{ {
int mm_flags = mm_support();

if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {
const int dct_algo = s->avctx->dct_algo; const int dct_algo = s->avctx->dct_algo;




+ 1
- 1
libavcodec/x86/snowdsp_mmx.c View File

@@ -874,7 +874,7 @@ static void ff_snow_inner_add_yblock_mmx(const uint8_t *obmc, const int obmc_str


void ff_dwt_init_x86(DWTContext *c) void ff_dwt_init_x86(DWTContext *c)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {
if(mm_flags & FF_MM_SSE2 & 0){ if(mm_flags & FF_MM_SSE2 & 0){


+ 1
- 1
libavcodec/x86/vc1dsp_mmx.c View File

@@ -714,7 +714,7 @@ static void vc1_h_loop_filter16_sse4(uint8_t *src, int stride, int pq)
#endif #endif


void ff_vc1dsp_init_mmx(DSPContext* dsp, AVCodecContext *avctx) { void ff_vc1dsp_init_mmx(DSPContext* dsp, AVCodecContext *avctx) {
mm_flags = mm_support();
int mm_flags = mm_support();


dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_mmx; dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_mmx;
dsp->put_vc1_mspel_pixels_tab[ 4] = put_vc1_mspel_mc01_mmx; dsp->put_vc1_mspel_pixels_tab[ 4] = put_vc1_mspel_mc01_mmx;


+ 1
- 1
libavcodec/x86/vp8dsp-init.c View File

@@ -282,7 +282,7 @@ DECLARE_LOOP_FILTER(sse4)


av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c) av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
{ {
mm_flags = mm_support();
int mm_flags = mm_support();


#if HAVE_YASM #if HAVE_YASM
if (mm_flags & FF_MM_MMX) { if (mm_flags & FF_MM_MMX) {


Loading…
Cancel
Save