mirror of https://git.ffmpeg.org/ffmpeg.git
fixed config for direct mplayer build compatibility
Originally committed as revision 8 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d78647e8b4
commit
980fc7b834
10
Makefile
10
Makefile
|
@ -1,11 +1,11 @@
|
|||
# Main ffmpeg Makefile
|
||||
# (c) 2000, 2001 Gerard Lantau
|
||||
#
|
||||
include config.mk
|
||||
include config.mak
|
||||
|
||||
CFLAGS= -O2 -Wall -g -I./libavcodec -I./libav
|
||||
CFLAGS= $(OPTFLAGS) -Wall -g -I./libavcodec -I./libav
|
||||
LDFLAGS= -g
|
||||
ifdef CONFIG_GPROF
|
||||
ifeq ($(TARGET_GPROF),yes)
|
||||
CFLAGS+=-p
|
||||
LDFLAGS+=-p
|
||||
endif
|
||||
|
@ -28,7 +28,7 @@ ffserver: ffserver.o libav/libav.a libavcodec/libavcodec.a
|
|||
gcc $(CFLAGS) -c -o $@ $<
|
||||
|
||||
install: all
|
||||
install -s -m 755 $(PROG) $(PREFIX)/bin
|
||||
install -s -m 755 $(PROG) $(prefix)/bin
|
||||
|
||||
clean:
|
||||
make -C libavcodec clean
|
||||
|
@ -36,7 +36,7 @@ clean:
|
|||
rm -f *.o *~ gmon.out TAGS $(PROG)
|
||||
|
||||
distclean: clean
|
||||
rm -f Rules.mk config.h
|
||||
rm -f config.mak config.h
|
||||
|
||||
TAGS:
|
||||
etags *.[ch] libav/*.[ch] libavcodec/*.[ch]
|
||||
|
|
|
@ -53,23 +53,24 @@ echo "CPU $cpu"
|
|||
echo "MMX enabled $mmx"
|
||||
echo "gprof enabled $gprof"
|
||||
|
||||
echo "Creating config.mk and config.h"
|
||||
echo "Creating config.mak and config.h"
|
||||
|
||||
echo "# Automatically generated by configure - do not modify" > config.mk
|
||||
echo "# Automatically generated by configure - do not modify" > config.mak
|
||||
echo "/* Automatically generated by configure - do not modify */" > config.h
|
||||
|
||||
echo "PREFIX=$prefix" >> config.mk
|
||||
echo "CC=$cc" >> config.mk
|
||||
echo "AR=$ar" >> config.mk
|
||||
echo "prefix=$prefix" >> config.mak
|
||||
echo "CC=$cc" >> config.mak
|
||||
echo "AR=$ar" >> config.mak
|
||||
echo "OPTFLAGS=-O2" >> config.mak
|
||||
if [ "$cpu" = "x86" ] ; then
|
||||
echo "CONFIG_CPU_X86=y" >> config.mk
|
||||
echo "#define CONFIG_CPU_X86 1" >> config.h
|
||||
echo "TARGET_ARCH_X86=yes" >> config.mak
|
||||
echo "#define ARCH_X86 1" >> config.h
|
||||
fi
|
||||
if [ "$mmx" = "yes" ] ; then
|
||||
echo "CONFIG_MMX=y" >> config.mk
|
||||
echo "#define CONFIG_MMX 1" >> config.h
|
||||
echo "TARGET_MMX=yes" >> config.mak
|
||||
echo "#define HAVE_MMX 1" >> config.h
|
||||
fi
|
||||
if [ "$gprof" = "yes" ] ; then
|
||||
echo "CONFIG_GPROF=y" >> config.mk
|
||||
echo "#define CONFIG_GPROF 1" >> config.h
|
||||
echo "TARGET_GPROF=yes" >> config.mak
|
||||
echo "#define HAVE_GPROF 1" >> config.h
|
||||
fi
|
||||
|
|
|
@ -8,7 +8,15 @@
|
|||
demux code for several formats). (no example yet, the API is likely
|
||||
to evolve).
|
||||
|
||||
2) Coding Rules
|
||||
2) Integrating libavXXX in your GPL'ed program
|
||||
----------------------------------------------
|
||||
|
||||
You can integrate all the source code of the libraries to link them
|
||||
statically to avoid any version problem. All you need is to provide a
|
||||
'config.mak' and a 'config.h' in the parent directory. See the defines
|
||||
generated by ./configure to understand what is needed.
|
||||
|
||||
3) Coding Rules
|
||||
---------------
|
||||
|
||||
ffmpeg is programmed in ANSI C language. GCC extension are
|
||||
|
|
4
doc/TODO
4
doc/TODO
|
@ -16,7 +16,11 @@ Planned in next release:
|
|||
(DONE) - add RV10 decoding.
|
||||
(DONE) - add true pgm support.
|
||||
(DONE) - msmpeg4 0x18 fix.
|
||||
- add encode and ac3/mpglib disabling option
|
||||
- add qscale out.
|
||||
- add decode quant optimisation.
|
||||
- see black region optimization (Arpi request).
|
||||
- check ffmpeg mpeg1 encoding (Happy Camer mail)
|
||||
- add format autodetect with content (for example to distinguish
|
||||
mpegvideo/mpegmux).
|
||||
- add external alloc for libavcodec (avifile request).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
include ../config.mk
|
||||
CFLAGS= -O2 -Wall -g -I../libavcodec
|
||||
include ../config.mak
|
||||
CFLAGS= $(OPTFLAGS) -Wall -g -I../libavcodec
|
||||
|
||||
OBJS= rm.o mpeg.o asf.o avienc.o jpegenc.o swf.o wav.o raw.o \
|
||||
avidec.o ffm.o \
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
include ../config.mk
|
||||
CFLAGS= -O2 -Wall -g
|
||||
include ../config.mak
|
||||
|
||||
CFLAGS= $(OPTFLAGS) -Wall -g
|
||||
LDFLAGS= -g
|
||||
|
||||
OBJS= common.o utils.o mpegvideo.o h263.o jrevdct.o jfdctfst.o \
|
||||
mpegaudio.o ac3enc.o mjpegenc.o resample.o dsputil.o \
|
||||
motion_est.o imgconvert.o imgresample.o msmpeg4.o \
|
||||
mpeg12.o h263dec.o rv10.o
|
||||
ASM_OBJS=
|
||||
|
||||
# currently using libac3 for ac3 decoding
|
||||
OBJS+= ac3dec.o \
|
||||
|
@ -18,19 +20,22 @@ OBJS+= mpegaudiodec.o \
|
|||
mpglib/dct64_i386.o mpglib/decode_i386.o mpglib/tabinit.o
|
||||
|
||||
# i386 mmx specific stuff
|
||||
ifdef CONFIG_MMX
|
||||
OBJS += i386/fdct_mmx.o i386/fdctdata.o i386/sad_mmx.o i386/cputest.o \
|
||||
ifeq ($(TARGET_MMX),yes)
|
||||
ASM_OBJS += i386/fdct_mmx.o i386/sad_mmx.o
|
||||
OBJS += i386/fdctdata.o i386/cputest.o \
|
||||
i386/dsputil_mmx.o
|
||||
endif
|
||||
|
||||
SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)
|
||||
|
||||
LIB= libavcodec.a
|
||||
TESTS= imgresample-test dct-test
|
||||
|
||||
all: $(LIB) apiexample
|
||||
|
||||
$(LIB): $(OBJS)
|
||||
$(LIB): $(OBJS) $(ASM_OBJS)
|
||||
rm -f $@
|
||||
$(AR) rcs $@ $(OBJS)
|
||||
$(AR) rcs $@ $(OBJS) $(ASM_OBJS)
|
||||
|
||||
dsputil.o: dsputil.c dsputil.h
|
||||
|
||||
|
@ -40,12 +45,21 @@ dsputil.o: dsputil.c dsputil.h
|
|||
%.o: %.s
|
||||
nasm -f elf -o $@ $<
|
||||
|
||||
# depend only used by mplayer now
|
||||
dep: depend
|
||||
|
||||
depend:
|
||||
$(CC) -MM $(CFLAGS) $(SRCS) 1>.depend
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ *.a i386/*.o i386/*~ \
|
||||
libac3/*.o libac3/*~ \
|
||||
mpglib/*.o mpglib/*~ \
|
||||
apiexample $(TESTS)
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile.bak .depend
|
||||
|
||||
# api example program
|
||||
apiexample: apiexample.c $(LIB)
|
||||
$(CC) $(CFLAGS) -o $@ $< $(LIB) -lm
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include "../config.h"
|
||||
|
||||
#ifndef USE_LIBAVCODEC
|
||||
// workaround for typedef conflict in MPlayer
|
||||
#ifndef __WINE_WINDEF16_H
|
||||
/* workaround for typedef conflict in MPlayer (wine typedefs) */
|
||||
typedef unsigned short UINT16;
|
||||
typedef signed short INT16;
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "avcodec.h"
|
||||
#include "dsputil.h"
|
||||
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
int mm_flags; /* multimedia extension flags */
|
||||
#endif
|
||||
|
||||
|
@ -377,7 +377,7 @@ void dsputil_init(void)
|
|||
pix_abs16x16_xy2 = pix_abs16x16_xy2_c;
|
||||
av_fdct = jpeg_fdct_ifast;
|
||||
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
dsputil_init_mmx();
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ int pix_abs16x16_x2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
|
|||
int pix_abs16x16_y2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
|
||||
int pix_abs16x16_xy2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
|
||||
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
|
||||
#define MM_MMX 0x0001 /* standard MMX */
|
||||
#define MM_3DNOW 0x0004 /* AMD 3DNOW */
|
||||
|
|
|
@ -130,7 +130,7 @@ static void v_resample(UINT8 *dst, int dst_width, UINT8 *src, int wrap,
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
|
||||
#include "i386/mmx.h"
|
||||
|
||||
|
@ -317,7 +317,7 @@ static void h_resample(UINT8 *dst, int dst_width, UINT8 *src, int src_width,
|
|||
} else {
|
||||
n = dst_width;
|
||||
}
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
if ((mm_flags & MM_MMX) && NB_TAPS == 4)
|
||||
h_resample_fast4_mmx(dst, n,
|
||||
src, src_width, src_start, src_incr, filters);
|
||||
|
@ -374,7 +374,7 @@ static void component_resample(ImgReSampleContext *s,
|
|||
}
|
||||
/* apply vertical filter */
|
||||
phase_y = get_phase(src_y);
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
/* desactivated MMX because loss of precision */
|
||||
if ((mm_flags & MM_MMX) && NB_TAPS == 4 && 0)
|
||||
v_resample4_mmx(output, owidth,
|
||||
|
@ -516,7 +516,7 @@ static void dump_filter(INT16 *filter)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
int mm_flags;
|
||||
#endif
|
||||
|
||||
|
@ -588,7 +588,7 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
/* mmx test */
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
printf("MMX test\n");
|
||||
fact = 0.72;
|
||||
xsize = (int)(XSIZE * fact);
|
||||
|
|
|
@ -434,7 +434,7 @@ int estimate_motion(MpegEncContext * s,
|
|||
dmin = phods_motion_search(s, &mx, &my, range / 2, xmin, ymin, xmax, ymax);
|
||||
break;
|
||||
}
|
||||
#ifdef CONFIG_MMX
|
||||
#ifdef HAVE_MMX
|
||||
if (mm_flags & MM_MMX)
|
||||
emms();
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue