1
0
mirror of https://github.com/mpv-player/mpv synced 2025-04-17 12:54:40 +00:00
Commit Graph

212 Commits

Author SHA1 Message Date
Uoti Urpala
95da34aa07 Merge svn changes up to r29532 2009-08-18 02:29:37 +03:00
reimar
3961e12fca Fix incompatible pointer types warning, also seems to fix mis-compilation with gcc-4.4.1
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29532 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-17 08:02:37 +00:00
cehoyos
d41e860bab Add Dolby TrueHD support for mkv demuxer.
Patch by Jason Tackaberry, tack urandom ca 


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29513 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-08-13 21:54:08 +00:00
Uoti Urpala
546c3fb53c Remove internal libass tree
Remove the libass/ directory and use the newest standalone version of
the library instead.
2009-07-26 20:22:43 +03:00
Uoti Urpala
d6c410b54c Replace libavutil internal header #includes with MPlayer copies
Change #include lines for libavutil/intreadwrite.h, libavutil/bswap.h
and libavutil/x86_cpu.h to use the MPlayer file under ffmpeg_files/
instead.
2009-07-26 06:16:43 +03:00
Uoti Urpala
bb6c06d17f demux_mkv.c: Make some time arithmetic more precise
Some calculations in the demuxer that are in principle integer
arithmetic use float divisions instead of 64-bit integer ones (as in
(int64_t)(x / 1000000.0) ).  When compiled with -ffast-math gcc replaces
the division with multiplication by inverse. The calculation of the
inverse can introduce rounding error even for divisions that would
have been exact, and any rounding error down from an exact integer
result in the division makes the result after cast one smaller. This
caused some inaccuracy in seeking due to timecodes in the index not
quite matching those calculated for actual packets. Add 0.5 to such
expressions before casting to round instead of truncating, which
should be enough to avoid the problem. Also replace some
non-performance-critical use of float types by doubles.
2009-07-10 22:58:56 +03:00
Uoti Urpala
3f75062ca6 demux_mkv: Round more seeks to "backwards" keyframes
Allow more fuzziness in treating timestamps as inaccurate attempts to
seek "exactly" to a keyframe. A seek forward can now actually go to a
keyframe 5 ms back from the timecode, and correspondingly for seeks
backwards. Before only 1 ms was allowed. This helps with some
files that have inaccurate chapter boundaries.
2009-07-09 18:23:35 +03:00
Uoti Urpala
d9977e1c81 demux_mkv: Make seeks more precise in some cases
When seeking backward, after seeking to the file position specified by
an index entry skip packets until the timecode of that index entry.
The existence of the entry should guarantee a keyframe there before
the seek target time.
2009-07-09 18:13:49 +03:00
Uoti Urpala
0eb321bf2c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
Uoti Urpala
6d908205fb Merge svn changes up to r29304 2009-07-07 02:07:11 +03:00
Amar Takhar
e306174952 Translation system changes part 2: replace macros by strings
Replace all MSGTR_ macros in the source by the corresponding English
string.
2009-07-07 01:38:20 +03:00
Amar Takhar
b5972d6f14 Translation system changes part 1: wrap translated strings
Replace mp_msg() calls which have a translated string as the format
argument with mp_tmsg and add _() around all other translated strings.
2009-07-07 01:28:07 +03:00
diego
6e9cbdc104 whitespace cosmetics: Remove all trailing whitespace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-13 02:58:57 +00:00
diego
f077569dff Add standard license header to all files in libmpdemux.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29280 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-08 21:51:13 +00:00
Uoti Urpala
2d91b19956 Support chapter seeking with ordered chapters 2009-04-02 06:51:26 +03:00
Uoti Urpala
997f636599 demux_mkv: Remove first_tc and stop_timecode
The first_tc code was used to force timestamps in the file to start
from 0. There should be no need to do this, and it would likely break
ordered chapter support for any files it affected (since the chapter
timecodes would refer to the original times, not the modified ones).

stop_timecode was used to implement end of playback at a specified
chapter. There is now common code which implements that and
demuxer-specific implementations are not needed.
2009-04-02 06:51:26 +03:00
Uoti Urpala
901ea8880a demux_mkv: Adjust seeks a bit to catch inexact keyframe matches
Allow a seek to "time X or before" to match a keyframe at X plus 1 ms,
and correspondingly for seeks to "X or later". This allows seeks to a
known keyframe to succeed even if the time is not quite perfectly
exact.

