Commit Graph

38 Commits

Author SHA1 Message Date
rfelker 3b285a0e3b Improvements to spudec (DVD/VobSub) subtitle code:
- runtime selectable positioning, like with text subs
 - runtime selectable scaling/antialiasing algorithm
 - gaussian blur scaler (finally dvd/vobsub doesn't look like shit!)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9078 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-24 10:24:07 +00:00
arpi 67bcd74563 I have seen problems where DVD subtitles don't display
at the right time and sometimes they don't appear at
all.  The problem stems from the fact that subtitle
command packets are being applied as soon as they are
read and assembled from the input stream.  Sometimes,
a fully assembled subtitle packet arrives at the
spudec_assemble function before the previous subtitle
appears onscreen and thus the viewer only sees the
second subtitle.  So I created a patch that queues
assembled subtitle packets and applies them at the
appropriate time within the heartbeat function.  The
reset function clears the packet queue when seeking
through the video.

Tomasz Farkas <tomasz_farkas@yahoo.co.uk>


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8844 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-08 18:36:36 +00:00
arpi d25af23a40 All right: The patch adresses two issues which I found, when I analyzed
the input from some DVDs with known subtitle-dropouts:

1. The packet-size at the beginning of the packet, which is used to
check, whether we got all fragments, is sometimes one byte too long. It
seems to be always padded to an even number, while the actual size can
be odd.

2. The original algorythm used to assemble the fragments relies on the
timestamps to check, whether a new packet begins. This has proven to be
unrelieable on some disks. So instead, I use the timestamp only to
check, whether it's been too long (defined as 0,01sec) since the last
fragment, which is probably indicating a broken packet, and normaly
starting a new packet when the last one has been finished.

patch by Christof Buergi <christof@buergi.lugs.ch>


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7744 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-15 00:47:17 +00:00
kmkaplan fc8d212e57 Put all spudec_new stuff in a single function,
spudec_new_scaled_vobsub.  Original frame width is always either
720x576 or 720x480.  See dvd-subtitle-problem.txt and
dvd-subtitle-problem.txt.vob.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6939 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-08-06 13:32:55 +00:00
kmkaplan 54edd9eaef Make spudec_assemble more resistent in the face of incomplete packets.
Put the global spu_changed into spudec_handle_t.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6779 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-07-24 16:47:29 +00:00
kmkaplan c23212ca9c Suppress garbage at the end of some subtitles.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6460 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-06-17 19:11:22 +00:00
pl 0aa48b28c4 - hardened a bit the new bilinear algo (missing checks)
- warning fix (include, int -> void)
- avoids messing with 0 byte allocation (result not reliable)
  (Fredrik Kuivinen <freku045@student.liu.se> noticed it)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6226 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-29 19:27:06 +00:00
pl a55be5f2e8 avoids malloc()ing a negative number (== very big size_t)
some vobsub's trigger this case and cause a:
  "MPlayer interrupted by signal 2 in module: decode_video"


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6224 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-29 00:32:52 +00:00
atmos4 e9d2a2eea5 spu/vobsub speedup patch, new all better bilinear scaler similiar to win vobsub ones. ptyh by Hephooey.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6216 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-28 02:16:01 +00:00
atmos4 73a97eb400 Bounding box and partial update patch for vob/dvdsub by Hephooey.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6191 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-25 17:40:40 +00:00
albeu 7562937d95 Improvment for spu subtitles.
Removed the integreted spudec in vobsub.
Various cleanup/bugfix in vobsub (no more auto palette when a true one is
here)
HW spu rendering moved in spudec because we first need to reassable the
packet before sending them to the hw.
Spudec is now created only if nedded.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6111 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-05-17 23:47:27 +00:00
atmos4 1220837b18 Suggested fix by
Arne Driescher <driescher at mpi-magdeburg.mpg.de>


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5918 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-30 19:20:34 +00:00
arpi 167a917d92 guessing palette - patch by salvador <salvador@inti.gov.ar>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5909 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-29 21:31:56 +00:00
atmos4 c8574dca48 VobSub updates, custom palette support and other stuff, can't write the name of the chinese(?) patch supplier.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5834 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-25 18:46:44 +00:00
arpi dffeec9ce1 new osd code, use osd objs to follow changes and do minimal updates
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5639 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-15 19:17:12 +00:00
arpi d4eb53e0dc fixed SPU pts, it's 1024/90000 based instead of 1/100
spudec code doesn't requires dvdread - removed some #ifdefs
- from dvdnav patch by Kees Cook <mplayer@outflux.net>


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5489 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-04 14:24:11 +00:00
arpi fd84722e23 spudec_update_palette() added - dvdnav patch by Kees Cook <mplayer@outflux.net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5475 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-04-03 18:14:21 +00:00
kmkaplan 4d38521e2c * New command line switch for mplayer & mencoder:
-ifo <ifo file>

	Indicate the file that will be used to load palette and frame size
	for MPEG subtitles.

* mencoder.c:

    Fix cropping when decoding MPEG2.

* spudec.c:

    If scaling is needed only do it once.

    Change WITH_NO_ANTIALIASING to ANTIALIASING_ALGORITHM.

* vobsub.c:

    Support reading info regarding size and palette from IDX file instead of IFO file.

    Support streams containing audio or video.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5389 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-03-29 03:17:57 +00:00
atmos4 d8fae019ed 10l accidently commited an already customized version with different default scaling algo.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4811 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-02-22 17:58:46 +00:00
atmos4 61f6060243 Forgot to commit with vo_sdl osd patch.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4810 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-02-22 17:57:15 +00:00
kmkaplan fae8e56d33 Add a third scaling algorithm wich should be faster. Select by
defining ANTIALIASING_ALGORITHM for now.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4181 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-01-15 21:05:37 +00:00
kmkaplan de72dd5aff Fix brightness of subtitles
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4123 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-01-12 21:48:41 +00:00
kmkaplan 278211c851 Add spudec_new_scaled and spudec_draw_scaled for vobsub support.
Change what is passed to spudec_new for vobsub support.

Suppress conditional on USE_DVDREAD.

Correct a bug where some subtitles with no Stop display control code
would not display long enough.

Be more strict with bogus packets.

Transform everything that should into unsigned.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4079 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-01-10 17:17:37 +00:00
arpi 29d389f15d dvdsub pts fix, based on patch by Kim Minh Kaplan
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3843 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-28 19:20:12 +00:00
arpi a8dd07aaad printf->mp_msg
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3823 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-28 01:24:49 +00:00
arpi 253eff648b more stable and reliable spudec packet reassembler
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3821 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-28 01:03:57 +00:00
arpi 4b08102347 dvd seeking -> subtitle disappearing bugs fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3745 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-25 20:32:02 +00:00
pl faded2ccdb fixes warnings
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3726 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-25 11:14:25 +00:00
pl 86fd26c007 Patch by Kim Minh Kaplan <kmkaplan@selfoffice.com>:
- removes garbage on the right hand side of DVD subtitles
 - improves the handling of unknown SPU control codes


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3403 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-12-09 16:56:23 +00:00
atmos4 f152b94f98 Fix spudec compile with libdvdread enabled.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3184 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-28 14:55:56 +00:00
pl b7ff737901 spudec_new has a dvd_priv_t as an argument, which is defined in
libmpdemux/stream.h only if USE_DVDREAD is defined. (Arpi)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3181 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-28 12:44:39 +00:00
nexus 58aea7e4d6 unistd.h required at least by FreeBSD
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3176 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-28 08:08:03 +00:00
atmos4 9a7a6b49eb Palette support for SPU decoder.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3167 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-27 20:16:45 +00:00
pl ba1e011685 subtitles looked bad here (inverted colors sometimes)
looked like values wrapped around the byte
(not sure of the side effects but subtitles look good now)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3039 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-20 21:45:07 +00:00
arpi 7cb47d1cbc DVD sub patch by Kim Minh Kaplan <kmkaplan@selfoffice.com>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3035 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-11-20 18:36:50 +00:00
arpi_esp 2c45afa150 (C) fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@674 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-04-30 02:26:18 +00:00
arpi_esp d73d923d05 spudec_decode() moved from mplayer.c to spudec.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@562 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-04-21 17:31:32 +00:00
lgb e0af35ff34 Separated dvdsub code to be able to work with it easier
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@561 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-04-21 15:38:01 +00:00