<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib, branch 1.1.7</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>1.1.7.</title>
<updated>2007-06-07T02:26:06+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-07T02:26:06+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=063bcadd4c7f3802489f103eb753d375eb8c51df'/>
<id>063bcadd4c7f3802489f103eb753d375eb8c51df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix RealPlayer codec detection and a nearby logging build failure. Both typos.</title>
<updated>2007-06-06T22:48:52+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-06T22:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=e026dc188cfa93f778e7f1db9ef58d115d91417e'/>
<id>e026dc188cfa93f778e7f1db9ef58d115d91417e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up .tar.bz2 as well as .tar.gz.</title>
<updated>2007-06-06T16:38:06+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-06T16:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=8b41e0929610c6ce97de12043bc713a866696f11'/>
<id>8b41e0929610c6ce97de12043bc713a866696f11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Changelog entry for the fb colour conversion crash fix.</title>
<updated>2007-06-05T23:41:08+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-05T23:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=5af2d92e19f0f67482972c5ae9f29405dbb67142'/>
<id>5af2d92e19f0f67482972c5ae9f29405dbb67142</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] video_out_fb crash</title>
<updated>2007-06-05T23:39:12+00:00</updated>
<author>
<name>Steve Freeland</name>
<email>caucasatron@yahoo.ca</email>
</author>
<published>2007-06-05T23:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=6f430a25e9cd653fdb6995ae4e427ea6be0d8c3a'/>
<id>6f430a25e9cd653fdb6995ae4e427ea6be0d8c3a</id>
<content type='text'>
I discovered some problems with the framebuffer output driver.  The first
problem I had was a segfault when trying to play a 480x360 clip on a 640x480
display.  I traced it to the yuv420_rgb16() color conversion function, which
was overrunning the input buffer (the "y" part of the image).  The reason
was that it was being called downstack from fb_frame_proc_slice(), multiple
times for each 16-pixel high horizontal slice of the image.  When it got to
the last slice, only 8 pixels were left to the bottom but it still tried to
process a 16-pixel high slice.

Nosing around a bit, I compared the configuration of the color converter as
used by the fb driver to the xshm driver and found some oddities:

1) The color converter was configured with a "source height" of 16 pixels no
matter what the size of the image, and a "dest height" based on what was
referred to within video_out_fb.c as a "stripe" -- essentially an input
slice scaled up or down as required by the output size.
2) Apparently to prevent the above from causing problems, the position in
the output buffer was managed by special code -- see the "stripe_incr"
variable.
3) The xshm driver calls yuv2rgb_next_slice() with a NULL argument at the
beginning of each frame to allow the color converter to reset its tracking
of the slice-by-slice progress through the image; the fb driver does not.

I'm not sure exactly why it was done that way, but my best guess would be
that whoever coded it didn't know about the need to call
yuv2rgb_next_slice() with a NULL argument, and the rest was built up to get
it to mostly work without that.

The attached patch changes the behaviour to match that of the xshm driver,
and also removes the reset_dest_pointers() function, replacing its single
invocation with one to fb_frame_field(), which is identical after removing
the "stripe" management.

It fixed my crash.  Can anyone see if I've misunderstood what was going on?
If not, it should probably be applied to the official version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I discovered some problems with the framebuffer output driver.  The first
problem I had was a segfault when trying to play a 480x360 clip on a 640x480
display.  I traced it to the yuv420_rgb16() color conversion function, which
was overrunning the input buffer (the "y" part of the image).  The reason
was that it was being called downstack from fb_frame_proc_slice(), multiple
times for each 16-pixel high horizontal slice of the image.  When it got to
the last slice, only 8 pixels were left to the bottom but it still tried to
process a 16-pixel high slice.

Nosing around a bit, I compared the configuration of the color converter as
used by the fb driver to the xshm driver and found some oddities:

1) The color converter was configured with a "source height" of 16 pixels no
matter what the size of the image, and a "dest height" based on what was
referred to within video_out_fb.c as a "stripe" -- essentially an input
slice scaled up or down as required by the output size.
2) Apparently to prevent the above from causing problems, the position in
the output buffer was managed by special code -- see the "stripe_incr"
variable.
3) The xshm driver calls yuv2rgb_next_slice() with a NULL argument at the
beginning of each frame to allow the color converter to reset its tracking
of the slice-by-slice progress through the image; the fb driver does not.

I'm not sure exactly why it was done that way, but my best guess would be
that whoever coded it didn't know about the need to call
yuv2rgb_next_slice() with a NULL argument, and the rest was built up to get
it to mostly work without that.

The attached patch changes the behaviour to match that of the xshm driver,
and also removes the reset_dest_pointers() function, replacing its single
invocation with one to fb_frame_field(), which is identical after removing
the "stripe" management.

It fixed my crash.  Can anyone see if I've misunderstood what was going on?
If not, it should probably be applied to the official version.
</pre>
</div>
</content>
</entry>
<entry>
<title>Silence an ignored error when running "debuild clean".</title>
<updated>2007-06-05T18:45:56+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-05T18:45:56+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=f587fe0e84650b5731f9fd81b1acf0f62e670e84'/>
<id>f587fe0e84650b5731f9fd81b1acf0f62e670e84</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable aRTs output plugin by default, it's deprecated and will be removed in 1.2 series.</title>
<updated>2007-06-05T18:37:47+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-06-05T18:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=f29569da381605fa75dd7dfc780de0c8a2c44740'/>
<id>f29569da381605fa75dd7dfc780de0c8a2c44740</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Changelog entry for the unplug code</title>
<updated>2007-06-04T21:32:48+00:00</updated>
<author>
<name>Matthias Kretz</name>
<email>kretz@kde.org</email>
</author>
<published>2007-06-04T21:32:48+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=3027b1d5c75d20c38af0d7df33a0d3cd514f93dc'/>
<id>3027b1d5c75d20c38af0d7df33a0d3cd514f93dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fallback to none output when the device is unplugged</title>
<updated>2007-06-04T21:30:47+00:00</updated>
<author>
<name>Matthias Kretz</name>
<email>kretz@kde.org</email>
</author>
<published>2007-06-04T21:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=d121d898bd4a4061cb95162ecb886bd4d8d2e79b'/>
<id>d121d898bd4a4061cb95162ecb886bd4d8d2e79b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>handle unplugged devices in audio_alsa_out (return -1) and in audio_out close the driver on a return value &lt;0</title>
<updated>2007-06-04T21:30:16+00:00</updated>
<author>
<name>Matthias Kretz</name>
<email>kretz@kde.org</email>
</author>
<published>2007-06-04T21:30:16+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=7fc8916e6231e4cd7ed55c0fc7423f1ff705e497'/>
<id>7fc8916e6231e4cd7ed55c0fc7423f1ff705e497</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
