
Newsletter #187
About Codecs - Part 1 of
??
When I write books, magazine
articles... or inputs to Frank Delaney for his radio
shows... anything about codecs crosses a line... it's a topic too geekie
for the broad audience of readers or listeners. The editors want to
keep things at a high level where digital video editing is fun
and easy. At most I'll slip in a comment such as "... if you don't
have the codec you need, download it and your editing will continue along
fine...". Newsletter readers are not the average users of Movie Maker so
I'm free to get into the subject here.
Developments such as still cameras with better video
features, and camcorders that use flash type memory cards,
are made possible by the higher compression of newer codecs...
With the holiday presents of cameras now being used, I
see an increase in newsgroup and forum posts asking why a video file
can't be imported into Movie Maker, or why it doesn't
preview right, acts strangely in a project, or why Movie
Maker crashes and movies don't save completely or well.
There's also the shift from XP to Vista going on... and the
Vista systems have fewer codecs, and wouldn't start with all the
codecs you collected over the years on your XP system. Files
that played fine on your XP system may not work in Vista when the
system is right out of the box.
Responses to posts are often something
like ".... maybe you have a codec issue... go get this full super-duper
pack of codecs and it'll solve your problems...". Those who
do often find themselves with more issues than they resolve.
Where does that leave the user when it comes to codecs? From
Microsoft and affiliated companies to MVPs, wiki's and other peer
supporters, I've yet to see the subject of codecs presented in an easy to
understand and broadly useful way. Seems like a qood quest and theme for a
series of newsletters. I'll kind of ramble around as I usually do in the
newsletters, and what I learn as I write them will hopefully roll up
and into helpful info on my website.
I won't go into the technical details of
codec programming or interactions behind the scenes, as I'm not a
programmer and not into the low level details of how an operating system
works... I'm a user who keeps learning and passing along what
I know, in this case about codecs and how to handle them.
Let's start by a walk-through of what happens after I
copy an AVI file from my Canon SureShot SD750 camera via USB (it
doesn't have a firewire connection like my mini-DV camcorder)... and take
it to three of my computers to edit in Movie Maker, one running XP and the
other two Vista Home Basic and the Ultimate beta of SP1.
From 7 Megapixel Canon Camera to Movie
Maker

I'll use a clip of our walking path before the snow came in
for the season, to show the codecs used to view it in Windows Media Player, and
edit it in Movie Maker.
Files from the Canon SD750 are compressed as Motion JPEG
AVI... looking at Peter Symes' book 'Digital Video Compression' to see what he
says about the format.
"...
not really covered by the JPEG standard, but it provided a powerful tool for
compressing motion sequences prior to the arrival of MPEG.
The concept is simple - each
frame of an image sequence is coded as a JPEG
image....
Unfortunately, because motion JPEG is
not properly standardized, virtually every implementation is proprietary and
different....
.... some form of motion JPEG is used
in most nonlinear editors...."
You can't play video or audio files without codecs... with
few exceptions they are compressed and the codec is the little piece of
software on your computer that does the decompression as you watch and
listen in Windows Media Player or the preview monitor of Movie Maker.
Some codec files have .ax extensions and others are in .dll files.
There are dozens or hundreds of codecs on each system that
are ready to do the decompressing when you need one... you'll never need to
know about most of them, just those you need but don't have (when your file
doesn't work right)... and the ones involved in crashes and hangs (when you
need to take some action to resolve it).

Codecs go into action when needed, without the user
doing anything beyond opening the file in the player. Let's see which
codecs are used as I play the clip on the 3 computers.
On my Vista Home Basic laptop the video decompression
is done by the ffdshow Video Decoder, a code I installed to
get Xvid compressed files to play in Movie Maker 6. I didn't know it
would also be used for Motion JPEG files. How do I know what's being used? Check
the file properties in WMP and it'll tell you as part of the info on the first
page

If I turn off ffdshow by renaming the codec file, and
play it again, WMP changes to using the PIC Video M-JPEG 3
decompressor. I don't know what app installed that one... it's
not on my XP laptop or my Vista Ultimate system. Either Toshiba installed it
when they made the laptop or I put it there as I added some software, not
knowing it would get involved with the playing of my Canon camera clips.
Decoders and decompressors pull the data from the files as they
play.... but it's other codecs, the compressors, that compress
the files as they are being made. For the Canon, the compressor is whatever
Canon put in the camera. There are hardware compressors and software
ones... I don't need to know what did it as long as it plays fine using the
decompressors I have.
When I use a Motion JPEG file in a Movie Maker
project, MM6 takes data from the file using ffdshow or PICVideo and
puts it into the movie it's rendering using a Windows Media 9 or
a DV compressor, the only two types of files Movie Maker creates.
Checking file properties in Movie Maker won't tell you
which codecs are being used. You'll have to use clues and guesses...
and sometimes be wrong. My guess is that Movie Maker
uses the same decompression codec as Windows Media Player.
If you have the codec unchecked in Movie
Maker's compatibility list, it can't be used by Movie Maker but it
can still be used by WMP, so more guessing is needed. When I uncheck
the ffdshow video codec in MM6 and the file still plays, I assume it's the
PIC codec stepping in to do the decompression, as that's what WMP
uses when I rename the ffdshow.ax file.

