Re: [Flac-dev] FLAC support for Android?
On Wed, Feb 25, 2009 at 5:23 AM, Brian Willoughby wrote: > A better suggestion might be to start with libFLAC, optimize as > needed, and then submit the optimizations back to the FLAC project > where they will be more widely useful. I know ARM and Thumb assembly code - Thumb is a compressed subset of ARM that has greater code density. Both are very important for embedded applications. A while back I did an Advanced Encryption Standard hard disk drive encryptor that ran entirely on-board the Oxford Semiconductor OXFW911 FireWire/IDE bridge chip. Unfortunately, the 911's ARM7TDMI CPU only runs at 50 MHz, and AES requires several rounds of encryption to process a block, so my first C implementation was as slow as molasses. I was able to speed it up by a factor of 10 or so by implementing the encryptor/decryptor in assembly code. There are several ARM simulators available. You don't need actual ARM hardware to test ARM machine code! A very helpful first cut at optimization is to have the simulator simply count the number of instructions executes during the run of a program. A better runtime profile can be had by writing a memory map for the simulator to use, that specifies the read and write access times and bus width of each memory region in the target you're simulating. Typically RAM is 32-bit and fast, while Flash is 32-bit for higher-end devices and 16-bit for lower-end devices like the 911, and is generally slow. I think there is an ARM simulator that can be integrated into GDB, so that you can debug your code on the desktop platform of your choice. What I would suggest you do to start, is get an ARM compiler/simulator toolchain set up on whatever kind of box you use, and get libflac, libogg and the flac command line program to build for it. I'll get back to you with some tips on ARM assembly code, and lots of links for ARM programming tips. I recommend the book I used to learn ARM assembly... let's see... ARM System-on-Chip Architecture 2nd Edition by Steve Furber, published by Addison-Wesley: http://www.arm.com/documentation/books/5651.html Ideally you will want *both* ARM and Thumb implementations. ARM is faster if you have a 32-bit bus and lots of Flash, but Thumb is faster - and will fit at all - if you have only a small amount of 16-bit Flash. Besides having higher code density, Thumb machine code instructions are fixed at 16-bits wide, whereas ARM opcodes are 32-bits wide. An ARM CPU can execute Thumb code if there is a "T" in its model number, such as the ARM7TDMI, which is very popular for very low-power, physically compact applications such as the Oxford 911 - the whole chip, including an IDE core, a FireWire Link-Layer core, 64 kb of Flash and 1800 bytes of RAM is about the size of a dime! You can also mix both kinds of code; there are assembly code instructions to switch back and forth. That's what I did with my encryptor; I loaded my machine code into RAM, then used ARM instructions for the innermost loops. Hope this helps! Mike -- Michael David Crawford mdcrawford at gmail dot com GoingWare's Bag of Programming Tricks http://www.goingware.com/tips/ ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] Support for CAF in flac command-line?
On Sun, Oct 12, 2008 at 11:56 PM, Erik de Castro Lopo <[EMAIL PROTECTED]> wrote: > Even distributing an MP3 software player requires the payment > of license fees: > > http://www.mp3licensing.com/royalty/software.html Thanks for pointing that out - you might have just saved me a world of hurt. However, there are many Open Source players - is there a license exception for them, just for decoding? Or can they only be distributed from countries that don't recognize software patents? That's the case with VLC, for example, it's from France. Ogg Frog is GPL. Mike -- Michael David Crawford mdcrawford at gmail dot com Enjoy my art, photography, music and writing at http://www.geometricvisions.com/ --- Free Compact Disc --- ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] Support for CAF in flac command-line?
> Thanks for the interest, Michael. I hope I really can be of help. > I don't use Ogg, so I'm a little wary that standard FLAC would be > left out of any Ogg Frog implementation. Ogg Frog already supports native FLAC as a player. Version 1.0 will only support playing and decoding, but version 1.1 will support encoding, and I'll be sure to support FLAC with and without Ogg. I must hasten to point out that I don't offer any downloads yet - the UI is in a very primitive state. > My hunch is that Apple does not want to encumber > the format, but I'll let their public documents speak for them. In > any event, it's a very good issue to be aware of from the start. I'm afraid AAC (MPEG-4 audio) has many, many patents. Unlike MP3, one cannot even distribute the binary of an Open Source player. AAC stands for Apple Audio Codec - it's their lossy codec. > Thanks again for the comments, and be sure to keep us informed if you > do anything. Of course. Mike -- Michael David Crawford mdcrawford at gmail dot com Enjoy my art, photography, music and writing at http://www.geometricvisions.com/ --- Free Compact Disc --- ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] Support for CAF in flac command-line?
On Sun, Oct 12, 2008 at 7:26 PM, Brian Willoughby <[EMAIL PROTECTED]> wrote: > Is anyone here potentially up to the task of adding support for CAF > (the CoreAudio Format) into the flac command-line? This would > present minimal difficulty under OSX, due to the presence of the > CoreAudio API, but the real challenge would be to support CAF on Unix > and Windows - everywhere that flac is now available. I expect I could do it as part of my work on Ogg Frog: http://www.oggfrog.com/free-music-software In the short term, I would do it by accessing the QuickTime APIs - which *are* available on Windows, if you install either iTunes or QuickTime for Windows. (The iTunes install includes QuickTime.) In the long term, I could write a codec for it that would be straightforward to integrate into the flac command-line tool. That would allow its use on UNIX. HOWEVER! Is the CoreAudio file format or its associated algorithms patented? QuickTime in general has many patents. A patent wouldn't stop me from writing the source code, but a binary couldn't be provided by anyone in a country that recognizes software patents. Mike -- Michael David Crawford mdcrawford at gmail dot com Enjoy my art, photography, music and writing at http://www.geometricvisions.com/ --- Free Compact Disc --- ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] Virus in FLAC Windows installer
If you want to check for Windows viruses, but don't run Windows yourself, you can use Clam AntiVirus on Unix: http://www.clamav.com/ (There is also a Windows version). It's GPL, and the database is updated regularly. There is no subscription fee as with most antivirus products. Best, Michael David Crawford mdcrawford at gmail dot com http://www.geometricvisions.com/ <-- Creative Commons FLAC Music ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] FLAC seeking error
Visual Studio code has different Application Binary Interface conventions for different compilation and linking settings. Not having them all match each other can cause all sorts of really weird bugs. To fix it, make sure that all the libraries and sources going into the executable have the same settings. On Mon, Feb 11, 2008 at 7:23 AM, Barra, Jay F Ctr AFRL/RIEC <[EMAIL PROTECTED]> wrote: > > > > I am writing a FLAC encoder/decoder and when I use the flac_static.lib that > was compiled in debug mode in MS Visual Studio 2003, the seek_absolute > function works fine. However, if I compile flac_static in release mode in > the same environment, the seek_absolute function no longer works. Mike -- Michael David Crawford mdcrawford at gmail dot com Enjoy my art, photography, music and writing at http://www.geometricvisions.com/ --- Free Music Downloads --- ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev
Re: [Flac-dev] Re: [Vorbis-dev] Proposal for Discussion: LICENSE and COPYRIGHT tags on Vorbis Comments
Creative Commons supplies a free GUI application that marks multimedia files with CC licenses. With MP3s it embeds the license in ID3 tags, but at the time I tried it on my own songs, it didn't know about Vorbis comments. Does it now? The other thing it did was create RDF descriptions of the CC-licensed works, that included hashes of the track data. However, I didn't feel that this was quite what one wanted, as it meant that only perfect copies of the songs would still have licenses attached. If one were to transcode a track it wouldn't have the same hash. Mike Crawford mdcrawford at gmail dot com http://www.geometricvisions.com/music/ <-- CC licensed instrumental piano ___ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev