From c7e079314bc47ed09826ec343f4582226c6ed296 Mon Sep 17 00:00:00 2001 From: Martin Olschewski Date: Fri, 30 Aug 2002 18:17:20 +0000 Subject: [PATCH] sun solaris compilation bugfix, patch by (Martin Olschewski ) Originally committed as revision 882 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 7 ++++--- libavcodec/mlib/dsputil_mlib.c | 9 ++++++++- libavcodec/mpegvideo.c | 3 +++ libavcodec/mpegvideo.h | 3 +++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c442df67f7..eb228320f5 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -310,10 +310,11 @@ typedef struct AVCodecContext { int aspected_height; int dct_algo; -#define FF_DCT_AUTO 0 +#define FF_DCT_AUTO 0 #define FF_DCT_FASTINT 1 -#define FF_DCT_INT 2 -#define FF_DCT_MMX 3 +#define FF_DCT_INT 2 +#define FF_DCT_MMX 3 +#define FF_DCT_MLIB 4 //FIXME this should be reordered after kabis API is finished ... //TODO kill kabi diff --git a/libavcodec/mlib/dsputil_mlib.c b/libavcodec/mlib/dsputil_mlib.c index 4539b6464a..c380eb45f7 100644 --- a/libavcodec/mlib/dsputil_mlib.c +++ b/libavcodec/mlib/dsputil_mlib.c @@ -18,6 +18,7 @@ */ #include "../dsputil.h" +#include "../mpegvideo.h" #include #include @@ -125,7 +126,6 @@ void ff_fdct_mlib(DCTELEM *data) void dsputil_init_mlib(void) { - av_fdct = ff_fdct_mlib; ff_idct = ff_idct_mlib; put_pixels_tab[0] = put_pixels_mlib; @@ -142,3 +142,10 @@ void dsputil_init_mlib(void) add_pixels_clamped = add_pixels_clamped_mlib; } + +void MPV_common_init_mlib(MpegEncContext *s) +{ + if(s->avctx->dct_algo==FF_DCT_AUTO || s->avctx->dct_algo==FF_DCT_MLIB){ + s->fdct = ff_fdct_mlib; + } +} diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 7f1f4f2b6b..f480a61dcd 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -153,6 +153,9 @@ int MPV_common_init(MpegEncContext *s) #ifdef ARCH_ALPHA MPV_common_init_axp(s); #endif +#ifdef HAVE_MLIB + MPV_common_init_mlib(s); +#endif s->mb_width = (s->width + 15) / 16; s->mb_height = (s->height + 15) / 16; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index d4766dc562..6b7377b246 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -480,6 +480,9 @@ void MPV_common_init_mmx(MpegEncContext *s); #ifdef ARCH_ALPHA void MPV_common_init_axp(MpegEncContext *s); #endif +#ifdef HAVE_MLIB +void MPV_common_init_mlib(MpegEncContext *s); +#endif extern void (*draw_edges)(UINT8 *buf, int wrap, int width, int height, int w); void ff_conceal_past_errors(MpegEncContext *s, int conceal_all); void ff_copy_bits(PutBitContext *pb, UINT8 *src, int length);