On Tue, May 1, 2012 at 1:35 PM, Stroller <strol...@stellar.eclipse.co.uk> wrote: > > On 1 May 2012, at 17:37, Claudio Roberto França Pereira wrote: > >> You almost got it: >> >> $ eix -c w32 >> [N] dev-util/w32api (--): Free Win32 runtime and import library definitions >> $ eix -c win32 >> [N] media-libs/ ((~)20071007-r4): Windows 32-bit binary >> codecs for video and audio playback support >> >> >> It's also a use flag for vlc and mplayer (that's for my setup, >> probably other players support it too), it will pull the package for >> you. > > I believed that upstream mplayer considered the win32codecs USE flag (or the > equivalent --whatever build-time flag) to be depreciated. > > AIUI win32codecs, as per the description, uses Microsoft *binary* blobs to do > the decoding. If I `emerge -f win32codecs` and look inside the tarball, I see > a bunch of .dll files. > > I believe that mplayer will just use its own open-source decoding code in the > absence of this package. > > I am certainly able to play back .wmv files here without win32codecs > installed. Admittedly, I'm using xbmc to do that, and haven't recently tested > using VLC or mplayer, but I would avoid installing that package unless I was > sure I needed it.
There are containers, and there are codecs. Containers organize and schedule multiple media streams (be they audio or video) to be played simultaneously in a synchronized fashion. Codecs, by contrast, actually encode or decode media streams from one bitstream to another. (Typically for compression purposese). WMV, mp4, WAV, etc. are all names given to container formats. WMV might contain h264 internally, or it might contain one of the "Microsoft Video" codecs, or it might even contain MPEG or MPEG2. And any of a number of different codecs. You use a muxer to pack audio, video and text streams into a container, and a demuxer to split them back out. mplayer, ffmpeg, libavcodec, vlc and friends...they're all going to have good support for just about any *container* format you might see; container formats are easy to reverse-engineer. The w32codecs package is about being able to decode the patent-protected and/or not-yet-reverse-engineered *codecs* that you can't easily get without having the DLL files from a Windows box. Sometimes there are open-source alternatives. Sometimes there aren't. Sometimes that's because of patent issues, sometimes that's because there aren't enough useful samples, and sometimes that's because nobody cares about a codec nobody's seriously used since 1997. -- :wq