ffmpeg: Free Software's WMA decoder 245
mmu_man writes "This morning, after the usual spams, I got this from the ffmpeg-devel mailing list:
Here it is, something we waited for long. Now we have a FreeSoftware (LGPL) WMA (Windows Media Audio) decoder. WMA is the highly proprietary audio codec M$ is pushing along with its user-locking tools like DRM. this will free us from the ugly DLL hacks required to play DivX until now.
Note there isn't any encoder yet, but who would like to encode into WMA while we have better and more open solutions?
With this new codec, ffmpeg really proves itself as the most complete audio/video grabbing, convertion and streaming solution, for Linux, but also FreeBSD, Windows and even BeOS. Note ffmpeg codecs are used in a lot of other FreeSoftware projects, like mplayer."
Interesting. (Score:4, Informative)
NorthWoodsman (Score:2, Troll)
How long before... (Score:4, Interesting)
Re:How long before... (Score:4, Interesting)
Re:How long before... (Score:3, Informative)
Re:How long before... (Score:5, Informative)
I do not claim, however, to know what the hell I'm doing. This was just my first attempt.
Anyone know any differently?
rOD.
Re:How long before... (Score:2, Interesting)
However, FreeMe can be used against v2 (and v2.1) in certain circumstances. The unfuck workaround for v1, which is more common (i.e., the version produced by XP's media player when ripping with default settings) transcodes the file to 64kbps, and is thus really icky and not recommended.
The fact that a free decoder (although it'll likely be under imminent legal assault - get your mirrors ready, people!) now exists, however, has prompted me to restart work on my no-license-required v2/2.1 system break (you don't get something for nothing, MS) and v1 known plaintext attacks again, in an attempt to make them both practical and rapid, without using drmclien, indivbox, or drmstor (which would just be changed with countermeasures).
Watch sci.crypt, cryptome and here for releases if I succeed.
Re:How long before... (Score:5, Insightful)
How long before... ...MS decide this is illegal and start suing?
How about sometime after Microsoft actually uses a lawsuit as a weapon? Microsoft has zero history of suing people who write lookalikes of their software (Samba, WINE, That NT-workalike project, etc).
Apparently, you're thinking of Apple who really is truly evil when it comes to suing people.
Re:How long before... (Score:2)
Re:How long before... (Score:2)
Lindows was not sued because they were trying to make a Windows work-alike, they were (legitimately, IMO) sued because the name sounded too much like Windows.
Re:How long before... (Score:2, Informative)
The system sucks, but they do have the term "Windows" tied up trademark wise, and have actively defended that in court.
Re:How long before... (Score:2)
Re:How long before... (Score:2, Informative)
Re:How long before... (Score:5, Interesting)
How about sometime after Microsoft actually uses a lawsuit as a weapon? Microsoft has zero history of suing people who write lookalikes of their software (Samba, WINE, That NT-workalike project, etc).
Well, that is true only to a point. In fairness to Microsoft, they haven't filed any such lawsuits, but they have used the threat of lawsuits on more than one occasion, and while they haven't dealt with look-and-feel per se, they have dealt with other equally inane things, like file format compatability. Certainly Microsoft has reserved the option to (mis)use lawsuits strategicly against Free Software in the internal Halloween documents leaked a few years ago.
Apparently, you're thinking of Apple who really is truly evil when it comes to suing people.
Both are evil, in different ways. However, I believe you are correct in pointing out that Apple is the one which went beyond mere intimidation, to actually filing (and losing) lawsuits based upon mimicknig look-and-feel.
Which is why, much as I like some of Apple's products (and will almost certainly make Apple my next laptop), I am also at pains to point out that anyone switching from Windows to Apple is simply trading one Master for another, and who is to say that the kinder Master today will be the kinder Master next year?
Of course, with Palladium on the horizon, we may well find ourselves in the extraordinarilly ironic situation where we need to buy a non-Intel, non-AMD (e.g. Apple PowerPC) system just to be able to dual-boot into Linux. I suspect instead most of the Asian hardware companies will ship with two BIOSes, so that a simple jumper or firmware setting can completely eliminate Palladium, but who can ever be certain in these unusual times?
Re:How long before... (Score:3, Interesting)
(The
The answer is: it won't prevent unsigned code/mp3s[/wma]. You can run all the unsigned code you want (if you have an app that supports it). You can run an unsigned OS if you want. However, what the underlying TCPA hardware will allow that unsigned code to do is very limited.
Under TCPA/Palladium, you WILL be able to:
- load and run an unsigned kernel
- play unsigned content
- etc.
You will NOT be able to:
- access certain parts of the system from that unsigned kernel
- access signed content from that unsigned kernel/code in a way that lets you get around the DRM
- write unsigned code that has any ability to view signed/protected content that doesn't allow that
This is all assuming, of course, that the code works just like it's supposed to and doesn't have any bugs that amount to back doors. Peter Biddle (group manager of the software techs writing Palladium at MS) has said publically (Usenix Security Conference '02) that he and his associates fully expect that -- even after Palladium is rolled out -- any content released in any protected digital format *will* be cracked open and re-released in an open format to the P2P services within hours. This was one of his answers to the "how do you write this code and still sleep at night" line of questioning. He knows their managers want this written to satisfy the (MP|RI)AA, but doesn't believe it'll work for that, so thinks his group is excused from the moral problem.
How about VirtualDub? (Score:2)
XBox Mods? Lindows.com? PC Werld? Micr0soft.com? (Score:2)
That depends on what you mean by "lookalikes".
Re:How long before... (Score:2)
Don't worry. We're typing up the cease and desist order right now...but please
Re:How long before... (Score:2)
2) Close up shop.
3) Snicker gleefully when you realize the genie's out of the bottle anyway.
Re:How long before... (Score:5, Interesting)
"
Anybody remember when VirtualDub could work on
Here [ffii.org] is a short blurb talking about it.
Is this REALLY a good thing? (Score:5, Interesting)
But my question is how legal is this?
What is to stop MS attacking open source in the same way as RIAA attacked - and closed - napster?
yes, yes, one is a concept, the other is a program - but RIAA wants to make ANY file sharing program which is similar to napster illegal, and their certainly making progress toward that goal...
If a percentage of open source developers ignore the law - such as a percentage of napster users did - whats going to happen in the future?
Re:Is this REALLY a good thing? (Score:2, Insightful)
Re:Is this REALLY a good thing? (Score:2, Informative)
Re:Is this REALLY a good thing? (Score:5, Informative)
This is mainly useful for playing
Re:Is this REALLY a good thing? (Score:5, Insightful)
"Creating a compatible interpreter is not the same as pirating software"
This means that creating WINE is not the same as trading mp3s, and it's not the same as creating a trading ground for mp3s. They are not even closely related.
I do not know how often people post things like this. RIAA attacked and closed Napster because they created a trading ground for mp3s. WINE and ffmpeg is creating an implementation of the Win32-api and WMA-decoder respectively.
There are however TWO ways that this WMA-decoder might be illegal:
1. It might be breaking the DMCA, by reverse-engineering or by circumventing DRM. I do not know if this might apply though.
2. It might be a breach of some software patent in WMA.
It has _nothing_ to do with the napster situation however.
Re:Is this REALLY a good thing? (Score:2)
Re:Is this REALLY a good thing? (Score:2)
Re:Is this REALLY a good thing? (Score:5, Funny)
In config.h:
#DEFINE DMCA_COMPLIANT
In drm.c:
#include "config.h"
#ifdef DMCA_COMPLIANT
if (DRM_enabled && DRM_no_rights) dontplay;
#endif
In FAQ.txt
75. Can I comment out the #define DMCA_COMPLIANT flag?
Nope - you can't do that. It would make you a VERY BAD person...
Gotta love open source... As distributed it is completely DMCA compliant and DRM enabled.
Re:Is this REALLY a good thing? (Score:2)
Indeed, creating compatible interpreters is at the very foundation of the PC industry as we know it. For example, when the IBM PC came out with its proprietary BIOS, Compaq created a clean room implementation (one in which one team of engineers reverse engineers and writes a specification for the technology, and a second team is then given the specification to implement) and manufactured the first ever IBM-compatible PC. Where would we be today if IBM was still the only maker of the PC?
Other examples include Kaffe, the clean room implementation of the Java virtual machine and related classes, AMD's x86 compatible line, a clean room implementation of Intel's, GNU, among other things a clean-room implementation of UNIX, Samba, Freetype, etc. etc. etc...
Re:Is this REALLY a good thing? (Score:5, Insightful)
Re:Is this REALLY a good thing? (Score:2, Interesting)
Re:Is this REALLY a good thing? (Score:4, Funny)
Quality "Enhancements" (Score:5, Interesting)
If an open version of a WMA encoder is released, it would be interesting to see how it would perform versus the MS encoder in this respect.
--
Maciek
Re:Quality "Enhancements" (Score:3, Insightful)
Re:Quality "Enhancements" (Score:5, Informative)
Adding compression is along the lines of adding an effect, it has nothing to do with perceptual coding. Compression doesn't always make music sound better. It can result in a muddy mix, or, sometimes, outright destroy a mix. Sure it makes pop rock sound better, and really loud and overpowering like FM radio.. But it's a little annoying when the volume on your Mozart or selected ambient works 2 is pumping up and down with every single sound. The subtlety in the original mix is lost. Other perceptually coded formats leave this component of the audio alone, and let the original producer decide what sounds right.
--
Maciek
Re:Quality "Enhancements" (Score:2)
Re:Quality "Enhancements" (Score:3, Informative)
It is false. I posted in a previous article that WMA fooled people by increasing the volume by 3 dBA and it was modded to +5 Informative. Unfortunately I was wrong and did not do my research.
It turns out that the 3 dBA thing was just made up by someone as a joke.
How does this relate to Divx? (Score:2, Interesting)
Re:How does this relate to Divx? (Score:5, Informative)
Re:How does this relate to Divx? (Score:5, Informative)
DivX
AVI has also nothing to do with DivX and WMA, it's just a container format. It just happens that some AVI files contain DivX video and WMA audio, but it may just as well be Indeo video with MP3 audio or whatever. You can put video and audio made in almost any codec in an AVI container.
Because DivX and WMA have nothing to do with AVI, you can, for example, also create Ogg files that contain DivX video with MP3 audio, Theora video with WMA audio, etc.
AVI is old, very old, and it should be replaced. No error detection, not streamable, difficult to support VBR codecs, etc. I hope one day, people will just stop encoding AVI files and switch to Ogg for MCF [sourceforge.net] instead.
Audio streams (Score:3, Informative)
Did I mention I dislike that program?
Re:Audio streams (Score:2)
Truly great! (Score:3, Interesting)
However, with MS new licensing and the fact that most tools are fairly robust. You might grab share if you can record and playback. Though with examples like Star Office I wonder how much grabbing you would do.
Re: (Score:2)
Re:Truly great! (Score:5, Insightful)
Re:Truly great! (Score:3, Insightful)
If Microsoft "improved" the codec (and thus made it incompatible) then I think they'd have a lot bigger problems than a bunch of Linux users pissy that they can't play wma's for a bit.
For starters, those people who have hardware MP3/WMA players out there would suddenly find that their products need updating. Not all with flashable firmware.
If you want to push a format, the last thing you do is alienate those people (hardware manufacturers) that can help you to do just that.
Re:Truly great! (Score:2)
Great counterpoint, I had not thought all the way through on that.
Latest WMA? And will MS try to shut it down? (Score:3, Interesting)
Re:Latest WMA? And will MS try to shut it down? (Score:3, Insightful)
So (again, AFAIK) there shouldn't be a problem.
WMA bitstream fixed since WMA2 (Score:2)
Who ? (Score:3, Troll)
I don't get it, on one hand the poster is trumpeting the availability of the WMA codec and on the other hand he's wondering why anyone would want WMA in the first place ? If WMA is so redundant/inferior as he suggests, then why does ANYONE need WMA or hacked/reverse engineered WMA codecs ? Why would this thread be interesting at all ?
If WMA availability is interesting, then as far as I'm concerned this means that the ability to encode WMA must be desirable to at least some people, as well.
Re:Who ? (Score:2, Insightful)
Therefore, you have a tool to play the content, but you might prefer to encode your own audio or video in a different format, as the poster suggests.
Re:Who ? (Score:3, Informative)
Re:Who ? (Score:3, Informative)
can anyone else hear (Score:3, Funny)
the key word is propreitary
Liability? (Score:5, Interesting)
Can its author be sued for reverse engineering?
Is it planned that DRM features will be added at some point, or the above applies..
The Many Flavors of WMA (Score:5, Informative)
Not that there are two NEW WMA codecs introduced in Windows Media 9 that aren't backwards compatible.
WMA 9 Professional aims for higher bitrates (48-768 Kbps) and multichannel (stereo with matrixed support or six discreet channels). And it can do deeper than 16-bit. If the old WMA was a competitor to MP3, WMA9Pro is a competitor to AC-3/Dolby Digital. And like WMA v. MP3, it has about a 50% advantage on compression efficiency.
There is also WMA9 Voice, which is a really good narrowband codec. Despite its name, it does a surprisingly good job with music as well. It operates from 4-20 Kbps.
WMA9 Voice is replacing the ACELP.net voice codec, which Microsoft licensed binary code for, but doesn't have the source code. Thus they couldn't get it for MacOS X or PocketPC.
Anyway, this decoder should handle 95% of the
Re:The Many Flavors of WMA (Score:2)
A lossless codec should be relatively easy to reverse engineer, since you know EXACTLY what the correct output is!
Re:The Many Flavors of WMA (Score:2)
That's a Dec (Score:4, Funny)
Surely this is a "dec", not a "codec". A codec is a Coder/Decoder, and what they've got here is just a Decoder
Re:That's a Dec (Score:3, Funny)
Nah. These days it's called a "Compaq".
Misleading writeup (Score:3, Insightful)
For the teensy-tiny almost insignificant minority of DivX files w/ WMA audio. Typically DivX (films especially) are encoded w/ mp3 audio.
We're long since divorced from using the win32 DLL's to play DivX files, which are most often mp3 audio -- hell we've even had at least 3 NATIVE alternatives for mpeg4 video (ffmpeg/libavcodec, divx4linux, xvid). In the rare case that WMA audio is in a file (think REALLY out of touch media site creating this thing the MS way), this does save us from using the win32 codecs.
Re:Misleading writeup (Score:3, Informative)
Why not MIT X license instead of GPL? (Score:3, Flamebait)
Re:Why not MIT X license instead of GPL? (Score:3, Insightful)
Re:Why not MIT X license instead of GPL? (Score:2, Flamebait)
Complying with the "old" LGPL was sometimes difficult, because a commercial software vendor often had to partition code in awkward ways to avoid being forced to give away his or her hard work. But with the new one, LGPLed code is really anything but "free." It comes at great cost -- often an intolerable cost -- to the developer. Our small company (we're trying hard to compete with Microsoft) has stopped using LGPLed code for this reason.
It's time for a move toward truly free licensing -- the Python, X, Artistic, Apache, BSD, and similar licenses. Publishing source code alone won't end Microsoft's dominance. The only thing that will end it is facilitating competition from other companies who, right now, can't afford to compete with Microsoft.
Re:Why not MIT X license instead of GPL? (Score:2)
The trouble is that the LGPL cripples Microsoft's competitors too much. Under the terms of the LGPL, those competitors cannot offer unique value
Sure they can. The codec itself is only a tiny piece of a player, and not the most important piece from the point of view of a user. They expect that *all* players will be able to play, differentiation comes in UI, streaming ability, etc.
The only thing the LGPL prevents competitors from doing is modifying the codec source and keeping the modifications to themselves while publishing binaries of the result.
If they want to one-up Microsoft by making a better audio format, they're completely free to look at the LGPL'd codec source and snitch any nifty ideas they find (unless MS has patented them, but that's a completely separate issue). Then they can write their own codec (which isn't hard, the hard part about this WMA codec was reverse engineering the format, the rest is Just Programming) and publish it under whatever license they like!
If they want their new format to be used very widely, then I'd recommend an MIT-style license.
Re:Why not MIT X license instead of GPL? (Score:2)
The only thing the LGPL prevents competitors from doing is modifying the codec source and keeping the modifications to themselves while publishing binaries of the result.
Not true. The LGPL is much more restrictive than that. In fact, it often precludes even the use of the unmodified library in a commercial product. See my comment here for a more detailed explanation. [slashdot.org]
Re:Why not MIT X license instead of GPL? (Score:2)
Re:Why not MIT X license instead of GPL? (Score:4, Insightful)
Re:Why not MIT X license instead of GPL? (Score:3, Insightful)
The LGPL doesn't preclude anybody from releasing a closed-source media player with this new codec, as long as they don't tinker with the codec itself. If they start tweaking the codec, they'll need to release their tweaks if they want to publish the entire program, but they can do whatever they want with the rest of it (UI, network code, etc.).
(At least that's my understanding of how the LGPL works...but if the codec is GPL and not LGPL (and the SourceForge pages would indicate that it's GPL), then your point stands.)
Re:Why not MIT X license instead of GPL? (Score:2)
The LGPL doesn't preclude anybody from releasing a closed-source media player with this new codec, as long as they don't tinker with the codec itself.
That was generally true of the "old," or "library," GPL. But it is not true of the license used by the CODEC -- the "new" LGPL (which the FSF calls the "lesser" GPL).
Read it yourself, at this link [gnu.org]. Section 6 says, in part:
The requirement to include all "utility programs" required to produce the product -- including the compiler, linker, etc. -- is not difficult to satisfy if the target happens to be an operating system that includes these tools. But if it's an operating system such as PalmOS, BeOS, MacOS, Windows, etc., which does not come by default with a complete set of developer tools, the requirement is not possible to satisfy. (I can't give away, for example, Metrowerks' compiler or linker with my product.) So, in fact, the new "Lesser GPL" has a hidden booby trap that makes it virtually impossible to produce products for many operating systems. (There are other problems with it as well, but this one alone is a show-stopper.)
What's more, as the text above points out, you're out of luck if you also use commercial code libraries in your product -- because, again, you can't give away someone else's product.
In short, the "new" LGPL is incredibly restrictive. I know for a fact that due to the restrictions mentioned above we could not include the CODEC mentioned in this item in our products.
--Brett Glass
Re:Why not MIT X license instead of GPL? (Score:2)
It's very important to understand just how restrictive the LGPL really is, and also the history and the motivations behind this.
You see, in the late 1990's, RMS -- flush with the success of Linux and other GPLed software -- wanted to eliminate the LGPL altogether. (He had always seen the LGPL as a temporary compromise to placate developers.) Now that some GPLed programs had gained momentum, he felt that it was time for the LGPL to go away. But there was so much outcry at the notion of doing this that RMS instead did two other things. First, he redubbed it the "Lesser GPL," and wrote several essays saying that the FSF did not recommend its use. Then, he published a new version of the license that was much, much more restrictive. Since the LGPL was generally known as allowing commercial use of the unmodified library, and many people did not read the new verbiage that was inserted into the new version, the majority of people did not notice the switch.
The "new" LGPL says that you are only exempt from providing the compiler, linker, etc. if they are included with the OS you are targeting. If they're not already included with the OS, you must supply them. Oh, and if they happen to be commercial software and you're not allowed to give them away, tough cookies. The same is true if you use a commercial library that you're not allowed to give away to everyone. You can't use the LGPLed code. Again, see Section 6 of the LGPL [gnu.org].
Re:LGPL+Closed Source HOWTO (Score:2)
No, because it's incorrect on several points. In particular, it does not address the question of how one could distribute an application for an OS that does not come with a compiler or linker. It also assumes the presence of a "strip" utility, and that the use of such a utility would be sufficient to avoid copyright infringement when one uses a commercial library (it's not). In short, I'm afraid that the above arguments are full of holes; in particular, they do not apply at all to those of us who develop for platforms other than Linux (e.g. PalmOS).
Re:Why not MIT X license instead of GPL? (Score:3, Interesting)
No, that would not fit into your "the GPL is a Communist conspiracy" theory. In fact the GPL is put on code for extremely selfish reasons that would make Ayn Rand proud.
Re:Why not MIT X license instead of GPL? (Score:2)
I predict .... (Score:2)
It's not a codec (Score:2, Informative)
Uggg... (Score:5, Insightful)
And CBR mp3 audio... ick... maybe it replicates the bug and plays VBR mp3 audio, but still, doesn't mp3 only support two channels?
I would love to see the proliferation of something much more elegant. Say 'MPG4' FourCC (if you must).
Re:Uggg... (Score:2)
There are lots of Profiles (defining the tools that can be used) and Levels (defining the contraints for the parmeters of those tools) in MPEG-4. A good initial standard is ISMA Profile 1, which uses Advanced Simple video and AAC-LC audio. So, same video codec as DivX (which can export
Alas, QuickTIme doesn't support Advanced Simple, only Simple.
Going forward, I hope to see H.264 take over as the baseline codec in MPEG-4. It should be competitive with today's best propritary codecs (Windows Media Video 9 and RealVideo 9), and have no licensing costs with the baseline profile.
Why All this talk about DRM/DMCA? (Score:5, Informative)
Sure, it's hosted on sourceforge servers, which I assume is located in the US, but hosting can be obtained elsewhere just as easily.
So quit naysaying and just accept the fact that not every open source project is an attempt to defile MS's (or the American legal system's) supremacy.
Isn't the WMA format patented? (Score:5, Interesting)
What's to stop the same thing happening to this one?
software patents (Score:2)
DivX Not Hacked MS Codec (Score:4, Informative)
4.0 and onwards were developed from scratch.
How easy is this code to use elsewhere? (Score:2)
Patent problems with this? (Score:5, Interesting)
EULA for WMAs (Score:2, Interesting)
Have any of you seen this?
stable interfaces (Score:4, Interesting)
We changed the upstream sources a bit to provide libavcodec and libavformat as shlibs and started using dynamic linking.
As long as ppl use the sources provided with the debs and compile, no problem, but it's hacking time again when someone gets a CVS release
A free WMA decoder promotes Microsoft standards (Score:2, Interesting)
I think it would actually be better to never make anything else than OGG decoders to conquer the push from software giants.
Also, would be nice if you linked up to www.xvid.org, that also is free.
Re:A free WMA decoder promotes Microsoft standards (Score:3, Insightful)
Mod this up (+1, Insightful). I agree 100%. Free players are available for every format, and have to be; listeners aren't going to pay for them. (RealNetworks gets almost no revenue from its "premium" players, despite the constant nagging to buy them.) Therefore, the main way to promote the use of a format is to provide a free server.
This is why Microsoft's Windows Media has become popular; the server comes free with Windows NT/2000. Providing a decoder actually reduces the manufacturer's grip on the market, in the same way that providing a wordprocessor that can read Microsoft formats allows people to use alternatives.
Are we good? (Score:2)
no petrol but many ideas (Score:2, Interesting)
* FFmpeg was started by a french group (maybe just a french guy)
* DivX was invented by a french guy
* another beautiful player, VideoLAN, is made by a French group
As the french say, "we might not have petrol in France, but we have ideas".
Artaxerxes
How did they do it? (Score:2, Interesting)
I can think of two very different ways to get at it. Try and dig the decoder out of MS code or give it a bunch of training files and tweak the decoder until it sounded right. (ouch that sounds like a painful project) If the latter, then I don't really see how there could be any sort of lawsuit issues, unless there's a EULA problem (can't use WMP in developing competing software or something). It's a bit reminiscent of the Samba approach. Also, without a encoder, (IANAL) you shouldn't run into problems even if the wma format itself is patented.
Ok (Score:2)
Semi-on-topic question... (Score:2)
The ideal for me would be to have a single container with MPEG-4 video, Vorbis Audio, and, if at all possible, embedded subtitles in some form or fashion as a separate overlay track/text.... That can be produced in Linux...
Most complete grabber? We're in big trouble then. (Score:4, Insightful)
I have had *zero* luck trying to get the audio track to sync with the video, even at insanely low resolutions (eg half PAL) with no frame drop. Different combinations of different codecs make little difference it seems.
The FAQ [sourceforge.net] even says so:
4) I get audio/video synchro problems when grabbing.
Currently, the grabbing stuff does not handle synchronisation
correctly. You are free to correct it. It is planned to fix it ASAP
So IMHO, ffmpeg as it stands is completely useless as an audiovisual grabber.
Not obsolete (Score:2)
Re:Let's Spell it Together! (Score:2)
Just because a new open source codec was released dosen't mean you have to get a sex-change operation just to celebrate. Calm down.
Re:Microsoft / Slashdot crowd... (Score:2, Funny)
http://www.penny-arcade.com/view.php3?date=2002-0
Re:Question: Why WMA? (Score:4, Insightful)
As mentioned elsewhere in this topic [slashdot.org], the fact that the CODEC mentioned here is licensed under the LGPL is likely to prevent its use in players for some operating systems, which is a shame. Whether or not we like Microsoft or Windows Media, I think you'll agree that all authors of players, and all end users, should be able to play streams that are encoded in that format.