<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-31503536</id><updated>2012-01-27T12:01:06.653-05:00</updated><title type='text'>Aftenblog</title><subtitle type='html'>Development blog for the Aften Open-Source AC3 encoder.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31503536.post-5596513483707821866</id><published>2009-04-29T19:39:00.004-04:00</published><updated>2009-04-29T20:39:30.023-04:00</updated><title type='text'>exponents</title><content type='html'>I've been thinking about how to improve the quality of Aften.   The first thing, which I vow to get finished soon, is channel coupling, but there are other things I want to try out too.&lt;br /&gt;&lt;br /&gt;The exponent strategy decision in Aften is somewhat simple.   In AC-3, exponents can take up anywhere from about 100 to 2500 bits per channel, per frame.   In Aften, the set of 6 exponent strategies for each channel are chosen from a list that usually gives somewhere around 400-500 bits/channel.   In some cases bits are clearly wasted on the mantissas and could be put to better use increasing accuracy of the exponents.   My first thought is to create separate exponent strategy set tables to group together sets that use about the same number of bits.   The table corresponding to approximately the current choices would be the default, but Aften could choose other tables in response to the results of bit allocation.&lt;br /&gt;&lt;br /&gt;For high bitrate encoding, average quality of 280 to 300 is fairly common, with values in some sections averaging 340 to 350.   I would experiment with various thresholds for switching from adding bits to mantissas to adding bits to exponents.   My first inclination would be to make it around 280.   It could even be done incrementally, with certain quality levels triggering a switch to the next highest exponent table.&lt;br /&gt;&lt;br /&gt;For low bitrate encoding, I would have to be very careful about taking away bits from exponents.   I'll need to do some listening tests and some other types of objective measurements to determine how reducing exponent accuracy affects percieved quality.   The numerical "quality" setting in Aften is only directly related to mantissa accuracy.&lt;br /&gt;&lt;br /&gt;I have also briefly experimented with weighting the error measurement used to select exponent strategies.   I tried weighting the error values by frequency bin based on the hearing threshold table.   This gave more weight to error in the more important bandwidths.  I have not been able to hear a difference though.   Some PEAQ tests have shown about a 0.02 increase in the objective difference grade (OGD) across several samples, so it at least is likely not to hurt quality...  But it's slower, so I'm holding off on committing it until I can do more tests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-5596513483707821866?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/5596513483707821866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=5596513483707821866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/5596513483707821866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/5596513483707821866'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2009/04/exponents.html' title='exponents'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-104794835299247703</id><published>2008-10-18T15:13:00.002-04:00</published><updated>2008-10-18T15:20:50.130-04:00</updated><title type='text'>Exponent Strategy</title><content type='html'>I've been playing around with exponent strategies in Alsophila and came up with what I think is a decent way of selecting them.  It is also the first Alsophila feature I have ported back to Aften.  The expstr_fast (-fba) option is now expstr_search (-exps) and ranges from 1 to 32.&lt;br /&gt;&lt;br /&gt;The previous way of doing this was to select from 5 preset exponent strategy sets for each channel in a frame.  The pre-defined sets were originally chosen pretty much by guessing.  The new way selects from the 32 sets in the E-AC-3 specification (table E2.14).  I sorted them in order of the most commonly used sets by testing various source material and analyzing which sets were used.  The new search size option determines how far down this sorted list the encoder searches in order to find the best match.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-104794835299247703?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/104794835299247703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=104794835299247703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/104794835299247703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/104794835299247703'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2008/10/exponent-strategy.html' title='Exponent Strategy'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-3293605528344297484</id><published>2008-10-10T19:26:00.002-04:00</published><updated>2008-10-10T19:38:48.326-04:00</updated><title type='text'></title><content type='html'>Wow, it has been quiet a while since my last post.  Aften has been somewhat on the back burner in favor of other projects this year.  But I have at least been working on AC-3 and E-AC-3, so much of the work I'm doing will help improve Aften in the future.&lt;br /&gt;&lt;br /&gt;I have started to do some more work with &lt;a href="http://justin.ruggles.googlepages.com/alsophila.html"&gt;Alsophila&lt;/a&gt;, which is sort of my Aften sandbox project.  Channel coupling has been working for a while now, but it's very simplistic.  I'm revamping the structure of the encoder to allow a much better CBR mode with adaptive coupling and bandwith.  Once I'm happy with that, I'll probably start work on E-AC-3 encoding.&lt;br /&gt;&lt;br /&gt;I really didn't like splitting out a new project, but the code structure of Aften was starting to get overwhelming and was making experimentation with new features somewhat difficult.  When I get CBR+coupling working well, I'll try to port the changes back to Aften.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-3293605528344297484?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/3293605528344297484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=3293605528344297484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/3293605528344297484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/3293605528344297484'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2008/10/wow-it-has-been-quiet-while-since-my.html' title=''/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-4447815277055763639</id><published>2007-12-08T21:02:00.000-05:00</published><updated>2008-12-10T12:55:11.229-05:00</updated><title type='text'>Apple formats</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UJhyeYtqtfU/R2M3hjc_a1I/AAAAAAAAAA4/Q2xg-VekDnc/s1600-h/apple_logo_rainbow_6_color.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 41px; height: 48px;" src="http://3.bp.blogspot.com/_UJhyeYtqtfU/R2M3hjc_a1I/AAAAAAAAAA4/Q2xg-VekDnc/s200/apple_logo_rainbow_6_color.png" alt="" id="BLOGGER_PHOTO_ID_5144016248979286866" border="0" /&gt;&lt;/a&gt;Aften finally supports AIFF and CAFF input.  Next up is AIFF-C.  Also, for full CAFF support, I need to include channel layout detection and/or conversion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-4447815277055763639?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/4447815277055763639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=4447815277055763639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/4447815277055763639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/4447815277055763639'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/12/apple-formats.html' title='Apple formats'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UJhyeYtqtfU/R2M3hjc_a1I/AAAAAAAAAA4/Q2xg-VekDnc/s72-c/apple_logo_rainbow_6_color.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-3171775609896981400</id><published>2007-11-10T20:40:00.001-05:00</published><updated>2007-11-10T20:55:42.589-05:00</updated><title type='text'>multi-mono input</title><content type='html'>I've been working on multi-mono input for Aften over the last 2 days.  I'm finally happy with it, but I need to do some more testing before committing it.&lt;br /&gt;&lt;br /&gt;I decided to implement it within the pcm reader rather than in libaften.  It's a bit slower since it has to interleave the samples, then libaften turns around and deinterleaves them.  It makes things simpler though.  I have thought of implementing planar pcm decoding and planar aften encoding.  This would probably make things faster when using multi-mono input because it would avoid both the interleaving and deinterleaving.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-3171775609896981400?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/3171775609896981400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=3171775609896981400' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/3171775609896981400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/3171775609896981400'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/11/multi-mono-input.html' title='multi-mono input'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-1003512757339110348</id><published>2007-09-09T21:42:00.000-04:00</published><updated>2007-09-09T21:45:52.263-04:00</updated><title type='text'>Aften 0.0.8</title><content type='html'>I finally released version 0.0.8.  I've been meaning to for a while now, but things kept getting in the way.  I have lots of plans for new stuff...now I just need the time to make them happen.  The top of my list is to get coupling working 100%.  Then I want to implement simple E-AC3 support.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-1003512757339110348?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/1003512757339110348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=1003512757339110348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/1003512757339110348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/1003512757339110348'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/09/aften-008.html' title='Aften 0.0.8'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-6165647509157591079</id><published>2007-07-08T01:14:00.000-04:00</published><updated>2007-07-08T01:22:12.493-04:00</updated><title type='text'>raw pcm input</title><content type='html'>I have restructured the audio input framework for the Aften commandline program.  There is now a separate directory (and static lib) for processing audio input.  The major reason for this change was to support raw pcm input.  The new framework will also make it easier to add support for other audio formats.&lt;br /&gt;&lt;br /&gt;With this change are 3 new commandline options.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[-raw_fmt X]   Raw audio input sample format (default: s16_le)&lt;br /&gt;                   One of the pre-defined sample formats:&lt;br /&gt;                   u8, s16_le, s16_be, s20_le, s20_be, s24_le, s24_be,&lt;br /&gt;                   s32_le, s32_be, float_le, float_be, double_le,&lt;br /&gt;                   double_be&lt;br /&gt;[-raw_sr #]    Raw audio input sample rate (default: 48000)&lt;br /&gt;[-raw_ch #]    Raw audio input channels (default: 2)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-6165647509157591079?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/6165647509157591079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=6165647509157591079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/6165647509157591079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/6165647509157591079'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/07/raw-pcm-input.html' title='raw pcm input'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-5062895134874299643</id><published>2007-03-04T01:25:00.000-05:00</published><updated>2007-03-04T01:48:51.525-05:00</updated><title type='text'>thoughts on bandwidth and coupling</title><content type='html'>While it's fresh on my mind, I want to get some ideas down in print regarding adaptive coupling and variable bandwidth. &lt;br /&gt;&lt;br /&gt;First of all, I just added a completely reworked variable bandwidth algorithm.  Basically, it works by doing exponent encoding at full bandwidth, then doing 1 bit allocation pass at q=240 (snroffset=0).  The data from these 2 are used to estimate the bits required at each bandwidth setting.  So a good guess can be made as to which bandwidth code can be chosen to give quality near 240.&lt;br /&gt;&lt;br /&gt;I want to extend this idea to adaptive coupling.  Instead of continuous adjustment like in variable bandwidth mode, I want to have a few bandwidth threshold points.  The first would be a high-frequency threshold, probably around 16kHz.  Above those frequencies, it would work like the variable bandwidth mode.  If encoding at the threshold value at q=240 will fit in the frame, the bandwidth would be increased incrementally until it does not fit, and no coupling would be used.  Below that threshold, a light coupling strategy would be tried.  If that still doesn't give adequate quality, then heavy coupling strategy would be tried.  If still too low, then no coupling would be used and normal variable bandwidth mode would be used instead.&lt;br /&gt;&lt;br /&gt;Of course, I may change all this later, but I wanted to do some rambling while I still have the idea pretty well-formed in my head.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-5062895134874299643?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/5062895134874299643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=5062895134874299643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/5062895134874299643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/5062895134874299643'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/03/thoughts-on-bandwidth-and-coupling.html' title='thoughts on bandwidth and coupling'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-4130274188983947881</id><published>2007-02-24T00:58:00.000-05:00</published><updated>2007-02-24T01:25:46.398-05:00</updated><title type='text'>recent changes</title><content type='html'>Here is an overview of some of the changes since the release of version 0.06.  It's a more detailed list than what's in the Changelog, but it's simpler than having to go through the 90 SVN commit messages.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;fixed piped input for Windows&lt;/li&gt;&lt;li&gt;several updates to the public API, including splitting the public header&lt;/li&gt;&lt;li&gt;Prakash added C++ bindings&lt;/li&gt;&lt;li&gt;utility functions for acmod and lfe were fixed, cleaned-up, and simplified&lt;/li&gt;&lt;li&gt;fixed dual-mono encoding&lt;/li&gt;&lt;li&gt;added a completely new bit allocation search method, which was a collaboration between Prakash and myself.  The advantage of the new method is that it gives the same results no matter what the search start value is.&lt;/li&gt;&lt;li&gt;version info is now accessible in API and displayed on commandline&lt;/li&gt;&lt;li&gt;parallel encoding by Prakash. this is the most significant change since the last release.&lt;/li&gt;&lt;li&gt;fixed bit exactness/uninitialized memory problem in exponent encoding&lt;/li&gt;&lt;li&gt;added option to remove start-of-frame padding&lt;/li&gt;&lt;li&gt;split out the commandline help in aften to a separate files to make it simpler and easier to maintain&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a number of excellent speed-ups by Prakash in the exponent functions&lt;/li&gt;&lt;li&gt;added optional fast exponent strategy option which uses a fixed strategy, which is not quite as good quality, but is significantly faster&lt;/li&gt;&lt;li&gt;fixed alt bitstream syntax encoding&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-4130274188983947881?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/4130274188983947881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=4130274188983947881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/4130274188983947881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/4130274188983947881'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/02/recent-changes.html' title='recent changes'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-116979156752719014</id><published>2007-01-26T00:45:00.000-05:00</published><updated>2007-01-26T01:06:07.543-05:00</updated><title type='text'>behind the scenes</title><content type='html'>I thought I would take a minute to discuss some of the improvements I'm currently working on.&lt;br /&gt;&lt;br /&gt;First, I have completed a basic implementation of channel coupling.  The AC-3 format has the capability to merge all or selected channels in certain frequency ranges.  Only a small amount of side information is transmitted for individual channel differences in those ranges.  The format allows for very detailed control of this coupling on a per-block and per-channel level.  The implementation I've done at this point is only a very simple starting point using a couple of fixed strategies based on samples from commercial DVD's.  The plan is to eventually have Aften dynamically adjust the strategy based on the required compression needed for each frame.&lt;br /&gt;&lt;br /&gt;Second, most of the work has been completed on a psychoacoustic model.  AC-3 actually has its own simple psychoacoustic model built-in to the specification, but also provides the capability to adjust the results of the built-in model.  This allows a more sophisticated model to be run in parallel in order to generate more accurate bit allocation results.  At this point, I have simply adapted the MPEG Psychoacoustic Model I, as implemented in the twolame mp2 encoder, to the integer log-power measurement and critical band structure used in the AC-3 bit allocation process.  The information generated by this model is used to select the fast gain codes which are used in the AC-3 bit allocation.  I am now working on trying to utilize the results for delta bit allocation (adjustments to the masking threshold) as well.&lt;br /&gt;&lt;br /&gt;The inclusion of these features will probably not be done for at least a month or two, but I will post patches of works-in-progress against the upcoming version 0.06 to Aften-devel for testing purposes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-116979156752719014?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/116979156752719014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=116979156752719014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116979156752719014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116979156752719014'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/01/behind-scenes.html' title='behind the scenes'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-116831983011303696</id><published>2007-01-08T23:44:00.000-05:00</published><updated>2007-01-09T00:17:10.123-05:00</updated><title type='text'>New exponent strategy decision</title><content type='html'>I've implemented and committed a new algorithm for the selection of exponent strategies.  The old method was from FFmpeg.  It compared the difference between exponents from one block to the next and selected exponent strategy for each block using a threshold.  The new method selects between 5 predefined sets of strategies for the whole frame.  All 5 use the same number of exponent bits.  The selection is done by comparing the original exponents to each set of encoded exponents and choosing the set with the smallest deviation from the original.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-116831983011303696?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/116831983011303696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=116831983011303696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116831983011303696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116831983011303696'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2007/01/new-exponent-strategy-decision.html' title='New exponent strategy decision'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-116158673362047964</id><published>2006-10-23T02:50:00.000-04:00</published><updated>2006-10-23T02:58:53.630-04:00</updated><title type='text'>dynamic range compression</title><content type='html'>I finally bit the bullet today and finished implementing DRC.  There are 6 profiles, as defined by Dolby: Film Standard, Film Light, Music Standard, Music Light, Speech, and None.&lt;br /&gt;&lt;br /&gt;example using Film Standard:&lt;br /&gt;&lt;code&gt;aften -dnorm 27 -dynrng 0 test.wav test.ac3&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;example using Music Light:&lt;br /&gt;&lt;code&gt;aften -dnorm 17 -dynrng 3 test.wav test.ac3&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The results have not been extensively tested yet, so until then, consider this option experimental.  It seems to work ok for the most part, but I have had a couple strange results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-116158673362047964?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/116158673362047964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=116158673362047964' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116158673362047964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116158673362047964'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/10/dynamic-range-compression.html' title='dynamic range compression'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-116149299607871684</id><published>2006-10-22T00:49:00.000-04:00</published><updated>2006-10-22T00:56:36.090-04:00</updated><title type='text'>build system and other stuff</title><content type='html'>It's been a while since I've posted.  Most of the recent changes have not been made by me, but by Prakash Punnoor, who has nearly completely converted the build system to CMake.  The configure shell script is still usable, but once all the features are converted it will likely be removed all together or stripped down to a simpler form and just kept for compatibility's sake.&lt;br /&gt;&lt;br /&gt;Also, Prakash has imported an SSE-optimized version of the libvorbis MDCT.  The new build system, along with asm run-time detection, have made this possible.  The effect is a 5 to 10% increase in encoding speed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-116149299607871684?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/116149299607871684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=116149299607871684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116149299607871684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/116149299607871684'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/10/build-system-and-other-stuff.html' title='build system and other stuff'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115829035828225968</id><published>2006-09-14T23:13:00.000-04:00</published><updated>2006-09-14T23:19:19.053-04:00</updated><title type='text'>wavrms changes</title><content type='html'>I have done some modification to the wavrms utility program which can be used to give a dialnorm setting recommendation.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;enabled piped input for Windows&lt;/li&gt;   &lt;li&gt;added an option to specify a time range to analyze&lt;/li&gt;   &lt;li&gt;simplified the calculation&lt;/li&gt; &lt;/ol&gt; Now dialnorm is estimated by taking the average RMS, ignoring those blocks which have RMS outside a specific range.  For now the range is -40dB to -15dB, but this may change after more testing is done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115829035828225968?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115829035828225968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115829035828225968' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115829035828225968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115829035828225968'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/09/wavrms-changes.html' title='wavrms changes'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115803107307106893</id><published>2006-09-11T23:11:00.000-04:00</published><updated>2006-09-11T23:17:53.726-04:00</updated><title type='text'>Thank you Xiphorous</title><content type='html'>I have substituted the FFmpeg MDCT implementation with the one from libvorbis, which is faster.  The only side-effect is that there are 2 files now (mdct.c, mdct.h) which fall under the Xiph BSD-style license rather than the LGPL like the rest of Aften.&lt;br /&gt;&lt;br /&gt;The AC-3 short-block MDCT is not a standard MDCT, so I had to modify it a bit to get it to work properly.  The result is a small slow-down (but still faster than the previous MDCT) which I hope to fix before too long.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115803107307106893?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115803107307106893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115803107307106893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115803107307106893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115803107307106893'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/09/thank-you-xiphorous.html' title='Thank you Xiphorous'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115777375856821582</id><published>2006-09-08T23:46:00.000-04:00</published><updated>2006-09-08T23:53:31.220-04:00</updated><title type='text'>new optional speed-up</title><content type='html'>I've added a new encoding option which will sacrifice some accuracy in the bit allocation by skipping the binary search.  This gives about a 4% to 5% speed-up.  The commandline option for Aften is "-fba 1" (stands for fast bit allocation).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115777375856821582?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115777375856821582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115777375856821582' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115777375856821582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115777375856821582'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/09/new-optional-speed-up.html' title='new optional speed-up'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115777104999664033</id><published>2006-09-08T22:58:00.000-04:00</published><updated>2006-09-08T23:05:15.110-04:00</updated><title type='text'>update &amp; small speed increase</title><content type='html'>It's been several days since my last update.  I've mostly been trying to iron-out the dynamic range compression.  In the meantime, I've applied a couple minor changes to dsp.c which together give about a 3%-4% speed-up on my system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115777104999664033?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115777104999664033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115777104999664033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115777104999664033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115777104999664033'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/09/update-small-speed-increase.html' title='update &amp; small speed increase'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115718153754259542</id><published>2006-09-02T03:07:00.000-04:00</published><updated>2006-09-02T13:00:38.723-04:00</updated><title type='text'>new cbr search method</title><content type='html'>I implemented a new search method for CBR bit allocation which gives about &lt;span style="text-decoration:line-through"&gt;6%&lt;/span&gt; 10% faster encoding than with the old method.&lt;br /&gt;&lt;br /&gt;old method:&lt;ol&gt;&lt;li&gt;estimate snr based on last frame&lt;/li&gt;&lt;li&gt;decrement snr in large steps until data fits in frame&lt;/li&gt;&lt;li&gt;increment snr in medium steps while data still fits in frame&lt;/li&gt;&lt;li&gt;increment snr in small steps while data still fits in frame&lt;/li&gt;&lt;/ol&gt;new method:&lt;ol&gt;&lt;li&gt;estimate snr based on last frame&lt;/li&gt;&lt;li&gt;narrow the search range by &lt;span style="text-decoration:line-through"&gt;doing a weighted increment or decrement of snr based on how close it is to optimal&lt;/span&gt; sliding a 16-wide window up or down until it overlaps the optimal value.&lt;/li&gt;&lt;li&gt;do a binary search for the optimal snr value&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115718153754259542?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115718153754259542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115718153754259542' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115718153754259542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115718153754259542'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/09/new-cbr-search-method.html' title='new cbr search method'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115620072240202016</id><published>2006-08-21T18:49:00.000-04:00</published><updated>2006-08-21T18:53:11.780-04:00</updated><title type='text'>version 0.05</title><content type='html'>Version 0.05 has been released. The speed increase since version 0.04 really warranted another release. There have also been a few bug fixes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/aften/"&gt;http://sourceforge.net/projects/aften/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115620072240202016?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115620072240202016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115620072240202016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115620072240202016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115620072240202016'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/version-005.html' title='version 0.05'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115604556162188249</id><published>2006-08-19T23:43:00.000-04:00</published><updated>2006-08-19T23:46:01.626-04:00</updated><title type='text'>doubles or floats</title><content type='html'>I decided to switch the default configuration for the floating-point type.  Now using floats is default, and "--enable-double" enables use of doubles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115604556162188249?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115604556162188249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115604556162188249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115604556162188249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115604556162188249'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/doubles-or-floats.html' title='doubles or floats'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115587776180233074</id><published>2006-08-18T01:04:00.000-04:00</published><updated>2006-08-18T01:09:21.820-04:00</updated><title type='text'>floats or doubles</title><content type='html'>There is now a configure switch to enable use of floats internally instead of doubles.  This is less accurate, but faster.  To use floats, just add "--enable-float" when running configure.  Otherwise, Aften will use doubles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115587776180233074?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115587776180233074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115587776180233074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115587776180233074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115587776180233074'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/floats-or-doubles.html' title='floats or doubles'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115536502335838743</id><published>2006-08-12T02:37:00.000-04:00</published><updated>2006-08-12T02:43:43.376-04:00</updated><title type='text'>Sample Format choices</title><content type='html'>I have modified by libaften and the Aften wav reader to be able to use various sample formats.  Aften still uses doubles internally, but the input can be any one of the most common pcm sample format types.&lt;br /&gt;&lt;br /&gt;It wasn't absolutely necessary for me to add this functionality to the wav reader, but I did it so that wav.c can be easily reused for other purposes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115536502335838743?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115536502335838743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115536502335838743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115536502335838743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115536502335838743'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/sample-format-choices.html' title='Sample Format choices'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115527748051410157</id><published>2006-08-11T02:23:00.000-04:00</published><updated>2006-08-11T02:24:40.526-04:00</updated><title type='text'>more functional separation</title><content type='html'>I moved all of the exponent processing functions from a52enc.c to exponent.c.  This was in preparation for a new exponent strategy decision algorithm, which I am working on now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115527748051410157?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115527748051410157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115527748051410157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115527748051410157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115527748051410157'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/more-functional-separation.html' title='more functional separation'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115492687040782014</id><published>2006-08-07T00:51:00.000-04:00</published><updated>2006-08-07T01:02:08.040-04:00</updated><title type='text'>bit allocation speedup</title><content type='html'>Thanks to the help of Prakash Punnoor (prakash@punnoor.de)&lt;prakash de=""&gt;, the bit allocation in Aften is much faster.  On my system, there was a 22% speedup for CBR and 36% speedup for VBR!!&lt;/prakash&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115492687040782014?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115492687040782014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115492687040782014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115492687040782014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115492687040782014'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/bit-allocation-speedup.html' title='bit allocation speedup'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115487573424612665</id><published>2006-08-06T10:44:00.000-04:00</published><updated>2006-08-06T10:48:54.253-04:00</updated><title type='text'>Daily builds</title><content type='html'>I have setup daily builds from SVN.  Every day at 4:50am EST my computer will get the latest SVN version of Aften and build a source package and a Windows binary package.  They will be located at:&lt;br /&gt;&lt;a href="http://jbr.homelinux.org/aften/daily/"&gt;http://jbr.homelinux.org/aften/daily/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115487573424612665?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115487573424612665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115487573424612665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115487573424612665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115487573424612665'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/daily-builds.html' title='Daily builds'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115480812498471299</id><published>2006-08-05T15:45:00.000-04:00</published><updated>2006-08-05T16:04:53.740-04:00</updated><title type='text'>Aften 0.04 released</title><content type='html'>I have setup a &lt;a href="http://sourceforge.net/projects/aften"&gt;Sourceforge project for Aften&lt;/a&gt;, where I have released version 0.04.&lt;br /&gt;Benefits of putting Aften on Sourceforge:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;SVN access to the latest development changes.&lt;/li&gt;   &lt;li&gt;Organized file releases&lt;/li&gt;   &lt;li&gt;Mailing lists (currently, there is only an svnlog mailing list)&lt;/li&gt;   &lt;li&gt;More publicity&lt;/li&gt;   &lt;li&gt;Opportunity for other developers to join the project&lt;/li&gt;   &lt;li&gt;Web hosting (the new Aften webpage is &lt;a href="http://aften.sourceforge.net"&gt;http://aften.sourceforge.net&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115480812498471299?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115480812498471299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115480812498471299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115480812498471299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115480812498471299'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/aften-004-released.html' title='Aften 0.04 released'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115474443156963370</id><published>2006-08-04T22:11:00.000-04:00</published><updated>2006-08-04T22:20:31.580-04:00</updated><title type='text'>Default Bitrate</title><content type='html'>I made a few minor changes regarding bitrate.  First, CBR mode is now the default instead of VBR.  The default CBR bitrate is chosen based on the number of full-bandwidth channels.&lt;br /&gt;1: 96 kbps&lt;br /&gt;2: 192 kbps&lt;br /&gt;3: 256 kbps&lt;br /&gt;4: 384 kbps&lt;br /&gt;5: 448 kbps&lt;br /&gt;&lt;br /&gt;I modified the Aften commandline to accept bitrate in kbps instead of bps (i.e. '-b 192' instead of '-b 192000').&lt;br /&gt;&lt;br /&gt;Now you can use the '-b' option along with the '-q' option.  This will use VBR mode and use the given bitrate as a maximum bitrate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115474443156963370?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115474443156963370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115474443156963370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115474443156963370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115474443156963370'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/default-bitrate.html' title='Default Bitrate'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115457148682940066</id><published>2006-08-02T22:09:00.000-04:00</published><updated>2006-08-02T22:31:04.836-04:00</updated><title type='text'>libaften</title><content type='html'>I finally created a libaften! If there are no problems with the new configure/build system, I will release version 0.04 soon.&lt;br /&gt;&lt;br /&gt;I decided not to make the filter library separate. It just made things too complicated. So now there is the base directory, aften, libaften, and util. Currently only a static library is built, but I will eventually add support for compiling a dynamic library/dll.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115457148682940066?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115457148682940066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115457148682940066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115457148682940066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115457148682940066'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/libaften.html' title='libaften'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115448419223679507</id><published>2006-08-01T21:57:00.000-04:00</published><updated>2006-08-01T22:05:17.483-04:00</updated><title type='text'>Bandwidth stuff</title><content type='html'>I have done some reworking of the bandwidth calculation. Now there are 2 adaptive modes. The default is now a fixed adaptive bandwidth, which is chosen at the start of encoding based on either the quality or bitrate setting. The other is the same variable bandwidth as before, but with a different formula. I did this mainly to make the bandwidth filter work better. There is a distinct quality difference in the high frequencies when using the fixed adaptive bandwidth coupled with the bandwidth pre-encoding filter.&lt;br /&gt;&lt;br /&gt;commandline option changes:&lt;br /&gt;'-bwfilter 1' = enable bandwidth filter&lt;br /&gt;'-w -1' = fixed adaptive bandwidth (default)&lt;br /&gt;'-w -2' = variable adaptive bandwidth (cannot use bandwidth filter w/ this mode)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115448419223679507?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115448419223679507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115448419223679507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115448419223679507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115448419223679507'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/08/bandwidth-stuff.html' title='Bandwidth stuff'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115437002598004990</id><published>2006-07-31T14:16:00.000-04:00</published><updated>2006-07-31T14:20:26.016-04:00</updated><title type='text'>filters</title><content type='html'>Added commandline options for the DC high-pass filter and the LFE low-pass filter.&lt;br /&gt;The commandline switches are '-dcfilter &lt;0|1&gt;' and '-lfefilter &lt;0|1&gt;'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115437002598004990?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115437002598004990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115437002598004990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115437002598004990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115437002598004990'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/filters.html' title='filters'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115436600862441086</id><published>2006-07-31T13:11:00.000-04:00</published><updated>2006-07-31T13:13:28.633-04:00</updated><title type='text'>CRC split</title><content type='html'>Moved the CRC code to its own file.&lt;br /&gt;1 down, 5 to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115436600862441086?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115436600862441086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115436600862441086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115436600862441086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115436600862441086'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/crc-split.html' title='CRC split'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115433567964603341</id><published>2006-07-31T04:34:00.000-04:00</published><updated>2006-07-31T04:52:12.056-04:00</updated><title type='text'>short-term plans</title><content type='html'>Here is a small list of short-term development plans. I hope to get all this done in the next week or so. Once these are done, I will release a new version 0.04.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;separate the CRC code to its own file&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add optional DC high-pass and LFE low-pass filters&lt;br /&gt; &lt;/li&gt;    &lt;li&gt;completely redo the variable bandwidth system&lt;/li&gt;   &lt;li&gt;add an optional bandwidth low-pass filter&lt;/li&gt;   &lt;li&gt;overhaul the configuration system&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;separate aften frontend, libaften, libfilter, and utils&lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115433567964603341?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115433567964603341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115433567964603341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115433567964603341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115433567964603341'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/short-term-plans.html' title='short-term plans'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115433444767198640</id><published>2006-07-31T04:21:00.000-04:00</published><updated>2006-07-31T04:27:27.676-04:00</updated><title type='text'>Filter Library</title><content type='html'>I created a separate filter library, which will be used for all input audio filters.  Currently it is only used for the transient-detection high-pass filter.  Also, I changed Aften to use doubles instead of floats for pretty much everything.&lt;br /&gt;&lt;br /&gt;The configuration system might be a little unstable on non-Linux systems right now.  I am planning on doing some updates soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115433444767198640?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115433444767198640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115433444767198640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115433444767198640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115433444767198640'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/filter-library.html' title='Filter Library'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115411990251833241</id><published>2006-07-28T16:44:00.000-04:00</published><updated>2006-07-28T16:51:42.573-04:00</updated><title type='text'>Small xbsi change</title><content type='html'>Added 2 commandline options, '-xbsi1' and '-xbsi2'.  These must be used if the user wants the extended bit stream info to be written to the AC-3 file.  Even if options in the extended bit stream info are specified on the commandline, they will not be encoded without explicitly adding the corresponding xbsi option.  This was done to make simplifying the option parsing easier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115411990251833241?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115411990251833241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115411990251833241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115411990251833241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115411990251833241'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/small-xbsi-change.html' title='Small xbsi change'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115411874915420414</id><published>2006-07-28T16:27:00.000-04:00</published><updated>2006-07-28T16:32:29.166-04:00</updated><title type='text'>Header Reorganization</title><content type='html'>As one step forward in creating a libaften, I have reorganized the stucts to provide more complete separation of aften.h as a public header from the other private headers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115411874915420414?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115411874915420414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115411874915420414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115411874915420414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115411874915420414'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/header-reorganization.html' title='Header Reorganization'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115406066073001324</id><published>2006-07-28T00:19:00.000-04:00</published><updated>2006-07-28T00:25:16.290-04:00</updated><title type='text'>Alternate Bit Stream Syntax</title><content type='html'>I have added 8 new commandline options to Aften which correspond to the parameters in the Alternate Bit Stream Syntax, which is defined by Annex C of the A/52A spec. These are metadata parameters which affect interpretation by the decoder and/or receiver. Run "aften -h" to view the new options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115406066073001324?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115406066073001324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115406066073001324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115406066073001324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115406066073001324'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/alternate-bit-stream-syntax.html' title='Alternate Bit Stream Syntax'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115370599773607485</id><published>2006-07-23T21:47:00.000-04:00</published><updated>2006-07-23T22:00:27.846-04:00</updated><title type='text'>channel map changes</title><content type='html'>In order to support broken/incorrect/non-standard wav files, I have made a couple changes. The first was to detect use of either back-left/back-right or side-left/side-right as the stereo surround channels. The second was to allow the user to specify the audio coding mode and presence of the LFE channel on the commandline (e.g. "-acmod 7 -lfe 1"). Only the number of channels must match the specified settings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115370599773607485?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115370599773607485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115370599773607485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115370599773607485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115370599773607485'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/channel-map-changes.html' title='channel map changes'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31503536.post-115358436700531398</id><published>2006-07-22T15:00:00.000-04:00</published><updated>2006-07-22T12:06:07.016-04:00</updated><title type='text'>First post</title><content type='html'>Aftenblog is open. This is a development blog for Aften, an AC3 encoder.  I created it so I can have a space to post program updates and general thoughts regarding Aften and the AC3 format.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31503536-115358436700531398?l=aftenblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aftenblog.blogspot.com/feeds/115358436700531398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31503536&amp;postID=115358436700531398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115358436700531398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31503536/posts/default/115358436700531398'/><link rel='alternate' type='text/html' href='http://aftenblog.blogspot.com/2006/07/first-post.html' title='First post'/><author><name>Justin</name><uri>http://www.blogger.com/profile/11156263547022313814</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-ARKzfWq4Gss/TcQdU923qxI/AAAAAAAAANY/zAt8gL7ifE4/s220/jbr_greenway_nov_09_150x150.png'/></author><thr:total>0</thr:total></entry></feed>