The main motivation for this improvement was chapter seeking. Some
time ago things worked in practice because chapter times were slightly
below the exact target and demux_mkv seeked forward of the specified
position by default. Some commits ago demux_mkv started seeking
backward by default, which is generally a more desirable behavior, but
worked worse for the chapter times which happened to be slightly
behind a keyframe rather than ahead. After this commit chapter seeks
go to the desired keyframe again.
2009-04-02 06:51:26 +03:00
Uoti Urpala
73fb23c1cf Add improved relative seek mode
When the new mode is active relative seeks are converted to absolute
ones (current video pts + relative seek amount) and forward/backward
flag before being sent to the demuxer. This mode is used if the
demuxer has set the accurate_seek field in the demuxer struct and
there is a video stream. At the moment the mkv and lavf demuxers
enable the flag.

This change is useful for later Matroska ordered chapter support (and
for more general timelime editing), but also fixes problems in
existing functionality. The main problem with the old mode, where
relative seeks are passed directly to the demuxer, is that the user
wants to seek relative to the currently displayed position but the
demuxer does not know what that position is. There can be an arbitrary
amount of buffering between the demuxer read position and what is
displayed on the screen. In some situations this makes small seeks
fail to move backward at all (especially visible at high playback
speed, when audio needs to be demuxed and decoded further ahead to
fill the output buffers after resampling).

