summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* vo_xvmc: drop XvMC supportUoti Urpala2011-05-091-1/+0
| | | | | | | | | Due to libavcodec changes vo_xvmc would have needed some modifications to keep working. However, I think there's little real demand for XvMC, so I'll just drop XvMC support. XvMC only supported MPEG-2, making it of very limited usefulness nowadays, plus the vo_xvmc implementation was not high quality and never worked particularly well or reliably anyway.
* find_subfiles: move sub_filenames() hereClément Bœsch2011-04-201-0/+1
| | | | | | | | | | Move sub_filenames() and related code from subreader.c to new file find_subfiles.c. This function is used to find subtitle files that should be loaded for the current video; this functionality is not specific to the particular kind of text subtitle handling implemented in subreader.c. Also reindent and prettify the moved code a bit.
* Merge branch 'edl'Uoti Urpala2011-04-081-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * edl: core: support timeline with audio-only files core: wake up a bit less often for audio-only files core: audio: cut audio writes at end of timeline part EDL: add support for new EDL file format stream.[ch], ass_mp: new stream function for whole-file reads tl_matroska.c: move the find_files() function here bstr.[ch], path.[ch]: add string and path handling functions core: ordered chapters: move timeline creation to timeline/ options: drop support for numeric -demuxer values cleanup: demuxer.[ch]: remove unused code, make functions static cleanup: reindent demuxer.h, use struct names for types
| * EDL: add support for new EDL file formatUoti Urpala2011-04-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The timeline code previously added to support Matroska ordered chapters allows constructing a playback timeline from segments picked from multiple source files. Add support for a new EDL format to make this machinery available for use with file formats other than Matroska and in a manner easier to use than creating files with ordered chapters. Unlike the old -edl option which specifies an additional file with edits to apply to the video file given as the main argument, the new EDL format is used by giving only the EDL file as the file to play; that file then contains the filename(s) to use as source files where actual video segments come from. Filename paths in the EDL file are ignored. Currently the source files are only searched for in the directory of the EDL file; support for a search path option will likely be added in the future. Format of the EDL files The first line in the file must be "mplayer EDL file, version 2". The rest of the lines belong to one of these classes: 1) lines specifying source files 2) empty lines 3) lines specifying timeline segments. Lines beginning with '<' specify source files. These lines first contain an identifier used to refer to the source file later, then the filename separated by whitespace. The identifier must start with a letter. Filenames that start or end with whitespace or contain newlines are not supported. On other lines '#' characters delimit comments. Lines that contain only whitespace after comments have been removed are ignored. Timeline segments must appear in the file in chronological order. Each segment has the following information associated with it: - duration - output start time - output end time (= output start time + duration) - source id (specifies the file the content of the segment comes from) - source start time (timestamp in the source file) - source end time (= source start time + duration) The output timestamps must form a continuous timeline from 0 to the end of the last segment, such that each new segment starts from the time the previous one ends at. Source files and times may change arbitrarily between segments. The general format for lines specifying timeline segments is [output time info] source_id [source time info] source_id must be an identifier defined on a '<' line. Both the time info parts consists of zero or more of the following elements: 1) timestamp 2) -timestamp 3) +duration 4) * 5) -* , where "timestamp" and "duration" are decimal numbers (computations are done with nanosecond precision). Whitespace around "+" and "-" is optional. 1) and 2) specify start and end time of the segment on output or source side. 3) specifies duration; the semantics are the same whether this appears on output or source side. 4) and 5) are ignored on the output side (they're always implicitly assumed). On the source side 4) specifies that the segment starts where the previous segment _using this source_ ended; if there was no previous segment time 0 is used. 5) specifies that the segment ends where the next segment using this source starts. Redundant information may be omitted. It will be filled in using the following rules: - output start for first segment is 0 - two of [output start, output end, duration] imply third - two of [source start, source end, duration] imply third - output start = output end of previous segment - output end = output start of next segment - if "*", source start = source end of earlier segment - if "-*", source end = source start of a later segment As a special rule, a last zero-duration segment without a source specification may appear. This will produce no corresponding segment in the resulting timeline, but can be used as syntax to specify the end time of the timeline (with effect equal to adding -time on the previous line). Examples: ----- begin ----- mplayer EDL file, version 2 < id1 filename 0 id1 123 100 id1 456 200 id1 789 300 ----- end ----- All segments come from the source file "filename". First segment (output time 0-100) comes from time 123-223, second 456-556, third 789-889. ----- begin ----- mplayer EDL file, version 2 < f filename f 60-120 f 600-660 f 30- 90 ----- end ----- Play first seconds 60-120 from the file, then 600-660, then 30-90. ----- begin ----- mplayer EDL file, version 2 < id1 filename1 < id2 filename2 +10 id1 * +10 id2 * +10 id1 * +10 id2 * +10 id1 * +10 id2 * ----- end ----- This plays time 0-10 from filename1, then 0-10 from filename1, then 10-20 from filename1, then 10-20 from filename2, then 20-30 from filename1, then 20-30 from filename2. ----- begin ----- mplayer EDL file, version 2 < t1 filename1 < t2 filename2 t1 * +2 # segment 1 +2 t2 100 # segment 2 t1 * # segment 3 t2 *-* # segment 4 t1 3 -* # segment 5 +0.111111 t2 102.5 # segment 6 7.37 t1 5 +1 # segment 7 ----- end ----- This rather pathological example illustrates the rules for filling in implied data. All the values can be determined by recursively applying the rules given above, and the full end result is this: +2 0-2 t1 0-2 # segment 1 +2 2-4 t2 100-102 # segment 2 +0.758889 4-4.758889 t1 2-2.758889 # segment 3 +0.5 4.4758889-5.258889 t2 102-102.5 # segment 4 +2 5.258889-7.258889 t1 3-5 # segment 5 +0.111111 7.258889-7.37 t2 102.5-102.611111 # segment 6 +1 7.37-8.37 t1 5-6 # segment 7
| * tl_matroska.c: move the find_files() function hereUoti Urpala2011-03-031-1/+0
| | | | | | | | | | | | Move the find_files() function from findfiles.c to tl_matroska.c. Delete the findfiles.c file. Add a check against opendir() failure in find_files().
| * core: ordered chapters: move timeline creation to timeline/Uoti Urpala2011-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | Add new file timeline/tl_matroska.c. Move the code that parses ordered chapter information from Matroska files and creates the timeline structure based on that to the new file. Initialize the format parameter given to open_stream() in the moved code. The previous uninitialized value shouldn't have caused any visible effects.
* | mp3lib: drop internal mp3lib treeUoti Urpala2011-04-021-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Delete mp3lib which has been the default mp3 decoder until now. In addition to being an unnecessary embedded library it now fails to compile correctly with the new gcc-4.6, producing noise. After the deletion the default decoder priority for mp3 will be first libmpg123 (a newer version of the code that mp3lib was based on) if available, then ffmp3float which should be available in all normal compiles. I think that some tweaking may be required as these decoder alternatives get wider testing, but any problems should be solvable and there should be no need for mp3lib.
* | demux_ty: disable -subcc functionality (demux_ty_osd)Uoti Urpala2011-03-241-1/+0
|/ | | | | | | | Disable compilation of demux_ty_osd.c because of its GPL v2-only license. This only affects TiVo files with -subcc. After this no v2-only code should get compiled (yuv4mpeg_intern.h has a v2-only license, but the contents of the header look like they're not copyrightable).
* build: change version number generationUoti Urpala2011-02-191-3/+6
| | | | | | | Force Makefile to always run version.sh to potentially regenerate version.h. Drop compiler version and 'git-' prefix from version number. Match only git tags starting 'v'+number when generating version number; leave the 'v' out from the result.
* tremor: drop internal tremor libraryUoti Urpala2011-02-011-18/+0
| | | | | | | Drop internal copy of the tremor library. Note that the internal ogg demuxer (which is still sometimes useful to work around libavformat ogg demuxer problems, though it's itself quite buggy) now cannot be compiled without either external libvorbis or libvorbisidec (tremor).
* libmpeg2: drop libmpeg2 supportUoti Urpala2011-02-011-21/+0
| | | | | libavcodec mpeg2 decoder has been the default for a while and seems to work fine.
* vo_zr2: drop Zoran supportUoti Urpala2011-01-311-3/+0
| | | | | | | There were multiple files specific to Zoran support, and they also depended on internal FFmpeg headers (so it would probably have been hard to get them to compile now even if you tried). It's obsolete now, so just drop the whole mess.
* vo_dxr2, ao_dxr2: drop dxr2 supportUoti Urpala2011-01-311-1/+0
| | | | | | dxr2 support had been broken quite a while and nobody noticed. There were finally commits to fix it in the svn repo, but rather than apply those I'll just drop dxr2 support.
* vidix: drop VIDIX supportUoti Urpala2011-01-311-79/+4
| | | | | | | | | | | | | By now VIDIX is too obscure to justify the amount of code and complexity it requires in the sources. Although there is no pressing need to drop it just now from a code point of view, I'll rather remove it before release than release with VIDIX support and then drop it later. Some of the manpage mentions of VIDIX were in "this option supported for these VOs" lists that looked outdated and failed to mention vdpau for example. Replace such incorrect lists with a generic "not supported for all VOs" mention.
* libfaad2:/ Remove forked internal libfaad2 copydiego2011-01-311-41/+0
| | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32741 b3059339-0415-0410-9bf9-f77b7e298cf2 Remove AAC/FAAD2 installation instructions. There is nothing special about building and installing FAAD2, so there is no longer a need to keep maintaining instructions for it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32742 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge branch 'sub'Uoti Urpala2011-01-261-14/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sub: sub/OSD: move some related files to sub/ subtitles: options: enable -ass by default subtitles: change default libass rendering style demux_mkv, chapters: change millisecond arithmetic to ns cleanup: rename ass_* functions to mp_ass_* subs: use correct font aspect ratio for libass + converted subs cleanup: some random minor code simplification and cleanup vf_vo: fix EOSD change detection bug sd_ass: remove subreader use, support plaintext markup subtitles: style support for common SubRip tags and MicroDVD core: ordered chapters: fix bad subtitle parameter subs/demux: don't try to enable sub track when creating it subtitles/demux: store duration instead of endpts in demux packets subtitles: add framework for subtitle decoders options: add special -leak-report option subtitles: remove code trying to handle text subs with libavcodec cleanup: move MP_NOPTS_VALUE definition to mpcommon.h subtitles: move global ass_track to struct osd_state core: move most mpcommon.c contents to mplayer.c core: move global "subdata" and "vo_sub_last" to mpctx subtitles: remove sub_last_pts hack options: move -noconfig to option struct, simplify
| * sub/OSD: move some related files to sub/Uoti Urpala2011-01-261-14/+14
| |
| * subtitles: style support for common SubRip tags and MicroDVDUoti Urpala2011-01-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | SubRip subtitles have no "official" spec for any styling support, but various tags are in common use; previous code filtered out text between <> to remove HTML-style tags. Add support for those tags and for MicroDVD subtitle styling. The style display is implemented by converting the subtitles to the ASS subtitle format and displaying them with libass, so libass needs to be enabled. Original patch by Clément Bœsch <ubitux@gmail.com>.
| * subtitles: add framework for subtitle decodersUoti Urpala2011-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | Add a framework for subtitle decoder modules that work more like audio/video decoders do, and change libass rendering of demuxed subtitles to use the new framework. The old subtitle code is messy, with details specific to handling particular subtitle types spread over high-level code. This should make it easier to clean things up and fix some bugs/limitations.
* | configure: remove MEncoder-related options and testsClément Bœsch2011-01-251-2/+2
|/ | | | | Also remove one MEncoder variable reference from TOOLS/vivodump rule in Makefile.
* vd_ffmpeg: set thread count to number of cores on machine by defaultUoti Urpala2010-12-201-0/+1
| | | | | | | | | | | Make "-lavdopts threads=0" mean an autodetected number of threads, and make that the default value of the option. Also increase the upper limit of the option from 8 to 16. Add new file osdep/numcores.c which tries to determine the number of cores available on the machine. numcores.c is based (heavily modified) on public domain numcpus.c by Philip Willoughby <pgw99@doc.ic.ac.uk>, downloaded from http://csgsoft.doc.ic.ac.uk/numcpus/
* build: enable vf_geq if libavutil version installs eval.hUoti Urpala2010-11-061-0/+3
| | | | | New enough libavutil versions allow building vf_geq.c without requiring internal FFmpeg headers.
* Makefile: enable .DELETE_ON_ERROR special targetUoti Urpala2010-11-041-0/+6
| | | | | | | | | msgfmt creates the output file even if there was a fatal error. Thus make would stop because of the error return, but the output file would be left on disk and running make again would continue building other files. Enable the .DELETE_ON_ERROR special target to automatically delete target files changed by failing commands. This affects all rules; I think it is the correct behavior for all existing rules.
* Makefile: remove generated locale files in clean targetUoti Urpala2010-11-041-0/+2
|
* vf_stereo3d: Add stereo3d filterreimar2010-11-021-0/+1
| | | | | | | | | Further review very welcome, but it is time (and good enough) to add this. Patch by Gordon Schmidt [gordon.schmidt s2000.tu-chemnitz de] with changes by Endre Kollár [taxy443 gmail com]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32527 b3059339-0415-0410-9bf9-f77b7e298cf2
* vo_gl: Move the read_pnm function into a separate filecigaes2010-11-021-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32513 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: don't list dependencies for codec-cfg.ddiego2010-11-021-1/+1
| | | | | | The file is now generated as a side effect of compilation. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32355 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Remove __USE_UNIX98 from libdvd* CFLAGSdiego2010-11-021-3/+3
| | | | | | | This is an internal glibc symbol that should not be used directly. Besides, other CFLAGS already take care of enabling single Unix v2. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32348 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Do not compile libfaad2 with -D_GNU_SOURCEdiego2010-11-021-1/+1
| | | | | | It is not necessary and libfaad2 itself does not do it either. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32344 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Drop separate compilation rules for dhahelperwin filesdiego2010-11-021-6/+0
| | | | | | The generic rules should work just as well. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32333 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Merge dhahelperwinclean and dhahelperclean targetsdiego2010-11-021-5/+3
| | | | | | | There is no need to have them separate; in other clean rules we make an effort to clean up all platforms at the same time. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32331 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Remove remnants of explicit dependency file generationdiego2010-11-021-3/+2
| | | | | | | Dependency files are now generated as a side effect of compilation, and have no independent creation rules. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32327 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Fix osdep/mplayer.rc.o vs. osdep/mplayer-rc.o typodiego2010-11-021-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32326 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: read dependency files for assembler files toodiego2010-11-021-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32321 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: Rename DEPS variable to DEP_FILESdiego2010-11-021-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32320 b3059339-0415-0410-9bf9-f77b7e298cf2
* build: update DirectFB requirements, reduce #ifdefsdiego2010-11-021-2/+1
| | | | | | | | | | | | | | | | | | Require DirectFB version 0.9.15 instead of 0.9.13. This simplifies the build system at the cost of requiring a library version that was released at the end rather than the middle of 2002. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32251 b3059339-0415-0410-9bf9-f77b7e298cf2 Simplify DirectFB check. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32252 b3059339-0415-0410-9bf9-f77b7e298cf2 Require DirectFB version 0.9.22. This allows getting rid of a lot of library version check #ifdeffery. Release 0.9.22 is from February 2005, so the requirement is reasonable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32253 b3059339-0415-0410-9bf9-f77b7e298cf2
* Makefile: remove obsolete DIRS list entriesUoti Urpala2010-11-021-7/+0
|
* build: enable/disable all FFmpeg libraries togetherUoti Urpala2010-11-021-17/+16
| | | | | | | | | Enable all of libavcodec, libavformat, libswscale, and libpostproc together (libavutil is always required). based on svn commit by diego: git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32226 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove MEncoderUoti Urpala2010-11-021-52/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable MEncoder compilation and remove files used by MEncoder only. There's no attempt to remove all references to MEncoder from the build system, documentation etc at this point. Removed files: (muxers, audio/video encoders, misc) mencoder.c cfg-mencoder.h parser-mecmd.[ch] xvid_vbr.[ch] libmpdemux/muxer* libmpcodecs/ae* libmpcodecs/ve* libmpcodecs/native/rtjpegn.[ch] libmpcodecs/native/mmx.h // was used by rtjpegn only Rationale: MEncoder is still useful for some people, but there's not much potential for further development; in the long run almost all use cases can be handled better by solutions based on something else (for example using FFmpeg or encoding MPlayer output). FFmpeg is already getting video filtering support which should work for some common MEncoder uses. Keeping MEncoder working takes extra work that is away from player development. While that amount of work is not huge (mostly MEncoder can be just ignored), it's not completely insignificant either. MEncoder is still maintained to some degree in the svn tree, so if necessary it's possible to use it from there for now. This tree has never had major improvements for the MEncoder side, so using svn MEncoder instead should be no major loss.
* enable vo_mga, vo_xmga, vf_palette, vf_halfpackUoti Urpala2010-11-021-7/+2
| | | | | | Nothing should depend