blob: 24cab7577c9d0ad0e5708eba4c2b537abbdf8dcf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
include $(top_builddir)/misc/Makefile.plugins
include $(top_srcdir)/misc/Makefile.common
DEFAULT_INCLUDES = -I.
if HAVE_FFMPEG
ff_cppflags = $(FFMPEG_CFLAGS) $(FFMPEG_POSTPROC_CFLAGS)
link_ffmpeg = $(FFMPEG_LIBS) $(FFMPEG_UTIL_LIBS) $(FFMPEG_POSTPROC_LIBS)
else
ff_cppflags = -I$(top_builddir)/src/libffmpeg -I$(top_srcdir)/src/libffmpeg/libavcodec -I$(top_srcdir)/src/libffmpeg/libavutil
link_ffmpeg = \
$(top_builddir)/src/libffmpeg/libavcodec/libavcodec.la \
$(top_builddir)/src/libffmpeg/libavutil/libavutil.la \
$(top_builddir)/src/libffmpeg/libavcodec/libpostproc/libpostprocess.la
endif
ff_generated = \
avcodec_video.list avcodec_audio.list \
ff_video_list.h ff_audio_list.h
BUILT_SOURCES = $(ff_generated)
# ffmpeg_config.h is generated by configure
DISTCLEANFILES = ffmpeg_config.h $(ff_generated)
# this must always be included, even if the current machine has no DXR3...
EXTRA_DIST = ffmpeg_encoder.c \
xine_video.list xine_audio.list mkcodeclist.pl
xineplug_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la
if HAVE_DXR3
AM_CPPFLAGS = -I$(top_srcdir)/src/dxr3 $(X_CFLAGS) $(ff_cppflags) \
$(ZLIB_CPPFLAGS)
xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \
ffmpeg_encoder.c ff_mpeg_parser.c ffmpeg_decoder.h \
ff_mpeg_parser.h
else
AM_CPPFLAGS = $(ff_cppflags) $(ZLIB_CPPFLAGS)
xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \
ff_mpeg_parser.c ffmpeg_decoder.h ff_mpeg_parser.h
endif
xineplug_decode_ff_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
xineplug_decode_ff_la_LDFLAGS = $(xineplug_ldflags) $(IMPURE_TEXT_LDFLAGS)
xineplug_decode_ff_la_LIBADD = $(XINE_LIB) $(MLIB_LIBS) -lm $(ZLIB_LIBS) \
$(link_ffmpeg) $(PTHREAD_LIBS) $(LTLIBINTL)
xineplug_decode_dvaudio_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
xineplug_decode_dvaudio_la_LDFLAGS = $(xineplug_ldflags)
xineplug_decode_dvaudio_la_SOURCES = ff_dvaudio_decoder.c
xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB) $(LTLIBINTL)
$(top_srcdir)/src/libffmpeg/libavcodec/libavcodec.la:
make -C $(top_srcdir)/src/libffmpeg
# Generation of ffmpeg->xine codec mapping lists (see xine_*.list).
AV_CPP = $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
# Extract some CODEC_ID_* from avcodec.h. Requires some sed mangling.
avcodec_audio.list: AV_CODECS:=/CODEC_ID_PCM_S16LE/,/CODEC_ID_DVD_SUBTITLE/
avcodec_video.list: AV_CODECS:=/CODEC_ID_MPEG1VIDEO/,/CODEC_ID_PCM_S16LE/
avcodec_audio.list avcodec_video.list:
echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) - |\
sed -e $(AV_CODECS)'! d; s/^[ \t]*//; s/[=,].*//; /^$$/ d' >$@
# Generate the mappings. These are #included where needed.
ff_%_list.h: $(srcdir)/mkcodeclist.pl avcodec_%.list $(srcdir)/xine_%.list
$(PERL) $^ $@
ff_audio_decoder.c: ff_audio_list.h
ff_video_decoder.c: ff_video_list.h
# 'make report' prints tokens corresponding to any unhandled codecs.
report: avcodec_audio.list avcodec_video.list
@$(top_srcdir)/src/combined/ffmpeg/mkcodeclist.pl avcodec_audio.list xine_audio.list - audio
@$(top_srcdir)/src/combined/ffmpeg/mkcodeclist.pl avcodec_video.list xine_video.list - video
.PHONY: report
|