<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib/src/xine-engine, branch 1.1.9</title>
<subtitle>xine-lib git mirror
</subtitle>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/'/>
<entry>
<title>Enable the VMware Screen codec (ffmpeg).</title>
<updated>2008-01-05T22:18:27+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2008-01-05T22:18:27+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=051c124db8a2ab27f45530323d9cbd673e277794'/>
<id>051c124db8a2ab27f45530323d9cbd673e277794</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid locking log_lock once the buffer has been allocated.</title>
<updated>2007-04-15T20:25:20+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-04-15T20:25:20+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=22c70084bc88af56b103c5b28ad74c9260058ae7'/>
<id>22c70084bc88af56b103c5b28ad74c9260058ae7</id>
<content type='text'>
(transplanted from 4988e864d1a9db84756668ea33a9f6860ded879e)

--HG--
extra : transplant_source : I%88%E8d%D1%A9%DB%84ufh%EA3%A9%F6%86%0D%ED%87%9E
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(transplanted from 4988e864d1a9db84756668ea33a9f6860ded879e)

--HG--
extra : transplant_source : I%88%E8d%D1%A9%DB%84ufh%EA3%A9%F6%86%0D%ED%87%9E
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid immediate frame drops by giving decoder a further chance to</title>
<updated>2007-04-15T20:21:51+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-04-15T20:21:51+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=7cf44fc4bb54e61f569c7ae969df04b1d4db6f8d'/>
<id>7cf44fc4bb54e61f569c7ae969df04b1d4db6f8d</id>
<content type='text'>
supply decoded frames.
There can still be scheduling delays which may let the number of
frames ready for displaying to drop below frame drop limit just
for a short period of time.
Therefore the changes remember that the decoder should have been
asked to drop some frames but do not actually have the decoder to
drop some frames. When the situation has improved at the next time
when the check is performed, the remembered frame drop is canceled
or otherwise (when the number of frames is still below frame drop
limit) executed.
(transplanted from b016e80a8206a56ba3996021bacff88b8ba44621)

--HG--
extra : transplant_source : %B0%16%E8%0A%82%06%A5k%A3%99%60%21%BA%CF%F8%8B%8B%A4F%21
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
supply decoded frames.
There can still be scheduling delays which may let the number of
frames ready for displaying to drop below frame drop limit just
for a short period of time.
Therefore the changes remember that the decoder should have been
asked to drop some frames but do not actually have the decoder to
drop some frames. When the situation has improved at the next time
when the check is performed, the remembered frame drop is canceled
or otherwise (when the number of frames is still below frame drop
limit) executed.
(transplanted from b016e80a8206a56ba3996021bacff88b8ba44621)

--HG--
extra : transplant_source : %B0%16%E8%0A%82%06%A5k%A3%99%60%21%BA%CF%F8%8B%8B%A4F%21
</pre>
</div>
</content>
</entry>
<entry>
<title>Choose maximum for frame drop limit depending on the number of</title>
<updated>2007-04-15T20:11:18+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-04-15T20:11:18+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=d3a9d427440dcdf796b4540c0e75efd58f8ce45c'/>
<id>d3a9d427440dcdf796b4540c0e75efd58f8ce45c</id>
<content type='text'>
allocated frames.
The current code uses a hard coded frame drop limit of 3 and
doesn't adhere to it's documentation when testing whether frames
shall be dropped. As a result frame drop limit is actually 4,
which means that the decoder is asked to drop some frames when
the number of frames waiting for displaying is less then 4.
Consider a video out device like xxmc which only supplies 8
frames. For MPEG2 decoding, two frames will be used by the
decoder (for the current frame and the forward reference frame)
and two further frames will be used in the video out loop (the
current and the previous frame) so that at any given time (under
perfect conditions) there will be 4 frames waiting to be displayed.
But when there are delays in scheduling, it might happen that
there are only 3 frames ready for displaying and thus will result
in asking the decoder to drop frames.
The changes therefore determine the maximum frame drop limit in
dependence of the number of allocated frames and make the
detection work like documented. In the above scenario, the maximum
number actually used for frame drop limit will then be 2 which
allows to compensate some scheduling delays without causing the
decoder to drop frames.
(transplanted from 2936fd493eafe3f176f2e791340167513b4e8048)

--HG--
extra : transplant_source : %296%FDI%3E%AF%E3%F1v%F2%E7%914%01gQ%3BN%80H
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
allocated frames.
The current code uses a hard coded frame drop limit of 3 and
doesn't adhere to it's documentation when testing whether frames
shall be dropped. As a result frame drop limit is actually 4,
which means that the decoder is asked to drop some frames when
the number of frames waiting for displaying is less then 4.
Consider a video out device like xxmc which only supplies 8
frames. For MPEG2 decoding, two frames will be used by the
decoder (for the current frame and the forward reference frame)
and two further frames will be used in the video out loop (the
current and the previous frame) so that at any given time (under
perfect conditions) there will be 4 frames waiting to be displayed.
But when there are delays in scheduling, it might happen that
there are only 3 frames ready for displaying and thus will result
in asking the decoder to drop frames.
The changes therefore determine the maximum frame drop limit in
dependence of the number of allocated frames and make the
detection work like documented. In the above scenario, the maximum
number actually used for frame drop limit will then be 2 which
allows to compensate some scheduling delays without causing the
decoder to drop frames.
(transplanted from 2936fd493eafe3f176f2e791340167513b4e8048)

