I've been trying to learn how to use git to make my software development easier. Right now I'm still trying to get the hang of it and have had to wipe the tree clean and reload from SVN several times. I think I just need to play around with it some more.
Git is great for adding changes with multiple commits and for reducing the need to have multiple working copies of different ideas.
Sunday, November 18, 2007
Sunday, October 28, 2007
Flake updates
I decided to do some work on Flake recently. Among other things, I've tweaked the compression level settings, modified the API, added the pcm_io library from Aften and got rid of the internal WAVE reader, changed the build system to CMake. I added more stuff to the TODO list as well, so more changes will be forthcoming.
Sunday, September 9, 2007
flake vs flac comparison
Today I did some speed/compression tests to compare Flake 0.11 to FLAC 1.2.0. The compression ratio for FLAC -8 has gotten a bit better since my last tests, so it currently beats Flake -8 in compression, but is still nowhere close to it in speed. I would recommend using Flake -9 now, which is still better than FLAC in both speed and compression.
I also included 2 high compression Flake modes in the tests. Both modes use large/variable frame size and high prediction orders, which makes them non-Subset-compliant. Flake -99 gives the highest possible compression without regard to speed. Flake -99 -v1 gives almost as good compression and is significantly faster. Just for fun I also included summary tests using WavPack, Monkey's Audio, and La.
I also included 2 high compression Flake modes in the tests. Both modes use large/variable frame size and high prediction orders, which makes them non-Subset-compliant. Flake -99 gives the highest possible compression without regard to speed. Flake -99 -v1 gives almost as good compression and is significantly faster. Just for fun I also included summary tests using WavPack, Monkey's Audio, and La.
All 6 Tests
Playing Time: 26:47.0
File Size: 270.34 MiB
enc time rate size compression
---------- ------ ------ -------------
FLAC -8 0:34.7 46x 161.61 59.78%
Flake -8 0:17.4 92x 161.86 59.87%
Flake -9 0:20.1 80x 158.95 58.80%
Flake -99 -v 1 1:25.0 19x 152.73 56.50%
Flake -99 7:27.2 4x 151.22 55.94%
FLAC -0 0:05.1 315x 188.32 69.66%
WavPack -hh 0:24.3 66x 157.15 58.13%
WavPack -hhx3 4:37.7 6x 153.83 56.90%
MAC -c3000 0:26.4 61x 152.81 56.53%
MAC -c4000 0:44.8 36x 145.92 53.98%
La -high 6:29.5 4x 143.06 52.92%
Sunday, September 2, 2007
new computer
yay! I finally got a new computer! My previous computer was zapped by lightning or a power surge or something... All I know is that there was a big thunderstorm that day and when I returned from work my computer was dead. Luckily, my harddrive was ok. Here are some specs on my shiny new machine.
AMD64 X2 6000+
2 GB RAM
nVidia GeForce 7600 GT
22" widescreen LCD monitor
AC'97 7.1 onboard audio
I've never built a computer from parts before, so it took me the better part of 2 days to get it working properly. I'm still convinced that my first IDE channel is defective, but I worked around it. I also haven't been able to get the floppy drive working. But everything else seems to be working great. I haven't yet gotten used to the noise of 8 fans!
Anyway, I finally got Ubuntu up and running at the proper resolution and playing DVD's, both of which were a PITA to get working right. To even get started I actually had to manually edit xorg.conf to run in vesa mode, update the nvidia driver, then edit xorg.conf again. I also had to manually add the monitor's 1680x1050 optimal resolution to xorg.conf. As for playing DVD's, luckily there were some good instructions online.
AMD64 X2 6000+
2 GB RAM
nVidia GeForce 7600 GT
22" widescreen LCD monitor
AC'97 7.1 onboard audio
I've never built a computer from parts before, so it took me the better part of 2 days to get it working properly. I'm still convinced that my first IDE channel is defective, but I worked around it. I also haven't been able to get the floppy drive working. But everything else seems to be working great. I haven't yet gotten used to the noise of 8 fans!
Anyway, I finally got Ubuntu up and running at the proper resolution and playing DVD's, both of which were a PITA to get working right. To even get started I actually had to manually edit xorg.conf to run in vesa mode, update the nvidia driver, then edit xorg.conf again. I also had to manually add the monitor's 1680x1050 optimal resolution to xorg.conf. As for playing DVD's, luckily there were some good instructions online.
Sunday, August 19, 2007
FFmpeg E-AC-3 decoder
Well, the Google Summer of Code is almost over. Bartek has done a great job with the E-AC-3 decoder. The code is now nice and cleaned-up, and it works well for all known samples. Unfortunately, there aren't many very good known samples. Despite this setback, most of the unused features have already been implemented, just not tested. With some luck, adding the decoder to FFmpeg's main SVN branch will bring on reports of samples which utilize more features.
Friday, August 10, 2007
MP4-ALS
I've been doing work recently on the MP4-ALS audio format. I am in the process of writing a decoder by first writing my own specification document based on the reference software. I may eventually break down and purchase the ISO specification, but doing my own specs seems to be going okay for now. Just to have a place to keep my work online and organized, I've applied for a new Sourceforge project which I'm calling Decals. I'm already stretched thin as far as programming projects, so there may not see a release for a while. Another reason I'm putting the work online is because I hope to get some help as well.
So far, my documentation is about 600 lines of text and already covers most of the decoding process. There are some modes which are more complex that haven't been done yet though. As for the code, it's now at about 750 lines, and consists of a partially-working parser covering much of what I've documented up to this point.
So far, my documentation is about 600 lines of text and already covers most of the decoding process. There are some modes which are more complex that haven't been done yet though. As for the code, it's now at about 750 lines, and consists of a partially-working parser covering much of what I've documented up to this point.
Sunday, August 5, 2007
Flake 0.11
I finally got around to creating a new release for Flake. Version 0.11 was released today. I also updated the website. I had created the new design last year, but it never made its way onto the web...until today. I know I haven't done a lot with Flake for a while, but it's not dead...just lower priority at the moment. Although some fancy meta-data features would be more fun to add, I think my next move will be to get a testing framework up and running using the official FLAC testsuite. I mainly want to do this so the Winamp developers can confidently recommend using their FLAC encoder (which currently uses Flake r117) for archival use.
Thursday, July 19, 2007
scattered thoughts
I just started a new job this week, so I'm in information-overload mode right now. I'll post more technical stuff this weekend. As far as programming goes, I am currently working on the FFmpeg AC-3 decoder, Aften, and mp4-als decoding. The FFmpeg work is mostly just figuring out logical steps to take the code from point A to point B. My Aften development is experiencing a temporary slow-down until I finish the other AC-3 work.
Working on mp4-als is pretty exciting to me. If you don't know, mp4-als is a lossless audio codec based on LPAC and standardized by ISO as part of the MPEG-4 specification. I don't want to fork out the money for the ISO specs, so I'm trying to create my own format notes from the very incomplete draft specs and the reference software. Then I'm using the format notes to implement a decoder.
As for non-programming stuff... I think I'm going to purchase a digital camera this weekend. I love photography, but I haven't done it much since my wonderful Minolta SLR film camera was stolen a few years back. I desperately want a camera which supports raw image format, but I don't think I'll be able to afford it.
I've been trying for a while to find a really good music collection organizer / player for Linux. The best I've found so far is Amarok. I don't like that I had to install the qt libraries (I use gnome), but it's worth it at this point. I do wish it was more customizable though.
Working on mp4-als is pretty exciting to me. If you don't know, mp4-als is a lossless audio codec based on LPAC and standardized by ISO as part of the MPEG-4 specification. I don't want to fork out the money for the ISO specs, so I'm trying to create my own format notes from the very incomplete draft specs and the reference software. Then I'm using the format notes to implement a decoder.
As for non-programming stuff... I think I'm going to purchase a digital camera this weekend. I love photography, but I haven't done it much since my wonderful Minolta SLR film camera was stolen a few years back. I desperately want a camera which supports raw image format, but I don't think I'll be able to afford it.
I've been trying for a while to find a really good music collection organizer / player for Linux. The best I've found so far is Amarok. I don't like that I had to install the qt libraries (I use gnome), but it's worth it at this point. I do wish it was more customizable though.
hello
This is my current make-shift creative outlet. It will probably mostly have ramblings about programming, but I might throw in some art and music discussion now and then.
If you want to know more about me, here is a very short bio.
name, age, location, pets = justin, 28, raleigh nc, 1 cat.
If you want to know more about me, here is a very short bio.
name, age, location, pets = justin, 28, raleigh nc, 1 cat.
Subscribe to:
Posts (Atom)