You can wrap FLAC in an OGG stream, but why would you want to?
FLAC already has a very good wrapper. OGG is very small, and adds
as little as possible to the size of the raw data making up the media stream,
but some decisions were made that make OGG useless to me as a wrapper.
As an example, how do you seek in a file?
In FLAC's native format, you read the
Metadata Block Seektable
which gives you a mapping between points in time, and points in the file.
In QuickTime, you read the
Sample Table Atom
which does basically the same thing.
In OGG?
It appears ( from
vorbisfile.c) that you have to seek through the whole stream, reading the headers of every page to find the
locations of all of the absolute granule position markers and regenerate the same information that
other formats spend a few hundred bytes to store in a table.
Needing to read the whole file before being able to seek might not seem like much,
but when you are dealing with files of moderate size (6 hours or so) stored on a media where
the transfer rate between the file and the player is close to the bitrate of the audio,
it becomes extremely annoying.
Re:Elegant code like this?
on
Immortal Code
·
· Score: 1
I've been hanging out in a forum where a lot of aspiring (and professional) game designers hang out, and one suggestion that keeps popping up for people looking to get into writing games is Blitz.
Blitz is a programming language designed for writing games. It started out on the Amiga, and was ported to Windows some time ago. It has very impressive 3d graphics capability built in (if you get the 3d capable version, and not the cheaper 2d only version).
I haven't tried it myself, as my attempts at game writing have been in OpenGL under OSX, but it looks quite impressive.
Every now and then, the thought occurs to me "Hey - I don't have to deal with Catia anymore!" and I spent the rest of the day in such a wonderful mood, nothing can get me down...
mpeg4ip should do what you want, if you are willing to ignore the issues with licensing of the MPEG-4 patent portfolio.
If you are not stuck with Linux, I would suggest using a mac - Quick Time Broadcaster does real time mpeg4 encoding at good quality even on old iBooks, and the mpeg-4 royalties are taken of as part of the cost of QuickTime Pro.
Personally, I would be happy with just support from Apple for the Vorbis audio codec in a Quicktime wrapper.
It would be difficult for me to find a way to care less than I do about the OGG wrapper format, but Vorbis seems to actually be a rather good audio codec. In OGG, it is decent, but in QuickTime, it could be outstanding!
As one example, the ability for a Vorbis stream to be stripped to a lower bitrate on the fly seems to be a perfect match with the QuickTIme Packetizer API to create a Packetizer/Reassembler combo which can compensate for lost packets by replacing them with packets at a lower bit rate, keeping the total stream bandwidth below the specified limit!
Plus, you wouldn't have to decode all of the headers in the stream (to read the granule positions, to determine at what time each frame starts) before being able to seek around in it, as in Quicktime the Sample Table Atom holds everything you need in one place.
Slabs rock! I love those grayscale monitors. They are perfect for reading lots of text with no eyestrain.
My Slab used to be my main workstation for years, until I finally was able to afford a decent PC monitor, and needed the deskspace. Then it became the living room email terminal for a year or two, until I got a laptop.
Right now it is sitting on a desk in the corner of the room. I should really fire it up again.
May I suggest IPM Radio as a good way to learn about music?
They've been broadcasting for over 4 years now, and I have to say that in the year I've been attending broadcasts, I have found a lot of new types of music I like.
There is a weekly 6-8 hour live show, that starts at about 8:30 PM EST every friday, with real audio and MPEG-4/AAC versions showing up in the archives a few days later.
Ogg streams might be possible, if someone can direct me to an OGG streamer that lets clients skip around in the streams, like Quicktime/Mpeg-4/AAC does.
here is the link to the mpeg-4 version of the 4th anniversary show as a sample.
Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted.
Personally, I would do neither - resizing images for display should be the webserver's job.
With Roxen, I just throw a bunch of pictures into a Directory and the webserver generates the thumbnails as needed, caching them in a database after they are generated.
The only scripting was adding option='thumbnail' and &_.thumbnail; to the directory template.
On systems with IA32, SPARC or PPC32 processors Pike can use native machine code as byte code. This byte code can then be executed directly outside the virtual machine and give a ~30% performance boost compared to the old byte code.
Hopefully the last few bits of code in Roxen 3.3 that keep it on Pike 7.2 should be cleaned up soon. The last time I tried running the CVS version of Roxen on Pike 7.4, I only had problems with logging.
First they want you to run it by doing curl http://gnu-darwin.sourceforge.net/one_stop | csh as root, allowing them to run whatever they want as root on your machine.
Next, it downloads a bunch of GNU utilities (wget, killall, tar, and a couple of others) and replaces the standard system utilities with them, without checking checksums, or providing an easy way to back out the changes if something goes wrong ( some - but not all - are copied to/tmp before they are overwritten).
Then, these unchecked progams, are run as root, to download the rest of the packages. I see no attempt to verify that anything was downloaded correctly, let alone compromised.
You would think they could have at least used md5 or even cksum to try to make sure that they are downloading what they think they are downloading, or back up the system files they overwrite to some place besides/tmp...
For Windows? Grab Apple's windows Quicktime sample code and take a look. There is source for a player in there, compression programs, effects frameworks, - everything you need to build your own player.
Simple - Because QuickTime is the basis for the Mpeg-4 file format.
Why is QuickTime the basis for Mpeg-4?
Because it provides a far far richer way to describe a media file.
Personally, I like being able to keep subtitles as a text track embedded in a file, or make simple edits on gigs of source data, and send a 900k file containing the edits to a friend (who already has the source data) rather than have to render the whole sequence out to a flat file.
You know - once you install QuickTime, you don't have to use the player Apple provides.
They have full documentation available on the file format, and programming applications that use it for both MacOS as well as windows. Heck - when I visited developer.apple.com to pick up the links, their ad was for a 5 volume set of books on writing programs that use QuickTime.
So, if you don't like it, download the docs, and write your own.
I wonder why he didn't turn on -fforce-addr under GCC?
Under the versions of GCC that I have used, I've always found that -fforce-addr -fforce-mem gives a slight speed boost when combined with -O3 -fomit-frame-pointer.
Under GCC 3.2, it looks like -fforce-mem is turned on at optimization -O2 and above, but -fforce-addr does not appear to be turned on, and it seems like it may be of some help in pointer heavy code.
The multi-pass jpegs are progressive.
The ones that load from the top down are the normal ones.
You can wrap FLAC in an OGG stream, but why would you want to?
FLAC already has a very good wrapper. OGG is very small, and adds as little as possible to the size of the raw data making up the media stream, but some decisions were made that make OGG useless to me as a wrapper.
As an example, how do you seek in a file?
In FLAC's native format, you read the Metadata Block Seektable which gives you a mapping between points in time, and points in the file.
In QuickTime, you read the Sample Table Atom which does basically the same thing.
In OGG? It appears ( from vorbisfile.c) that you have to seek through the whole stream, reading the headers of every page to find the locations of all of the absolute granule position markers and regenerate the same information that other formats spend a few hundred bytes to store in a table.
Needing to read the whole file before being able to seek might not seem like much, but when you are dealing with files of moderate size (6 hours or so) stored on a media where the transfer rate between the file and the player is close to the bitrate of the audio, it becomes extremely annoying.
Atari basic could do one shorter than that:
10 L.
I've been hanging out in a forum where a lot of aspiring (and professional) game designers hang out, and one suggestion that keeps popping up for people looking to get into writing games is Blitz.
Blitz is a programming language designed for writing games. It started out on the Amiga, and was ported to Windows some time ago. It has very impressive 3d graphics capability built in (if you get the 3d capable version, and not the cheaper 2d only version).
I haven't tried it myself, as my attempts at game writing have been in OpenGL under OSX, but it looks quite impressive.
Advoid Catia
You really don't want to go there.
Every now and then, the thought occurs to me "Hey - I don't have to deal with Catia anymore!" and I spent the rest of the day in such a wonderful mood, nothing can get me down...
mpeg4ip should do what you want, if you are willing to ignore the issues with licensing of the MPEG-4 patent portfolio.
If you are not stuck with Linux, I would suggest using a mac - Quick Time Broadcaster does real time mpeg4 encoding at good quality even on old iBooks, and the mpeg-4 royalties are taken of as part of the cost of QuickTime Pro.
I wonder if he will open-source the code?
it is doubtful that he will - according to the article he has applied for a patent on it.
Personally, I would be happy with just support from Apple for the Vorbis audio codec in a Quicktime wrapper.
It would be difficult for me to find a way to care less than I do about the OGG wrapper format, but Vorbis seems to actually be a rather good audio codec. In OGG, it is decent, but in QuickTime, it could be outstanding!
As one example, the ability for a Vorbis stream to be stripped to a lower bitrate on the fly seems to be a perfect match with the QuickTIme Packetizer API to create a Packetizer/Reassembler combo which can compensate for lost packets by replacing them with packets at a lower bit rate, keeping the total stream bandwidth below the specified limit!
Plus, you wouldn't have to decode all of the headers in the stream (to read the granule positions, to determine at what time each frame starts) before being able to seek around in it, as in Quicktime the Sample Table Atom holds everything you need in one place.
As far as I can tell, the standalone installers (at least the Jaguar one) are still 6.0.2
I guess I have to get out from behind this firewall before I can upgrade...
Slabs rock! I love those grayscale monitors. They are perfect for reading lots of text with no eyestrain.
My Slab used to be my main workstation for years, until I finally was able to afford a decent PC monitor, and needed the deskspace. Then it became the living room email terminal for a year or two, until I got a laptop.
Right now it is sitting on a desk in the corner of the room. I should really fire it up again.
May I suggest IPM Radio as a good way to learn about music?
They've been broadcasting for over 4 years now, and I have to say that in the year I've been attending broadcasts, I have found a lot of new types of music I like.
There is a weekly 6-8 hour live show, that starts at about 8:30 PM EST every friday, with real audio and MPEG-4/AAC versions showing up in the archives a few days later.
Ogg streams might be possible, if someone can direct me to an OGG streamer that lets clients skip around in the streams, like Quicktime/Mpeg-4/AAC does.
here is the link to the mpeg-4 version of the 4th anniversary show as a sample.
If that was supposed to slip in right before the story was archived, you need to fix your script - way too early...
You still can't moderate?
I lost the ability on that same day (I moderated a post in the Thread of Doom), and it suddenly came back several months ago.
I assumed there was a mass pardon of everyone involved in that mess...
here is a picture of the HD test running on a 20 gig iPod.
I would provide more pics, but the test is taking a while to run...
Personally, I would do neither - resizing images for display should be the webserver's job.
With Roxen, I just throw a bunch of pictures into a Directory and the webserver generates the thumbnails as needed, caching them in a database after they are generated.
The only scripting was adding option='thumbnail' and &_.thumbnail; to the directory template.
Hopefully the last few bits of code in Roxen 3.3 that keep it on Pike 7.2 should be cleaned up soon. The last time I tried running the CVS version of Roxen on Pike 7.4, I only had problems with logging.
So being able to take your pick of the GPL, LGPL, and MPL is not free enough for you?
I haven't had any problems.
I send about 70 megs to my idisk via backup every day, and I haven't run into any issues.
Are you sure it isn't a problem on your end?
It replaces them - here's a sample:
/usr/bin/tar /tmp /usr/bin /usr/bin/tar
cp -f
wget http://gnu-darwin.sourceforge.net/packages/tar -O tar
cp -f tar
chmod 755
Look at the installer.
/tmp before they are overwritten).
/tmp...
First they want you to run it by doing curl http://gnu-darwin.sourceforge.net/one_stop | csh as root, allowing them to run whatever they want as root on your machine.
Next, it downloads a bunch of GNU utilities (wget, killall, tar, and a couple of others) and replaces the standard system utilities with them, without checking checksums, or providing an easy way to back out the changes if something goes wrong ( some - but not all - are copied to
Then, these unchecked progams, are run as root, to download the rest of the packages. I see no attempt to verify that anything was downloaded correctly, let alone compromised.
You would think they could have at least used md5 or even cksum to try to make sure that they are downloading what they think they are downloading, or back up the system files they overwrite to some place besides
For OSX? Sure - there was the ascii QuickTime player posted about a month ago.
For Windows? Grab Apple's windows Quicktime sample code and take a look.
There is source for a player in there, compression programs, effects frameworks, - everything you need to build your own player.
Simple - Because QuickTime is the basis for the Mpeg-4 file format.
Why is QuickTime the basis for Mpeg-4?
Because it provides a far far richer way to describe a media file.
Personally, I like being able to keep subtitles as a text track embedded in a file, or make simple edits on gigs of source data, and send a 900k file containing the edits to a friend (who already has the source data) rather than have to render the whole sequence out to a flat file.
You know - once you install QuickTime, you don't have to use the player Apple provides.
They have full documentation available on the file format, and programming applications that use it for both MacOS as well as windows.
Heck - when I visited developer.apple.com to pick up the links, their ad was for a 5 volume set of books on writing programs that use QuickTime.
So, if you don't like it, download the docs, and write your own.
I wonder why he didn't turn on -fforce-addr under GCC?
Under the versions of GCC that I have used, I've always found that -fforce-addr -fforce-mem gives a slight speed boost when combined with -O3 -fomit-frame-pointer.
Under GCC 3.2, it looks like -fforce-mem is turned on at optimization -O2 and above, but -fforce-addr does not appear to be turned on, and it seems like it may be of some help in pointer heavy code.