--HG--
extra : transplant_source : %296%FDI%3E%AF%E3%F1v%F2%E7%914%01gQ%3BN%80H
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid skipping an unsuitable frame when there are only few buffers</title>
<updated>2007-04-15T19:39:37+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-04-15T19:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=9e1474cd633e3222d597c1e9c4a35e1b916f1f8a'/>
<id>9e1474cd633e3222d597c1e9c4a35e1b916f1f8a</id>
<content type='text'>
available.
Usually it's a good idea to avoid reallocating frames especially
when a deinterlacer needs a different format than the decoder, as
this would then happen all the time.
But when there is only a limited number of frames available, then
even a single frame which is not scheduled at frame allocation may
let the number of frames ready for displaying drop below frame
drop limit and thus resulting in unnecessary frame drops.
(transplanted from 235058555243755d3aebff03d898f1a5b94ff95e)

--HG--
extra : transplant_source : %23PXURCu%5D%3A%EB%FF%03%D8%98%F1%A5%B9O%F9%5E
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
available.
Usually it's a good idea to avoid reallocating frames especially
when a deinterlacer needs a different format than the decoder, as
this would then happen all the time.
But when there is only a limited number of frames available, then
even a single frame which is not scheduled at frame allocation may
let the number of frames ready for displaying drop below frame
drop limit and thus resulting in unnecessary frame drops.
(transplanted from 235058555243755d3aebff03d898f1a5b94ff95e)

--HG--
extra : transplant_source : %23PXURCu%5D%3A%EB%FF%03%D8%98%F1%A5%B9O%F9%5E
</pre>
</div>
</content>
</entry>
<entry>
<title>Increase priority of video decoder a little bit, to avoid frame</title>
<updated>2007-04-15T19:23:35+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-04-15T19:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=d2b1eedf497a6d70bd77978ba37e1784ab19b56e'/>
<id>d2b1eedf497a6d70bd77978ba37e1784ab19b56e</id>
<content type='text'>
drops.
When a video out device provides only a little number of video
frames, the video decoder should be scheduled immediately to
provide a decoded frame as soon as possible. Otherwise, the
number of available frames for displaying may go below frame
drop limit and thus resulting in unnecessary frame drops.
(transplanted from 33960e92decd90e6010d904476f9d45b1173153a)

--HG--
extra : transplant_source : 3%96%0E%92%DE%CD%90%E6%01%0D%90Dv%F9%D4%5B%11s%15%3A
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
drops.
When a video out device provides only a little number of video
frames, the video decoder should be scheduled immediately to
provide a decoded frame as soon as possible. Otherwise, the
number of available frames for displaying may go below frame
drop limit and thus resulting in unnecessary frame drops.
(transplanted from 33960e92decd90e6010d904476f9d45b1173153a)

--HG--
extra : transplant_source : 3%96%0E%92%DE%CD%90%E6%01%0D%90Dv%F9%D4%5B%11s%15%3A
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip deleted keys - should any ever occur! - while saving the config.</title>
<updated>2008-01-01T02:29:17+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2008-01-01T02:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=158c5f2072b8a67a0c9e8d8523908a9d89188b1c'/>
<id>158c5f2072b8a67a0c9e8d8523908a9d89188b1c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Subtitles] SSA-tags patch</title>
<updated>2007-12-27T14:24:48+00:00</updated>
<author>
<name>Dubois Nicolas</name>
<email>sn00py.2@laposte.net</email>
</author>
<published>2007-12-27T14:24:48+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=84e2f56c6cc81e9bed8ba03b29a8c69aa7d08d89'/>
<id>84e2f56c6cc81e9bed8ba03b29a8c69aa7d08d89</id>
<content type='text'>
I watch a lot of movies with subtitles and I need "vobsub subtitles"
work in xine, then I decide to write this patch.
It may support SSA tags for all text subtiles (ssa, ass, srt, ...)

This patch :

1. Remove all SSA tags from stream (they are ugly : {\a6})
2. Handle some of them (b, i, a, an, pos). The other ones control
colours, shadow, animation, ... I can't make them work in an easy way.
3. Correct wrap algorithm which have minors bugs (we can see them only
with SSA patch...)


Modified files :

libsputext/demux_sputext.c
just remove unneeded code (which remove some of SSA-tags)

libsputext/xine_sputext_decoder.c
the main modified file.

video_out/video_out_xshm.c
video_out/video_out_xv.c
xine-engine/video_out.h
get video output (position and size). See below.


1.
Removing SSA tags is done in ogm_render_line_internal() like for
html-like tags. (this was done in the previous version of xine)


2.
b(bold) and i(italic) are implemented like html-ones, in
ogm_render_line_internal().

The other tags this patch support are :
aX       : alignment in SSA-code
anX      : alignment in numpad code
pos(X,Y) : position, depend on alignment

For those ones, I need in first a full-screen OSD, not a five lines one.
Then, I need to remember where the last subtitle was drawn, in order to
erase it. At last, I need a translation function to convert subtitle
coordinates in screen coordinates.
For this last point, I first write a full-screen translation (don't care
about blacks borders), but it's not really good: the 'pos' tag is
sometime used to point out something in the video. (Moreover, ASS spec
say we have to draw subtitle on the video)
For doing this, I need the real video output size and position, which
are only know by the video output driver! Then I had 4 VO properties
(in xine-engine/video_out.h) for video driver could give us those
informations.
I implement it only in xshm and xv drivers (I can't test other ones).
If video driver can't give us those informations, the patch fallback in
a full-screen translation.


3.
there was 3 problem with the wrap algorithm :
1. It was in double: exactly the same, twice. Look like a merge problem.
I remove one and all work fine.
2. It want to cut string in equivalent display length but it cut it in
equivalent byte length. In most cases, this is the same, but if we have
UTF-8 chars or long SSA-tags (which will not be displayed) the result is
strange.
3. If we have a too-long part (in bytes) of the string without spaces
(bad subtitle file or long SSA-code), the algorithm don't know what to
do. (this case is not handled)

I re-write the wrap algorithm to correct those problems. Note that my
version is slower than previous one : working with bytes is really
faster than computing text-length. Maybe I should had to propose an
other patch for this part...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I watch a lot of movies with subtitles and I need "vobsub subtitles"
work in xine, then I decide to write this patch.
It may support SSA tags for all text subtiles (ssa, ass, srt, ...)

This patch :

1. Remove all SSA tags from stream (they are ugly : {\a6})
2. Handle some of them (b, i, a, an, pos). The other ones control
colours, shadow, animation, ... I can't make them work in an easy way.
3. Correct wrap algorithm which have minors bugs (we can see them only
with SSA patch...)


Modified files :

libsputext/demux_sputext.c
just remove unneeded code (which remove some of SSA-tags)

libsputext/xine_sputext_decoder.c
the main modified file.

video_out/video_out_xshm.c
video_out/video_out_xv.c
xine-engine/video_out.h
get video output (position and size). See below.


1.
Removing SSA tags is done in ogm_render_line_internal() like for
html-like tags. (this was done in the previous version of xine)


2.
b(bold) and i(italic) are implemented like html-ones, in
ogm_render_line_internal().

The other tags this patch support are :
aX       : alignment in SSA-code
anX      : alignment in numpad code
pos(X,Y) : position, depend on alignment

For those ones, I need in first a full-screen OSD, not a five lines one.
Then, I need to remember where the last subtitle was drawn, in order to
erase it. At last, I need a translation function to convert subtitle
coordinates in screen coordinates.
For this last point, I first write a full-screen translation (don't care
about blacks borders), but it's not really good: the 'pos' tag is
sometime used to point out something in the video. (Moreover, ASS spec
say we have to draw subtitle on the video)
For doing this, I need the real video output size and position, which
are only know by the video output driver! Then I had 4 VO properties
(in xine-engine/video_out.h) for video driver could give us those
informations.
I implement it only in xshm and xv drivers (I can't test other ones).
If video driver can't give us those informations, the patch fallback in
a full-screen translation.


3.
there was 3 problem with the wrap algorithm :
1. It was in double: exactly the same, twice. Look like a merge problem.
I remove one and all work fine.
2. It want to cut string in equivalent display length but it cut it in
equivalent byte length. In most cases, this is the same, but if we have
UTF-8 chars or long SSA-tags (which will not be displayed) the result is
strange.
3. If we have a too-long part (in bytes) of the string without spaces
(bad subtitle file or long SSA-code), the algorithm don't know what to
do. (this case is not handled)

I re-write the wrap algorithm to correct those problems. Note that my
version is slower than previous one : working with bytes is really
faster than computing text-length. Maybe I should had to propose an
other patch for this part...
</pre>
</div>
</content>
</entry>
<entry>
<title>Consistently use "colour", "colour key", "colour space" in output.</title>
<updated>2007-12-24T18:58:26+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-12-24T18:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=9f911a4387602eba171b314e3cfe02ce0deabf60'/>
<id>9f911a4387602eba171b314e3cfe02ce0deabf60</id>
<content type='text'>
Some instances of "key colour" remain; ffmpeg is unmodified.

This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some instances of "key colour" remain; ffmpeg is unmodified.

This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't treat # in MRLs as literals or URI-decode raw filenames. [Bug 1784272]</title>
<updated>2007-12-18T23:06:30+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-12-18T23:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=90d290b7abac28a57c4abee41556e5f48064f60d'/>
<id>90d290b7abac28a57c4abee41556e5f48064f60d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