Playing the clip on my squeaky clean Vista Ultimate
system that doesn't have either the ffdshow or PICVideo codec
must use a different codec for decompression, as it plays
fine. See the blank stare I got from the file properties in
Windows Media Player. WMP either doesn't know or won't tell you. That makes me
use GSpot, my all-purpose codec checking utility.
Checking the clip in GSpot on the Vista Ultimate
system shows it being decompressed by the MJPEG Decompressor in the
quartz.dll file, one of those basic files in the Windows\System32 folder, a
file that comes from Microsoft with the operating system.
For the audio in the file, Windows Media Player doesn't have any
info. Checking it with GSpot shows 'PCM Audio, no codec required'... PCM
Audio is one of those exceptions, uncompressed. WAV files are also uncompressed
audio.
Codecs are a mystery to all but a select few.
They are hard to understand and talk about. At the same
time, they offer some fun for the curious non-programming
hackers... I guess I fit that category.
Now that Vista has been with us for over a year, we have
both XP and Vista to look at and learn from. Comparing two things against
each other sometimes adds enough clues to put some info together. I hope
so.
Before going further, here's...
a note...
After sending out last week's
issue about the Photo Story 'spoiler' I checked all my profiles and
found 4 more custom ones with the same issue... and they didn't all
fit the same pattern of pixel width dimensions. What I've been using
is the 'work-around' of moving the starting position so it's at least
part way outside the ending position.
It leaves the cause of
the issue still unknown but with an easy to use work-around provided you notice
and correct it before distributing your story.
... back to the main
subject
What codecs are on your system? Many, most of
which you don't need to begin to think about. Our focus in this first newsletter
of the series are the codecs you need to add if you don't have the ones
needed to play your video clips, and those you need to turn off
if Movie Maker is crashing and hanging when trying to use them.
If others are there and behaving themselves you don't need to
know about or think of them.
The GSpot utility gives a long list
of codecs and filters on a computer.
Here are the items on my Vista Ultimate system... for
VFW and DMO types, selected to align with what WMP11 shows for
ICM (Image Color Management) and DMO (DirectX Media Object) video codec
types. I don't want to get too techie at this point... just gloss over anything
you don't understand.
For now we're just making notes about such things, not stopping
to explore them in depth.
For another look at the video codecs on the same system, let's
use Windows Media Player 11.
The hard part is finding the Help button or option to
select > About Windows Media Player.
Once at the 'About' window, use the hot link for
'Technical Support Information' and you'll get a list of codecs on the
system.
The items listed under VFW (Video for Windows) in GSpot are
shown as ICM type in Windows Media Player.
Note that lists in GSpot and the Windows Media
Player don't fully align, so they are a bit difficult to correlate. For
example the Toshiba IYUV codec is listed by WMP but not by GSpot.
The DMO type list of GSpot includes 4 audio codecs listed in
WMP's audio codec list. You would need to go over the two lists
line by line.
We'll gloss over any differences for now, and get back to them
when and if needed in the future newsletters in this series.
For now I just want to say there are many more line
items in both the GSpot and WMP lists than there are in the compatibility
list of Movie Maker. Let's open Movie Maker and take a look at it.

the
Compatibility List...
Open it using Tools > Options... and go to the
Compatibility tab, a feature added to Movie Maker in version
MM2.1, and included in Vista's MM6. It's there to help you easily
turn off a codec that is causing issues with a project. That makes it also
a tool to turn one on if it's unchecked.
Checked line items are available to Movie Maker and unchecked
ones are not.
Before the compatibility feature, users of versions 1 and
2.0 of Movie Maker needed to manually search a system to find
the codecs that were problems and turn them off by
unregistering them... or renaming the .ax file so Movie Maker
didn't find it.
This
website page of Microsoft says Movie Maker 2.1 automatically
turns off video and audio filters that are known to cause issues in Windows
Movie Maker... and you also have the option of selecting which filters you want
to turn on or off via the compatibility list.
The 'Restore all defaults' button at the bottom of the
compatibility tab resets the list to the last known good settings. That's a list
in the C:\Program Files\Movie Maker\Shared\Filters.xml file. It
has a couple hundred 'trusted' filters and 6 'excluded' ones. If any of
those 6 are on your system, they are unchecked by default.
The 6 excluded items are the same in XP and Vista. The list
of 6 hasn't changed in almost 4 years. During that time I've added
many problem codecs to my website's list... something tells me the
list of problem items in the filters.xml file isn't being maintained and you'll
need to turn selected items off yourself.
The compatibility list on a new system, at least on a Vista
one, has no entries before the OEM or user starts adding software
that includes codecs. The composite picture below shows the
current state of the compatibility lists on three of my computers. It
shows how the list grows over time as software is added.
-
The 2+ year old XP Media Center Edition laptop has
65 items in the list. I'm running with them all unchecked... my
projects open quicker and editing is smoother... but sometimes I
can't open a source file because the right codec isn't available to Movie
Maker, not until I check the line item. It's a matter of knowing
which item to check.
-
The 7 month old Vista Home Basic laptop has 15 items in its
list. I'm running with them all available to Movie Maker except the
ffdshow Audio Decoder which was involved in my only
crashes of MM6 to date. I installed it to use Xvid
compressed files. I don't have ffdshow on my XP system... MM2.1 on it
uses an Xvid codec.
-
The Vista Ultimate RC1 beta software that I run on a
desktop system is my cleanest installation. At this time it has no codecs
in the compatibility list.

