<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/bitstream.h, branch pu</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=pu</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=pu'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2017-09-22T14:35:22Z</updated>
<entry>
<title>Shorten copyright notice.</title>
<updated>2017-09-22T14:35:22Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-09-10T12:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d31995b3074bb19aa4da66ce5c4774ca9ed101a1'/>
<id>urn:sha1:d31995b3074bb19aa4da66ce5c4774ca9ed101a1</id>
<content type='text'>
The GPLv2 line does not add any additional information, so drop
it. This leaves a single line of legalese text for most files, which
is about the amount of screen real estate it deserves.

This patch was created with the following script (plus some manual
fixups):

	awk '{
		if (NR &lt;= 5) {
			gs = gensub(/.*Copyright.* ([0-9]+).*Andre Noll.*/, "\\1", "g")
			if (gs != $0)
				year = gs
			next
		}
		if (NR == 6 &amp;&amp; year != "")
			printf("/* Copyright (C) %s Andre Noll &lt;maan@tuebingen.mpg.de&gt;, see file COPYING. */\n", year)
		print
	}'
</content>
</entry>
<entry>
<title>wma: Simplify get_vlc().</title>
<updated>2017-07-06T19:00:36Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-06-06T07:29:37Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=30fdc1bcb5fd37398943cb6b072a9ca4633f2592'/>
<id>urn:sha1:30fdc1bcb5fd37398943cb6b072a9ca4633f2592</id>
<content type='text'>
The "bits" argument of the function is implicitly given by the vlc
structure and may thus be omitted from the call. For this to work we
must pass a pointer to struct vlc instead of only the table, which
further simplifies wmadec_filter.c.
</content>
</entry>
<entry>
<title>wma: Remove pointless VLC_TYPE define.</title>
<updated>2017-07-06T19:00:36Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-06-05T15:08:58Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=c8829b0bbe3c634ef64accfd88686c5895013e86'/>
<id>urn:sha1:c8829b0bbe3c634ef64accfd88686c5895013e86</id>
<content type='text'>
It was defined to int16_t which only obfuscates the code.
</content>
</entry>
<entry>
<title>wma: Make bitstream API more robust.</title>
<updated>2017-07-06T19:00:36Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-06-05T14:52:37Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=ac0008f1cb23e38c71b1074390ea530393cc8269'/>
<id>urn:sha1:ac0008f1cb23e38c71b1074390ea530393cc8269</id>
<content type='text'>
The -&gt;buffer_end field of struct getbit_context is set but never
used. In fact, we never check bounds and happily read beyond the
supplied data buffer.

Fix this by replacing the field by -&gt;num_bits, an integer which
is initialized in init_get_bits() to the number of bits available.
All functions which read the bitstream are modified to check bounds.
</content>
</entry>
<entry>
<title>wmadec: Use read_u32_be().</title>
<updated>2017-03-25T10:58:52Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2017-01-28T17:02:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=60a030e4b6c85c0e52acf699189ae29b3873e89b'/>
<id>urn:sha1:60a030e4b6c85c0e52acf699189ae29b3873e89b</id>
<content type='text'>
The shift operation in show_bits() was buggy because p[0] is promoted
to int, and the shift p[0] &lt;&lt; 24 results in undefined behavior,
causing the sanitizer of gcc to complain:

	bitstream.h:40:21: runtime error: left shift of 230 by 24 places cannot be represented in type 'int'

read_u32_be() gets this right.
</content>
</entry>
<entry>
<title>bitstream.h: Remove some superflous parentheses.</title>
<updated>2016-03-06T20:29:06Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2016-02-06T06:11:44Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=3857c8845280532a4c724f8215ef390b3a352567'/>
<id>urn:sha1:3857c8845280532a4c724f8215ef390b3a352567</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wmadec: Simplify get_vlc().</title>
<updated>2016-03-06T20:29:06Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2016-02-06T06:07:10Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9b12b292d9b523f44174fc2b6827ec2f519b9235'/>
<id>urn:sha1:9b12b292d9b523f44174fc2b6827ec2f519b9235</id>
<content type='text'>
The last parameter is always bigger than 2, which is all the function
needs to know. Hence we may remove the parameter and get rid of some
macros that were only used to compute it.
</content>
</entry>
<entry>
<title>bitstream: Improve documentation.</title>
<updated>2014-04-22T00:26:43Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2014-03-08T12:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=465f84546f810776ea6c4bd06fec34ff8452e933'/>
<id>urn:sha1:465f84546f810776ea6c4bd06fec34ff8452e933</id>
<content type='text'>
Mention that the bitstream API is only used for the WMA decoder,
avoid overlong descriptions of function parameters and add some
doxygen \ref commands.
</content>
</entry>
<entry>
<title>wma: Doxify some comments.</title>
<updated>2012-06-16T12:49:02Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2012-06-01T09:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=5d5132e5bf39298739737d75aafb66a7405978a3'/>
<id>urn:sha1:5d5132e5bf39298739737d75aafb66a7405978a3</id>
<content type='text'>
struct coef_vlc_table-&gt;levels and struct getbit_context had undoxified
comments.
</content>
</entry>
<entry>
<title>Add documentation of struct vlc.</title>
<updated>2009-12-20T15:23:56Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@systemlinux.org</email>
</author>
<published>2009-12-20T15:23:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=d502f7a751160224ab0a0632ff972c49f6acf54a'/>
<id>urn:sha1:d502f7a751160224ab0a0632ff972c49f6acf54a</id>
<content type='text'>
</content>
</entry>
</feed>
