1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-17 21:27:08 +00:00
Commit Graph

30660 Commits

Author SHA1 Message Date
Uoti Urpala
5f631d1c08 matroska: add new parsing code
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.
2010-01-27 14:26:43 +02:00
Uoti Urpala
ffc3db2239 vd_ffmpeg: fix compilation with neither VDPAU nor XvMC enabled
The get_format() function was defined under
 #if CONFIG_XVMC || CONFIG_VDPAU
but recent commit ca217f4557 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.
2010-01-21 01:09:28 +02:00
Uoti Urpala
1ef8d887d4 vd_ffmpeg: FFmpeg-mt changed has_b_frames API, update 2010-01-20 20:32:00 +02:00
Uoti Urpala
d4159a7d88 vd_ffmpeg: move redundant info messages to MSGL_V level
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.
2010-01-20 17:21:39 +02:00
Uoti Urpala
ca217f4557 vd_ffmpeg: disable callbacks for threaded decoding
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.
2010-01-20 16:31:13 +02:00
Uoti Urpala
a0f08fbebb stream: improve EOF handling in seeks
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>.
2010-01-18 14:38:56 +02:00
Uoti Urpala
1f126fc60c Avoid misleading error "ASS: cannot add video filter"
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.
2010-01-16 20:37:13 +02:00
Uoti Urpala
43c3a07f58 subtitles: avoid running subreader.c parser when using libass
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.
2010-01-16 19:40:45 +02:00
Uoti Urpala
6ead3e936b subreader.c: fix excessive memory use with some external subtitles
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.
2010-01-16 12:44:00 +02:00
Uoti Urpala
c5bd47f543 translations: corrently translate most OSD output
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.
2010-01-12 12:17:41 +02:00
Uoti Urpala
ee98209ab8 translations: add infrastructure for translated OSD messages
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.
2010-01-12 12:16:00 +02:00
Uoti Urpala
23e693d6d2 taglists.c: update to match current libavformat riff.c 2010-01-08 02:52:35 +02:00
Uoti Urpala
819b8f08a2 Merge svn changes up to r30236 2010-01-08 02:44:37 +02:00
Uoti Urpala
3488fcafe6 Ignore svn changes r30217, r30218
Already done better in git.
2010-01-08 02:40:38 +02:00
Uoti Urpala
852570d342 Merge svn changes up to r30216 2010-01-08 02:39:39 +02:00
Uoti Urpala
d1f0cbe5c8 Merge svn r30200 (reindent configure) 2010-01-08 02:34:05 +02:00
Uoti Urpala
82780406d1 Merge svn changes up to r30199 2010-01-08 02:08:51 +02:00
Uoti Urpala
750748c0c4 Ignore svn r30196 2010-01-08 02:07:35 +02:00
Uoti Urpala
17eb7f2c4b Merge svn changes up to r30195 2010-01-08 02:06:42 +02:00
Uoti Urpala
ff3ef4e782 vo_png: add missing "#include "fmt-conversion.h"
fmt-conversion.h is needed for imgfmt2pixfmt().
2010-01-08 01:55:42 +02:00
Uoti Urpala
ba21aba40d Merge svn changes up to r30187 2010-01-08 01:55:15 +02:00
Uoti Urpala
b390b9b28f Merge svn changes up to r30185 2010-01-08 01:36:05 +02:00
Uoti Urpala
efe742e3fa Merge svn r30174 2010-01-08 01:22:33 +02:00
Uoti Urpala
d157b2a8ce Merge svn changes up to r30173 2010-01-08 01:17:56 +02:00
Uoti Urpala
dd0bab9239 Ignore svn change r30166 2010-01-08 01:07:33 +02:00
Uoti Urpala
231b33a02f Merge svn changes up to r30165 2010-01-08 01:05:30 +02:00
stefano
3f1a03feb1 Implement sws_isSupportedInput() and sws_isSupportedOutput().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30236 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 19:07:47 +00:00
zuxy
0d3adaac4b Happy new year!
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30235 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 11:12:58 +00:00
zuxy
0c7fcdd42e Remove const to avoid a bunch of GCC warnings against discarded qualifiers and
incompatible pointer type.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30234 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 07:13:18 +00:00
zuxy
554231067d Avoid the error message "Unsupported PixelFormat -1" for ffh264 decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30233 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 04:59:50 +00:00
reimar
78267a4d21 Support rtmp:// URLs directly instead of requiring ffmpeg://rtmp://
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30232 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-06 16:12:58 +00:00
reimar
abb06b3f11 Simplify ffmpeg stream support, we (so far) do not need any special option parsing.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30231 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-06 16:11:29 +00:00
compn
c94c8d3081 add MVLZ and MVDV binary decoders to codecs.conf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30230 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-06 03:44:24 +00:00
compn
3dfee062b1 map zjpeg to ffmjpeg in codecs.conf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30229 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-05 20:12:06 +00:00
compn
4148612579 add blox binary codec to codecs.conf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30228 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-05 20:04:44 +00:00
compn
4d213f46a8 add three ADV1 binary codecs to codecs.conf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30227 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-05 19:12:25 +00:00
diego
f80ece49a8 Move MatrixView video output check below OpenGL check, it depends on OpenGL.
patch by Francesco Lavra, francescolavra interfree it


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30226 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-05 10:54:41 +00:00
diego
46206e2b28 vo_png now depends on libavcodec, not libpng.
patch by Emanuele Giaquinta, emanuele.giaquinta gmail com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30225 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-05 10:52:12 +00:00
reimar
cec22660c7 Change license terms for matrixview to GPLv2 "or later", all known
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
2010-01-05 05:43:33 +00:00
diego
c202adb9f4 Remove pointless variable declaration from DirectFB check.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30223 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 22:32:28 +00:00
diego
e4ce50305b Add missing stdlib.h #include to fribidi check.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30222 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 22:30:41 +00:00
diego
22298a8e57 Remove pointless printf call in libmp3lame test.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30221 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 22:29:55 +00:00
diego
ff44ac1a3c Pass proper parameters to dlopen/dlsym/vsscanf to avoid configure test warnings.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30220 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 22:28:44 +00:00
diego
09b8d9402f Pass a proper va_list type to vsscanf() test in configure.
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
2010-01-04 21:57:13 +00:00
reimar
5e1b88a019 At startup and while seeking avoid to introduce pointless sleeps and possibly
desync due to codec delay.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30218 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 21:38:45 +00:00
reimar
e57a8e1040 Also reset time_frame and next_frame_time on reset, it makes no sense to
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
2010-01-04 21:27:08 +00:00
diego
a7a1f395c6 Invoke pci_db2c.awk as an argument to awk instead of letting the shell run it.
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
2010-01-04 21:22:33 +00:00
diego
01ced9c82c cosmetics: Break multiple statements on one line apart.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30215 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 21:10:15 +00:00
diego
bf258cb675 Remove previous failed attempt at disabling that auto-generation of some C code.
This reverts the previous buggy commit, r30094.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30214 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 20:53:57 +00:00
diego
dec1227f1c Add required header #includes to satisfy 'make checkheaders'.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30213 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-04 20:36:27 +00:00