<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib/ChangeLog, branch 1.1.17</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>VC1 support fixes</title>
<updated>2009-11-17T13:17:25+00:00</updated>
<author>
<name>Petri Hintukainen</name>
<email>phintuka@users.sourceforge.net</email>
</author>
<published>2009-11-17T13:17:25+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=1c0d093f3bfd5861550d9fbb23a998b0204b9bed'/>
<id>1c0d093f3bfd5861550d9fbb23a998b0204b9bed</id>
<content type='text'>
There are two tricks to make VC1 decoding work:
1) VC1 sequence and entry point headers must be present in context-&gt;extradata.
2) video width and height must be known when opening decoder.

Some container formats store required extra data, but mpeg-ts does not.

1) is fixed by scanning the stream for headers and discarding all data until
proper headers are found.

2) is fixed by re-opening decoder with width and height information from
first open.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are two tricks to make VC1 decoding work:
1) VC1 sequence and entry point headers must be present in context-&gt;extradata.
2) video width and height must be known when opening decoder.

Some container formats store required extra data, but mpeg-ts does not.

1) is fixed by scanning the stream for headers and discarding all data until
proper headers are found.

2) is fixed by re-opening decoder with width and height information from
first open.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed a bug which prevented "dvb://" working with the default configuration.</title>
<updated>2009-10-21T17:23:15+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-10-21T17:23:15+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=13644839b68d174ed745710c2b6ae592e7f771d6'/>
<id>13644839b68d174ed745710c2b6ae592e7f771d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the XML lexer and parser re-entrant</title>
<updated>2009-10-15T21:01:24+00:00</updated>
<author>
<name>Matt Kraai</name>
<email>kraai@ftbfs.org</email>
</author>
<published>2009-10-15T21:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=6efc8270ef8f75a842930a0f703cb3539f106d4b'/>
<id>6efc8270ef8f75a842930a0f703cb3539f106d4b</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 BluRay/HDMV support.</title>
<updated>2009-10-10T13:48:17+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-10-10T13:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=16a2e010084afeca017005cee5ae6155e69f94c6'/>
<id>16a2e010084afeca017005cee5ae6155e69f94c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extended Matroska demuxer</title>
<updated>2009-10-10T13:47:57+00:00</updated>
<author>
<name>Nicos Gollan</name>
<email>gtdev@spearhead.de</email>
</author>
<published>2009-10-10T13:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=38e53859fdf5702bb82d937345c2158c2394a3f1'/>
<id>38e53859fdf5702bb82d937345c2158c2394a3f1</id>
<content type='text'>
This adds the following functionality:

* Read segment title and uses that for display in a UI
  There is an issue when the file does not specify a segment title. It will
  then fall back to a generic "(No title)", since I could not find a way to
  retrieve the file name the player shows.

* More implementation files

  Added:
   - demux_matroska.h
   - demux_matroska_chapters.h

  This breaks the OO-ish C visibility a bit, since there need to be public
  (i.e. non-static) interfaces between the units.

* Chapter Handling

  I did a rough initial implementation of Matroska's "editions" system. The
  demuxer will parse all editions from the header, and for each edition the
  top level of chapters. This is not quite the full spec as Matroska
  intends, but it should work fine as long as there is only a single edition
  and all editions/chapters only reference only one (the first and only)
  segment in the stream, and are supposed to apply to all tracks therein.

  When the stream has chapters, the demuxer will now handle skip events from
  the player to jump between chapters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds the following functionality:

* Read segment title and uses that for display in a UI
  There is an issue when the file does not specify a segment title. It will
  then fall back to a generic "(No title)", since I could not find a way to
  retrieve the file name the player shows.

* More implementation files

  Added:
   - demux_matroska.h
   - demux_matroska_chapters.h

  This breaks the OO-ish C visibility a bit, since there need to be public
  (i.e. non-static) interfaces between the units.

* Chapter Handling

  I did a rough initial implementation of Matroska's "editions" system. The
  demuxer will parse all editions from the header, and for each edition the
  top level of chapters. This is not quite the full spec as Matroska
  intends, but it should work fine as long as there is only a single edition
  and all editions/chapters only reference only one (the first and only)
  segment in the stream, and are supposed to apply to all tracks therein.

  When the stream has chapters, the demuxer will now handle skip events from
  the player to jump between chapters.
