summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* demux_mkv: don't stop playback on non-Cluster elementsUoti Urpala2010-01-271-2/+5
| | | | | | | | The main demuxing code signaled EOF and stopped playback if it hit a top-level element other than Cluster. There are files with other elements between Cluster ones, at least repeated copies of Track headers. Change the code to skip any non-Cluster element and only stop searching on real file EOF.
* demux_mkv: improve Cues parsingUoti Urpala2010-01-271-65/+18
| | | | | | | Rewrite Cues parsing code using the new EBML parser. The new version fixes a hang in some cases of incomplete files and supports a cuepoint specifying multiple tracks per timecode (the previous code added an index entry for the track mentioned last only).
* demux_mkv: support reading all headers based on SeekHeadUoti Urpala2010-01-271-150/+148
| | | | | | | | Restructure the code reading toplevel header elements and rewrite the SeekHead parsing code using the new EBML parser. Now every type of header element is read anywhere in the file if there's a SeekHead entry pointing to it. The new SeekHead parsing code has more diagnostic output in case of errors.
* demux_mkv: use new EBML parser for file headerUoti Urpala2010-01-273-79/+29
|
* matroska: add new parsing codeUoti Urpala2010-01-277-172/+1675
| | | | | | | | | | | | | | | Add a new EBML parser implementation that should allow significant improvements to the Matroska demuxer. The new parsing code is not actually used yet by the demuxer. The only changes to existing code in this commit are to generate the MATROSKA_ID_* / EBML_ID_* macro definitions from the new implementation and to rename some of them (the new implementation uses names matching the official Matroska spec). The main parser implementation is added in ebml.c. There are two new generated files, ebml_defs.c and ebml_types.h, that contain definitions of EBML elements. Those are generated by the new script TOOLS/matroska.py. There's a new Makefile target "generated_ebml" that run the script to refresh the content of the generated files.
* vd_ffmpeg: fix compilation with neither VDPAU nor XvMC enabledUoti Urpala2010-01-211-2/+0
| | | | | | | | | The get_format() function was defined under #if CONFIG_XVMC || CONFIG_VDPAU but recent commit ca217f4557c3cff4f2bf33e605ce13e662e84a92 added an unconditional reference to it, causing linking to fail with an undefined reference if neither feature was enabled. Fix by removing the #if, there's no reason reason why it would be needed.
* vd_ffmpeg: FFmpeg-mt changed has_b_frames API, updateUoti Urpala2010-01-201-1/+2
|
* vd_ffmpeg: move redundant info messages to MSGL_V levelUoti Urpala2010-01-201-2/+7
| | | | | | | | | | | | Move two messages printed when using VDPAU/XvMC to MSGL_V level: "[VD_FFMPEG] XVMC-accelerated MPEG-2.\n" "[VD_FFMPEG] Trying pixfmt=%d.\n" The first is redundant because this info is normally visible from the decoder name, and it was also incorrectly printed in the VDPAU case too. Add a different MSGL_V message for VDPAU. Also make all these messages not translatable.
* vd_ffmpeg: disable callbacks for threaded decodingUoti Urpala2010-01-201-38/+20
| | | | | | | | | | | | | | | | | | | | MPlayer's slice and direct rendering related callbacks are not safe to call from other threads, so disable those features if more than one decoding thread is specified. This should fix some issues when using threaded decoding with formats other than h264 (in the h264 case the callbacks were already disabled for other reasons). This commit moves most of the code that sets special avctx parameters for VDPAU and XvMC. Before that was done after avcodec_open() based on the selected output image format; now it's done before avcodec_open() based on the capabilities of the selected decoder. At least the code selecting the thread count must be before avcodec_open(), and I think there is no reason to try to keep the previous structure otherwise either. The image format-based approach was implemented by Reimar with the intended goal of eventually selecting between software and VDPAU decoders under one FFmpeg decoder type. I consider that goal to be questionable, and the approach certainly made the existing code significantly messier for no functionality benefit.
* stream: improve EOF handling in seeksUoti Urpala2010-01-182-6/+11
| | | | | | | | | | | | | | Reset stream 'eof' flag when a seek succeeds, and allow seeking to a position at or past EOF (in the sense that the seek succeeds and stream_tell() then returns that position). This fixes at least some demuxer problems where an attempt to read the index from the end of an incomplete file would set the 'eof' flag and cause subsequent reads to fail, even if failure to read the index would otherwise be nonfatal and demuxing could continue after seeking back. Partially based on a patch from Laurent <laurent.aml@gmail.com>.
* Avoid misleading error "ASS: cannot add video filter"Uoti Urpala2010-01-164-6/+36
| | | | | | | | | | | | | | | | | | When using libass with a VO that has direct EOSD support the vf_ass video filter is unnecessary and is not added automatically, but the code that adds the filter when it is needed produced misleading output messages in this case. The following two messages were printed at MSGL_ERR level, making it look like an error condition: Couldn't open video filter 'ass'. ASS: cannot add video filter Add a version of vf_open_plugin() called vf_open_plugin_noerr() that does not itself print an error message if opening a vf fails and that returns the exact status code returned by the vf open() function. Make vf_ass return a different status code depending on whether there was an actual error or if it determined a filter would be redundant. Use the _noerr function in the code adding the filter to avoid the first message and check the status code to avoid the second.
* subtitles: avoid running subreader.c parser when using libassUoti Urpala2010-01-161-19/+22
| | | | | | | | | When loading external subtitle files, the code always tried parsing the file with subreader.c sub_read_file() first, even if libass was then used to parse and render the file (the results of the first parsing would be ignored in that case). This could cause problems like unnecessary error messages. Change the code to try libass parsing first if enabled, and skip subreader.c parsing if that succeeds.
* subreader.c: fix excessive memory use with some external subtitlesUoti Urpala2010-01-161-0/+5
| | | | | | | | | | | | For each sequence of consecutive partially overlapping subtitles, the algorithm calculating screen positions for the subtitles allocated a 2*subtitle_count*subtitle_line_count array. With some karaoke subtitles that had lots of rapidly changing overlapping subtitles this became large enough to use gigabytes of memory. Make the behavior saner by limiting the line count to SUB_MAX_TEXT lines (the maximum number of lines to show on screen at once, currently 12). This shouldn't change the end result of the algorithm other than possibly printing different warnings.
* translations: corrently translate most OSD outputUoti Urpala2010-01-122-50/+54
| | | | | | Add various fixes needed to actually produce translated OSD output. About every OSD string that had a translation macro under the old system should be translatable now.
* translations: add infrastructure for translated OSD messagesUoti Urpala2010-01-123-10/+26
| | | | | | | Add function set_osd_tmsg() which is a version of set_osd_msg that translates its format argument. Pass OSD message strings in the command.c property_osd_display table through mp_gtext before they're used.
* taglists.c: update to match current libavformat riff.cUoti Urpala2010-01-081-1/+22
|
* Merge svn changes up to r30236Uoti Urpala2010-01-087-52/+79
|\
| * Implement sws_isSupportedInput() and sws_isSupportedOutput().stefano2010-01-072-2/+26
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30236 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Happy new year!zuxy2010-01-071-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30235 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove const to avoid a bunch of GCC warnings against discarded qualifiers andzuxy2010-01-071-2/+2
| | | | | | | | | | | | | | incompatible pointer type. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30234 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Avoid the error message "Unsupported PixelFormat -1" for ffh264 decodingzuxy2010-01-071-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30233 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Support rtmp:// URLs directly instead of requiring ffmpeg://rtmp://reimar2010-01-061-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30232 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Simplify ffmpeg stream support, we (so far) do not need any special option ↵reimar2010-01-061-29/+3
| | | | | | | | | | | | parsing. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30231 b3059339-0415-0410-9bf9-f77b7e298cf2
| * add MVLZ and MVDV binary decoders to codecs.confcompn2010-01-061-0/+16
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30230 b3059339-0415-0410-9bf9-f77b7e298cf2
| * map zjpeg to ffmjpeg in codecs.confcompn2010-01-051-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30229 b3059339-0415-0410-9bf9-f77b7e298cf2
| * add blox binary codec to codecs.confcompn2010-01-051-0/+8
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30228 b3059339-0415-0410-9bf9-f77b7e298cf2
| * add three ADV1 binary codecs to codecs.confcompn2010-01-051-0/+24
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30227 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move MatrixView video output check below OpenGL check, it depends on OpenGL.diego2010-01-051-13/+14
| | | | | | | | | | | | | | patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30226 b3059339-0415-0410-9bf9-f77b7e298cf2
| * vo_png now depends on libavcodec, not libpng.diego2010-01-051-1/+1
| | | | | | | | | | | | | | patch by Emanuele Giaquinta, emanuele.giaquinta gmail com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30225 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change license terms for matrixview to GPLv2 "or later", all knownreimar2010-01-051-2/+3
| | | | | | | | | | | | | | | | authors have agreed to it, and current upstream (matrixgl.sourceforge.net) was already relicensed as well. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30224 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove pointless variable declaration from DirectFB check.diego2010-01-041-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30223 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing stdlib.h #include to fribidi check.diego2010-01-041-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30222 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove pointless printf call in libmp3lame test.diego2010-01-041-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30221 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Pass proper parameters to dlopen/dlsym/vsscanf to avoid configure test warnings.diego2010-01-041-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30220 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Pass a proper va_list type to vsscanf() test in configure.diego2010-01-041-1/+1
| | | | | | | | | | | | | | | | This fixes the check on SuperH with CodeSourcery compilers. patch by Bill Traynor, wmat naoi ca git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30219 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Ignore svn changes r30217, r30218Uoti Urpala2010-01-080-0/+0
|\| | | | | | | Already done better in git.
| * At startup and while seeking avoid to introduce pointless sleeps and possiblyreimar2010-01-042-0/+14
| | | | | | | | | | | | | | desync due to codec delay. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30218 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Also reset time_frame and next_frame_time on reset, it makes no sense toreimar2010-01-042-4/+8
| | | | | | | | | | | | | | | | process the sleep before playing the frame seeked to and can be annoying when the user tries to escape a series of "stuck" frames with a huge duration. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30217 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30216Uoti Urpala2010-01-0865-141/+246
|\|
| * Invoke pci_db2c.awk as an argument to awk instead of letting the shell run it.diego2010-01-041-1/+1
| | | | | | | | | | | | | | | | The shell looks for awk in /usr/bin, the path from the shebang line. However, there exist systems with awk in /bin, namely archlinux. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30216 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: Break multiple statements on one line apart.diego2010-01-041-17/+33
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30215 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove previous failed attempt at disabling that auto-generation of some C code.diego2010-01-043-60/+46
| | | | | | | | | | | | | | This reverts the previous buggy commit, r30094. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30214 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add required header #includes to satisfy 'make checkheaders'.diego2010-01-048-0/+19
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30213 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Drop -Iloader from CPPFLAGS for the loader subdirectory.diego2010-01-0420-43/+43
| | | | | | | | | | | | | | Instead use full relative paths in #includes. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30212 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add loader/wine/ to DIRS; its headers should be part of checkheaders.diego2010-01-041-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30211 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing config.h #include.diego2010-01-041-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30210 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Refactor real --> float #define to a typedef in a common header.diego2010-01-0415-16/+17
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30209 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing header #includes to fix 'make checkheaders'.diego2010-01-044-0/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30208 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add a few missing header #includes and #defines.diego2010-01-048-0/+14
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30207 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove unused variable; fixes the warning:diego2010-01-041-1/+0
| | | | | | | | | | | | | | libvo/csputils.c:67: warning: unused variable 'yuv_tv_level_adjust' git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30206 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add multiple inclusion guards to all mp3lib headers.diego2010-01-044-1/+17
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30205 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing config.h #include; remove a redundant one.diego2010-01-042-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30204 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add missing license headers for vo_matrixview code.diego2010-01-042-0/+36
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30203 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Refer to MatrixView instead of MPlayer in code taken from MatrixView.diego2010-01-041-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30202 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Clarify which version of the GPL applies to MPlayer.diego2010-01-041-5/+10
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30201 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn r30200 (reindent configure)Uoti Urpala2010-01-081-488/+488
|\|
| * cosmetics: tabs to spaces, some reindentationdiego2010-01-041-506/+506
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30200 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30199Uoti Urpala2010-01-083-5/+5
|\|
| * Fix fribidi check to avoid spamming the console with error messages.diego2010-01-041-1/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30199 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove ARGB support from matrixview vo, it is quite pointless and causesreimar2010-01-041-1/+0
| | | | | | | | | | | | | | compilation failure on big-endian. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30198 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix a few typos in the matrixview section.diego2010-01-041-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30197 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Ignore svn r30196Uoti Urpala2010-01-080-0/+0
|\|
| * Add a few definitions used by FFmpeg to config.h:diego2010-01-041-0/+8