To easily switch all line items in
the list on or off...
-
select the first item
-
hold the shift key down as you scroll down to the
last item and select it... that'll result in all of them being selected...
Control-A keys don't do it.
-
press the space bar to toggle the selected ones
on or off
With all the items checked, you can easily uncheck
a few... and if they are all unchecked you can just as easily check a
few.
Separating the Codecs that Act
Up
The compatibility list lets you separate Movie
Maker from a codec that gets involved in a crashing or hanging app. It's easy to
uncheck an item once you know which one it is. We need to explore that a
bit.
Sometimes the geekie computer language of an error
message doesn't correlate with the usual words in English... or whatever
language your system uses.
Xvid Clip on a System that doesn't have
a Video Codec
If you need another codec, GSpot is the tool to help you decide which
one.
As I was writing this newsletter, an email
came in from Frank, the Spokane radio guy, who uses a Samsung PMP Digimax
i6 6 Megapixel camera to shoot video files in avi format. He'd
been using his clips in MM2.1 for a long time, but found they wouldn't work
in MM6 on his new Vista computer.
He hasn't brought up the subject of codecs to
his radio audience, but he's seeing the need to understand the subject a bit for
his personal video work.
He sent a sample clip, a
perfect example of a file that doesn't have an
installed video decoder. It imports into MM6 and acts like an audio file. It
acted the same way on my squeaky clean Vista Ultimate system as it did on
Frank's new Vista system.
Here's a snapshot of what GSpot shows on my
Vista Ultimate system. The audio is MPEG and I have a codec to play it...
that's why you hear it in MM6. But the video is compressed with
an Xvid codec, which isn't installed.... the reason you can't see
it.
The file works OK in MM2.1 on my XP and
Vista Home Basic laptops. Xvid files are pretty common and
seem to be growing in popularity. I'd been running for years in XP
with a old version of an Xvid decompressor, and had written a newsletter
last August about the ffdshow codec (see newsletter #164) which can
decompress Xvid files.
I returned an email to Frank with the link to download
the ffdshow codec and things worked well. It was the key to
making his new Vista system use the files as he did in XP. And it was key
to him taking more of an interest in the subject of codecs. He knows that many
of his listeners will find themselves in the same situation.
Xvid Clip On an XP Laptop with a Divx
Codec
I'll focus on this Xvid compressed avi file and the ffdshow codec to
illustrate what happens when you don't have an appropriate codec
installed, such as on my Vista Ultimate system... and when you do have one
installed.
This picture of the file open in GSpot is on
my XP laptop running MM2.1. Movie Maker does its thing with video clips,
and crashes or hangs to let you know it doesn't like a codec, but when things go
well it doesn't have a feature that tells you what its using.
GSpot has buttons at the lower left to give
you some ideas of what's happening. The GSpot Vid/Aud buttons are to
test the video and audio codec possibilities in non-Microsoft
software. The MS A/V buttons are to test what happens in Microsoft
apps.
The snapshot shows the rendering is OK in Microsoft
apps using the DivX Decoder Filter divxdec.ax
When software uses codecs, it picks the best of
what's available... we hope. Sometimes the best doesn't work too well, and
gets you into crashes or other issues when trying to edit a project or save a
movie.
Xvid Clip on a Vista Home Basic Laptop
with ffdshow Codecs
Let's see what GSpot shows on the Vista Home Basic system...
checking the same Xvid file.
I don't have the DivX Decoder Filter installed on
this system, but I have ffdshow, which it uses instead.
If you check my compatibility list on this system,
you'll see that the ffdshow audio decoder is unchecked to stop it from working
with Movie Maker.... due to it being involved in MM6 crashing.
Movie Maker is using ffdshow for the video
part of the file... it won't show it if I take ffdshow out of the picture. But
the audio of the file plays with or without ffdshow.
GSpot runs outside of Movie Maker, so it's checks
and tests show what it says are 'proposed codec solutions and
tests'... it's not like Movie Maker has to follow the suggestions of
GSpot.
This is more than enough to break the ice on
this series about codecs. Let's sum it up.
Conclusion and Closing... and What's
Next?
We'll explore the subject some more in future issues in
this series, with no particular schedule and with other
newsletter topics between them.
Have a great week....
PapaJohn