</pre>
</div>
</content>
</entry>
<entry>
<title>MOD reported zero-length workaround (avoids divide-by-0).</title>
<updated>2009-10-10T11:12:07+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-10-10T11:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=ae9b5a75d9560ec5ce88f93e89efccdf64594100'/>
<id>ae9b5a75d9560ec5ce88f93e89efccdf64594100</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Incorrect int-to-float conversion in the JACK output plugin</title>
<updated>2009-09-28T21:29:16+00:00</updated>
<author>
<name>Remco Bloemen</name>
<email>Remco.Bloemen@gmail.com</email>
</author>
<published>2009-09-28T21:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=62a2bebae1e21a1c40e81d396d046af2db79eddb'/>
<id>62a2bebae1e21a1c40e81d396d046af2db79eddb</id>
<content type='text'>
Using bitmeter, I found that xine's jack output suffers from the problem
mentioned at the bottom of bitmeter's home page.

"Although JACK itself works entirely with IEEE floating point values the
 conversion to and from analog audio uses integers, as do popular audio
 storage technologies like DAT and Red Book CDs. For correct operation JACK
 software which uses such integers should use the same conversion ratios as
 JACK itself. e.g. 16-bit samples should be divided by exactly 32768.

 A common mistake is to choose the value 32767 instead. You can't hear this,
 or see it with ordinary meters, but the bitmeter shows a clear signature for
 audio processed in this way. The 8th bit of the mantissa (counting the
 rightmost as the 0th) is orange, indicating that an unusually high
 percentage of samples have this bit set."

 (from http://users.ecs.soton.ac.uk/njl98r/code/audio/bitmeter/
  via Google cache)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using bitmeter, I found that xine's jack output suffers from the problem
mentioned at the bottom of bitmeter's home page.

"Although JACK itself works entirely with IEEE floating point values the
 conversion to and from analog audio uses integers, as do popular audio
 storage technologies like DAT and Red Book CDs. For correct operation JACK
 software which uses such integers should use the same conversion ratios as
 JACK itself. e.g. 16-bit samples should be divided by exactly 32768.

 A common mistake is to choose the value 32767 instead. You can't hear this,
 or see it with ordinary meters, but the bitmeter shows a clear signature for
 audio processed in this way. The 8th bit of the mantissa (counting the
 rightmost as the 0th) is orange, indicating that an unusually high
 percentage of samples have this bit set."

 (from http://users.ecs.soton.ac.uk/njl98r/code/audio/bitmeter/
  via Google cache)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a user agent &amp; protocol hack to allow viewing of Apple film trailers.</title>
<updated>2009-08-26T14:45:59+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-08-26T14:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=556f8d0d0799bd05f38cfb454fdb80de85dd2f7c'/>
<id>556f8d0d0799bd05f38cfb454fdb80de85dd2f7c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Changelog entries for the mpcdec &amp; CDD{A,B} changes.</title>
<updated>2009-08-05T18:21:02+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-08-05T18:21:02+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=08c9d1d6bce967a909bb55a967bf694ce29b4f48'/>
<id>08c9d1d6bce967a909bb55a967bf694ce29b4f48</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix seeking in large raw DV files</title>
<updated>2009-06-01T00:50:13+00:00</updated>
<author>
<name>Scott Bigham</name>
<email>dsb@killerbunnies.org</email>
</author>
<published>2009-06-01T00:50:13+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=e559c4abdd23b9e41922329b73909acbacbcdffc'/>
<id>e559c4abdd23b9e41922329b73909acbacbcdffc</id>
<content type='text'>
start_pos is of type off_t, and since we compile with D_FILE_OFFSET_BITS=64,
-off_t is a 64-bit long long int, so you'd think we'd be fine here -- but we
aren't, because start_time, this-&gt;duration and this-&gt;frame_size are all
32-bit ints, which means that the computed seek position gets truncated to
32 bits before it's assigned to start_pos. The simple solution is to cast
start_time to off_t, expanding the computation to 64 bits in time to avoid
truncation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
start_pos is of type off_t, and since we compile with D_FILE_OFFSET_BITS=64,
-off_t is a 64-bit long long int, so you'd think we'd be fine here -- but we
aren't, because start_time, this-&gt;duration and this-&gt;frame_size are all
32-bit ints, which means that the computed seek position gets truncated to
32 bits before it's assigned to start_pos. The simple solution is to cast
start_time to off_t, expanding the computation to 64 bits in time to avoid
truncation.
</pre>
</div>
</content>
</entry>
</feed>
