annotate common.mak @ 22021:71d78117fbf0

set has_valid_timestamps and corresponding first and final pts only after having checked that at the beginning, at the middle and at the end of the stream timestamps don't reset and that they seem to progress (almost-) linearly; additionally probe those timestamps only when the stream type is file and it's seekable, so all other stream types (especially network ones) won't waste time trying to seek and possibly slowing down detection. Seeking is not negatively affected by these changes. Patch by Christian Aistleitner (zaek7q gmx net) reworked by me.
author nicodvb
date Sun, 28 Jan 2007 10:45:34 +0000
parents 3465873e5c59
children dd0d8b99192b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
1 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
2 # common bits used by all libraries
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
3 #
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
4
21210
39a0f240f3d7 Sync with FFmpeg r7167.
diego
parents: 20227
diff changeset
5 VPATH = $(SRC_PATH_BARE)/lib$(NAME)
39a0f240f3d7 Sync with FFmpeg r7167.
diego
parents: 20227
diff changeset
6 SRC_DIR = "$(VPATH)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
7
21992
3465873e5c59 Sync with FFmpeg r7699.
diego
parents: 21975
diff changeset
8 CFLAGS += $(CFLAGS-yes)
3465873e5c59 Sync with FFmpeg r7699.
diego
parents: 21975
diff changeset
9 OBJS += $(OBJS-yes)
3465873e5c59 Sync with FFmpeg r7699.
diego
parents: 21975
diff changeset
10 ASM_OBJS += $(ASM_OBJS-yes)
3465873e5c59 Sync with FFmpeg r7699.
diego
parents: 21975
diff changeset
11
20152
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
12 CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
13 -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
14 -I$(SRC_PATH)/libavutil $(OPTFLAGS)
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
15 SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
16 OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
17 STATIC_OBJS := $(OBJS) $(STATIC_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
18 SHARED_OBJS := $(OBJS) $(SHARED_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
19
18311
6727756ba981 Sync with upstream.
diego
parents: 17700
diff changeset
20 all: $(EXTRADEPS) $(LIB) $(SLIBNAME)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
21
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
22 $(LIB): $(STATIC_OBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
23 rm -f $@
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
24 $(AR) rc $@ $^ $(EXTRAOBJS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
25 $(RANLIB) $@
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
26
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
27 $(SLIBNAME): $(SLIBNAME_WITH_MAJOR)
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
28 ln -sf $^ $@
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
29
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
30 $(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
31 $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS)
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
32 $(SLIB_EXTRA_CMD)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
33
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
34 %.o: %.c
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
35 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
36
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
37 %.o: %.S
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
38 $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
39
20068
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
40 %: %.o $(LIB)
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
41 $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS)
e242e2e8fed4 Sync with FFmpeg r6563.
diego
parents: 20016
diff changeset
42
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
43 depend dep: $(SRCS)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
44 $(CC) -MM $(CFLAGS) $^ 1>.depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
45
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
46 clean::
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
47 rm -f *.o *.d *~ *.a *.lib *.so *.so.* *.dylib *.dll \
21210
39a0f240f3d7 Sync with FFmpeg r7167.
diego
parents: 20227
diff changeset
48 *.def *.dll.a *.exp
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
49
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
50 distclean: clean
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
51 rm -f .depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
52
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
53 ifeq ($(BUILD_SHARED),yes)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
54 INSTLIBTARGETS += install-lib-shared
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
55 endif
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
56 ifeq ($(BUILD_STATIC),yes)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
57 INSTLIBTARGETS += install-lib-static
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
58 endif
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
59
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
60 install: install-libs install-headers
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
61
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
62 install-libs: $(INSTLIBTARGETS)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
63
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
64 install-lib-shared: $(SLIBNAME)
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
65 install -d "$(shlibdir)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
66 install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
67 "$(shlibdir)/$(SLIBNAME_WITH_VERSION)"
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
68 cd "$(shlibdir)" && \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
69 ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
70 cd "$(shlibdir)" && \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
71 ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME)
21975
b628a6f19968 Sync with FFmpeg r7634.
diego
parents: 21210
diff changeset
72 $(SLIB_INSTALL_EXTRA_CMD)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
73
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
74 install-lib-static: $(LIB)
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
75 install -d "$(libdir)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
76 install -m 644 $(LIB) "$(libdir)"
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
77 $(LIB_INSTALL_EXTRA_CMD)
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
78
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
79 install-headers:
17700
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
80 install -d "$(incdir)"
a0c511c2d0bd update config.mak to match ffmpeg's version (fix alpha compilation)
aurel
parents: 17627
diff changeset
81 install -d "$(libdir)/pkgconfig"
21210
39a0f240f3d7 Sync with FFmpeg r7167.
diego
parents: 20227
diff changeset
82 install -m 644 $(addprefix $(SRC_DIR)/,$(HEADERS)) "$(incdir)"
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
83 install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig"
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
84
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
85 uninstall: uninstall-libs uninstall-headers
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
86
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
87 uninstall-libs:
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
88 -rm -f "$(shlibdir)/$(SLIBNAME_WITH_MAJOR)" \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
89 "$(shlibdir)/$(SLIBNAME)" \
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
90 "$(shlibdir)/$(SLIBNAME_WITH_VERSION)"
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
91 -rm -f "$(libdir)/$(LIB)"
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
92
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
93 uninstall-headers:
20152
0d25074baa1e Sync with FFmpeg r6642.
diego
parents: 20068
diff changeset
94 rm -f $(addprefix "$(incdir)/",$(HEADERS))
19375
3f2fc9e40cd4 sync with FFmpeg r5930
diego
parents: 19016
diff changeset
95 rm -f "$(libdir)/pkgconfig/lib$(NAME).pc"
19016
837e543350b3 sync with FFmpeg r5718
diego
parents: 18311
diff changeset
96
20016
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
97 .PHONY: all depend dep clean distclean install* uninstall*
091983e8b1eb Sync with FFmpeg r6543.
diego
parents: 19375
diff changeset
98
17627
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
99 ifneq ($(wildcard .depend),)
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
100 include .depend
24238abbd150 Import common.mak v1.1 from ffmpeg cvs, now it's needed by the building
rtognimp
parents:
diff changeset
101 endif