VirtualDub documentation: codecs Codecs are third-party drivers that export compression and decompression services to Windows applications. How do I manually add/remove/switch codecs? Under Windows 95/98, codec entries are stored in SYSTEM.INI:;VIDC.xxxx = yyyy, where xxxx is the FOURCC for the driver and yyyy is the name;of the driver's DLL. The logiJPGE Motion JPEG Encoder IP core is fully embedded into Xilinx Vivado® Design Suite to hide a complexity from the end-user and to make its integration with the on-chip AMBA AXI4 bus easy. The logiJPGE reference design, which is on request available from Xylon, can be used as a starting point to evaluate and develop Xilinx-based MJPEG.
Note that this page describes video capturing on old hardware. The Accusoft/Pegasus PIC MJPEG codec is still available and useful even for HD editing . The formerly free codec went commercial and became quite expensive, but currently they offer a version for personal use again, the 32-bit version for about $30 (I recommend this version even for 64-bit systems, the vast majority of video tool available still are 32bit; using a 64-bit Virtualdub, for example, has NO advantage so far).
With a cheap TV card and the PIC MJPEG codec, you can capture TV in full broadcast quality and then compress it with MPEG4 to fit entire movies on CDROM, still retaining an excellent quality (capturing directly to MPEG4 still exceeds the power of most CPUs). You need Windows Media Tools 4.1, PIC MJPEG, AVI_IO and VirtualDub (see Links).
I prefer the PIC codec, but MainConcept.de also have an MJPEG codec which almost catches up to PIC. With quality set to 50% with MainConcept and '14' in PIC, the codecs deliver the same speed, quality and file size. PIC still has some edge in that it allows 4:1:1 which can save 10% CPU power at no visible quality loss, and that it plays back a little smoother. It is also MUCH faster when capturing from RGB24 sources.
MainConcept claim they can play back files from most hardware MJPEG cards, but PIC MJPEG can also do this in many cases.
MJPEG codecs are best suited for full frame size. If you want to capture to half frame size in order to make VCD afterwards, I'd recommend to use the huffyuv codec (see links). It's lossless (not at YUY2, see here) and makes quite huge files, but with MJPEG you'd have to push the quality slider to the max. get big files too and still sacrifice quality.
If disk space is low, you could also directly capture to MPEG4, of course, if that's the final format you want.
There is a problem that the codec may get the wrong field order from the capture card (even and odd lines swapped, this has nothing to do with it's '2 fields' option BTW); I experienced this with PIC MJPEG as well as with the MainConcept codec, so the cause of the problem must be the BT8x8 capture drivers. In the above examples this was corrected w. VirtualDub's field swap filter before compressing to MPEG4. Another solution w. my video card was to set the format to PAL-N instead of PAL-B/G (which also swaps lines).
Since version 1.3 c, VirtualDub's internal capture also seems to work very well, and it has a field (lines) swap option that costs no CPU load !
It can also spill capture to multiple segments (surpass the 2 gigabyte barrier), and MJPEGs taken with it play smoothly.
BTW avoid the '2 fields' option here if possible. It costs a lot of quality at low Q settings! The deinterlacing w. VirtualDub works with one field as well, while I've not yet seen any non linear video editor or MPEG encoder that deinterlaces anywhere near acceptable even with 2 fields.
Even if you cut the material with an non linear editor and then play back to tape with a TV output card, you should also not need 2 fields. The TV out has to work interlaced in any case. Only if you apply certain video effects, the 1 field representation might lead to some small effects, but that should normally not be a real problem because it could only affect motion areas.
And, last but not least:
Do not set 'force YUY2 output' in the PIC codec.
It would cause you to see nothing more than black in VirtualDub !
Here are some PIC codec settings to start with (the settings can be accessed either through system settings/sounds and audio/hardware/video-codecs/properties, or e.g. in Vitrualdub under video/compression):
Thanks for the recommendation. It's pretty easy to use and for the
most part works as expected. It took a bit to get the control to be
hidden when the dialog box opens up. I had to set the uiMode to
'none'.
However, the player will repaint when I don't expect it to. Say I
play an AVI. I then stop the player and do an m_wmp.ShowWindow(FALSE)
followed by setting uiMode to 'none'. Then I display a picture (jpeg/
png, etc). If I move the window with that picture in it, the last AVI
shows up. Anyone know how to make it behave correctly? If I have to,
I'll do something kludgey like make the window width & height 0 or
kill it altogether and recreate it at runtime when I need it.
Thanks again,
Jim
p.s. I tried sending this reply earlier and never saw it come out, so
I think I clicked the wrong thing and sent you an email. Oops.
> 'Jim' <adirondack...@yahoo.com> wrote in message
On Feb 4, 11:14 pm, 'Tom Serface' <tom.nos...@camaswood.com> wrote:
> Have you considered just using the WMP ActiveX control? Take a look at the
> WMP 10 SDK.
>
> http://msdn2.microsoft.com/en-us/windowsmedia/bb190309.aspx
>
> Tom
>
> > the simplest API to use was VFW. However when I callMCIWndPlay() and
>
> news:1a83aaca-1ef7-4330-8c3d-a8ae2597d8ad@d70g2000hsb.googlegroups.com...
>
> > Hi,
>
> > I have an MFC app that displays my pics and movies in a separate
> > modeless dialog box. My old camera created QuickTime movies. I use
> > Apple's SDK to create a player inside a dialog box to play.
>
> > My new camera (Canon) creates AVI files and need to update my app to
> > handle these files. After looking at a couple of options, it appeared
> > try to play the file, I get a missing codec error (mjpeg). I have
> > WinXP SP2. Windows Media Player (version 10) can play the file, so
> > 'a' codec is installed. Does VFW use different codecs?
>
> > If VFW does use different codecs, what (newer) API would you
> > recommend? VFW and Apple's Quicktime SDK required just a few
> > additional lines of code. Simple. I'm looking for something similar,
> > if possible. And if I have to add a window with play and pause
> > buttons, that's OK.
>
> > Thanks much!
>
> > Jim
> > p.s. I'm using VC++ 6.0 with the last SDK for it so I can use
> > gdiplus.