Some container formats that can be used with the lavf demuxer do not
always have reliable timestamps that could be used for unambiguous
absolute seeking. However I made the demuxer always enable the new
mode because it already converted all seeks to absolute ones before
sending them to libavformat, so cases without reliable absolute seeks
were failing already and this should only improve the working cases.
2009-03-24 04:05:04 +02:00
Uoti Urpala
3279403611 demux_mkv: Parse ordered chapter information
Parse the ordered chapter structure if present and place the
information in the public demuxer structure. Nothing uses the
information yet.
2009-03-22 04:42:25 +02:00
Uoti Urpala
e177fc3e8b demux_mkv: Some cleanup, fix duration printed at verbose level
Clean up demux_mkv_read_info() and demux_mkv_read_chapters() somewhat.
(Why do the names of static functions have a stupid prefix like that?
Didn't remove it now however).

Demux_mkv_read_info() now delays printing duration information until
the end of the function where we hopefully have the correct timescale
for converting it to seconds. The code to calculate the duration had
been fixed for that earlier but the message had not.
2009-03-21 05:37:43 +02:00
Uoti Urpala
1e86963828 Merge svn changes up to r28537 2009-02-12 04:17:55 +02:00
aurel
de03d58545 change internal real video packetizing format to the more straight forward one
see [MPlayer-dev-eng] [PATCH] cleanup/uniformize real video packetizing
patch blessed by Roberto


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28503 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-09 22:00:57 +00:00
diego
2817da6233 Convert CONFIG_ZLIB into a 0/1 option.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28475 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-07 15:23:55 +00:00
Uoti Urpala
9790f4e6e7 Merge svn changes up to r28461 2009-02-04 00:28:17 +02:00
reimar
75243478ce Adapt to lzo changes in libavutil
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28448 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-02 20:22:36 +00:00
Uoti Urpala
479f5e742f Merge svn changes up to r27841
Conflicts:
	mplayer.c
2008-10-28 04:12:18 +02:00
aurel
97293969b4 Factorize vobsub idx/extradata handling.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27841 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-27 22:51:22 +00:00
uau
212b51434f Revert bad changes to SSA/ASS subtitle packet format
The following commits are reverted partially or completely:
"a valid ASS line contains 9 ',' before actual text"
"demux_mkv: output correctly formated ASS packets"
"libass: add a new ass_process_data() to process demuxed subtitle packets"

These commits converted the internal representation of SSA/ASS
subtitle packets from the format used by Matroska to a custom format
where each packet has contents exactly matching one line in complete
SSA script files. AFAIK no files natively use such a format for muxed
subtitles. The stated reason for this change was to use a format that
could in principle be muxed into a maximal number of containers. SSA
subtitles do not have an implicit duration so both start time and
duration or end time need to be specified explicitly; the new format
moved timing information inside the codec packet data so it could be
muxed without modification into containers that can represent only
start time at the container level. However such a change is wrong from
the viewpoint of program architecture. Timing information belongs to
the demuxer level, but these commits moved not only the duration but
also the authoritative value of the start time to inside the codec
data. Additionally the new format lost the value of the Matroska
ReadOrder field which is used by MPlayer.

This commit changes the internal packet format back to that used by
Matroska and makes the internal Matroska demuxer output that format
again. Libavformat still outputs the "new" format; it could be
converted back to the Matroska format in demux_lavf.c, but I'm not
adding that code at least yet. The current lavf code has similar
problems as the reverted code in MPlayer, and it also currently fails
to provide any way to access the value of the ReadOrder field. I hope
that the lavf side will be improved; if it isn't conversion can be
added later. For now I'll make MPlayer default to the internal Matroska
demuxer instead of the lavf one in a separate commit.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27550 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-08 21:26:22 +00:00
aurel
79874cb4ea demux_mkv: output correctly formated ASS packets
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27529 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-05 14:18:05 +00:00
Uoti Urpala
04f3909a72 Merge svn changes up to r27374
Conflicts:

	cfg-common-opts.h
	cfg-mplayer.h
	command.c
	configure
	libmpcodecs/dec_video.c
	libmpcodecs/vd.c
	libmpcodecs/vf_vo.c
	libmpdemux/demuxer.h
	libmpdemux/stheader.h
	mp_core.h
	mplayer.c
	stream/stream_radio.c
2008-07-30 16:39:24 +03:00
diego
4b141479da Start unifying names of internal preprocessor directives.
Replace all USE_ prefixes by CONFIG_ prefixes to indicate
options which are configurable.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 12:01:30 +00:00
diego
7c0eee9bce Remove unused function, fixes the warning:
libmpdemux/demux_mkv.c:2242: warning: 'demux_mkv_reverse_id' defined but not used


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26784 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-15 21:25:41 +00:00
diego
26166492dc Remove unused variable, fixes the warning:
libmpdemux/demux_mkv.c:1401: warning: unused variable 'mkv_d'


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26782 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-15 15:54:17 +00:00
diego
fddec2a0e2 cosmetics: Break overly long lines.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26781 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-15 13:52:44 +00:00
diego
0c5ff8e9d9 Mark static tables const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26780 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-15 13:48:23 +00:00
Uoti Urpala
fbdb41c321 demux_mkv.c: Compiler warning fixes
* libmpdemux/demux_mkv.c:218: warning: passing argument 1 of ‘grow_array’ from incompatible pointer type
* libmpdemux/demux_mkv.c:1235: warning: passing argument 1 of ‘grow_array’ from incompatible pointer type

Change grow_array to return the reallocated pointer instead of setting
it through a void **.

* libmpdemux/demux_mkv.c:1396: warning: unused variable ‘mkv_d’

Remove.

* libmpdemux/demux_mkv.c:1740: warning: pointer of type ‘void *’ used in  arithmetic

Change struct mkv_track->private_data from void * to unsigned char *.

* libmpdemux/demux_mkv.c:2693: warning: assignment from incompatible pointer type

Add a cast.

* libmpdemux/demux_mkv.c:2239: warning: ‘demux_mkv_reverse_id’ defined but not used

Remove the function (together with preceding useless advance
declaration of demux_mkv_seek).
2008-04-28 12:16:13 +03:00
Uoti Urpala
66bd120a3a Move dvdsub_id to options struct
Name the field "sub_id" as it's not specific to DVD subs.

Remove some other unused extern declarations together with dvdsub_id
from demux_mkv.c and demux_lavf.c.
2008-04-23 13:48:38 +03:00
Uoti Urpala
9b06b5ed85 Move correct_pts to options struct 2008-04-23 13:41:05 +03:00
rtogni
e37a6b5b58 Revert r26412: policy violation
Mixes cosmetics and functional changes


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26470 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-19 16:53:44 +00:00
uau
dd4bde7bc3 demux_mkv.c: Mark some static tables const
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26412 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-04-12 15:51:11 +00:00
eugeni
7cc46c2e87 Support 'default' attribute for audio and subtitle tracks.
The first default track is chosen for playback if language-based selection
failes. Additionally, for audio tracks, the first one is chosen if there are
no default tracks at all.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26301 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-30 16:55:46 +00:00
eugeni
522ee6b783 Remove unused function.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26125 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:55 +00:00
eugeni
0700038406 Reindent.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26124 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:54 +00:00
eugeni
439cfd5d9e Don't select audio stream in lavf and mkv demuxers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26123 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:52 +00:00
eugeni
c85a382afa Don't select subtitle track in lavf and mkv demuxers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26120 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:47 +00:00
eugeni
579e353b0f Remove stupid checks of free() argument.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26117 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:41 +00:00
eugeni
a2fad60c7f Fill sh_sub_t.lang in lavf, mkv and ogg demuxers. Use it for printing subtitle
track language.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26116 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:39 +00:00
eugeni
18fea2aa49 Fill sh_audio_t.lang in lavf and mkv demuxers. Use it for printing audio track
language when available.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26115 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-29 17:25:37 +00:00
diego
21c200e767 FFmpeg now uses different (unified) #include paths.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26101 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-25 15:46:36 +00:00
nicodvb
f785eba8a1 -chapter is now handled uniformly calling demuxer_seek_chapter() instead
of letting individual demuxers and stream readers do their nasty job


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25987 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-11 22:03:34 +00:00