Tuesday, June 20, 2006

Reviving From Deaths

Finally a new version of MPlayer is released after a year without any release. This release gives so many changes compared to their latest release (1.0pre7try2). This release is only one month after their main server was dead last month and few days ago, they have started to turn their SVN Access online again. In this long development time, they did something and the result has been publicized by the release of 1.0pre8. It contains a lot of changes as you can see here:

Security:
* support for compilation with non-executable stack
* fix the major issues caught by Coverity's static analysis runs

Documentation:
* environment variables documentation started
* interactive control fully documented
* improved encoding guide
* new technical encoding guide in DOCS/tech/encoding-guide.txt which is to be merged into the existing guide
* encoding tips for x264 and XviD
* how to set up MEncoder for x264 support
* new advanced audio usage guide with surround sound instructions
* Hungarian XML documentation translation finished
* Czech documentation translation finished
* French MPlayer documentation synced
* German man page synced
* Hungarian man page synced
* Italian man page synced
* Chinese console messages synced
* misc improvements all over the place
* AIX port documentation added
* all XviD options documented
* CONFIGURATION FILES section added to the man page
* Doxygen comments added to configuration parser and OpenGL video out driver

Drivers:
* JACK audio output rewritten without bio2jack
* OpenAL audio output - unfinished, can only do mono output
* OpenGL video output modules support -geometry and -wid options
* for -vo gl manyfmts is now default (since it is a lot faster), use -vo gl:nomanyfmts if it does not work for you
* streaming textures for -vo gl, much faster if supported (use -dr)
* hardware YUV to RGB conversion for -vo gl and -vo gl2, see yuv suboption
* support for custom fragment programs for -vo gl (see TOOLS/*.fp)
* support for bicubic hardware scaling in -vo gl, see lscale suboption
* use libvbe from vesautils as VESA video driver
* several fixes for the GGI video output driver
* fall back on next video output driver if vo_3dfx failed to initialize
* improved XvMC library detection (disabled by default)
* DPI (Print-Resolution) and Pixel-Aspect support in vo_jpeg
* ALSA audio output: several small fixes and improvements
* removed experimental mmap suboption from the ALSA driver
* YUY2 and back end scaling for S3 Virge chips on fbdev (-vo s3fb)

Decoders:
* Indeo2 (RT21) support via lavc
* Fraps video decoder via binary DLL
* support for 8-bit PNGs with palette
* support for dmb1 MJPEG files with ffmjpeg
* support for musepack audio (WARNING: when seeking you might get ear- and speaker-breaking noises). If you hear clipping, use -af volume.
* experimental speex support via libspeex
* On2 VP7 video decoder via binary DLL
* Duck/On2 TrueMotion2 (TM20) support via lavc
* support FLX and DTA extensions for flic files
* QDM2 audio decoding via lavc
* cook audio decoding via lavc
* TrueSpeech audio decoding via lavc
* CamStudio video decoder via lavc
* hwmpa pass-through MPEG audio codec
* tremor updated to libogg 1.1.2
* PNG decoding via libavcodec
* removed native RealAudio codecs (ported to lavc)
* Zip Motion-Block Video (ZMBV) decoder via lavc and binary DLL
* support for QuickTime in24/in32/fl32 PCM audio
* internal libfaad updated to CVS 20040915+MPlayer patches
* RTJpeg decoder from lavc is preferred
* bug fix for lavc WMA v2 decoder, now all files should be playable
* -vc mpeg12 resizes the window when aspect ratio changes
* Smacker audio and video decoding via lavc
* Windows Media VC1 video decoder via binary DLL
* Flash Screen video decoder via lavc

Demuxers:
* simultaneous audio capture/playback (-tv immediatemode=0) fixed in v4l2
* PVR support
* AAC ADTS demuxer
* libdvdread updated to v0.9.4
* support for some more MythTV NUV files
* modularization of demuxer code
* MPEG in GXF container support with extension-based detection
* faster MPEG and much faster GXF demuxing
* more user-friendly demuxer forcing
* MPEG Layer 1 and 2 demuxing fixed
* properly pass Vorbis extradata from Matroska container
* DVR format support
* H.264 ES high profile support
* TV channel cycling
* DVD subtitle and audio stream mappings fixed
* fixed RealAudio demuxing, now all files should have correct A/V sync
* partial support for QuickTime sound atom version 2
* improved handling of text subs in Matroska files
* DVD subtitles disabled by default
* support sipr codec in old RealAudio files
* fixed framerate detection of interlaced H.264 in raw/PS/TS streams
* support for variable framerate Ogg/OGM files
* made demux_ogg.c work with ffvorbis decoder
* fixed playback of RealVideo in Matroska files on PPC
* added support for Vorbis in MOV/MP4

Streaming:
* fix streaming of RealAudio files over HTTP
* show SHOUT/Icecast metadata while playing
* ultravox (unsv://) streaming support
* stream code ported to new modular API, massive code cleanup
* bandwidth selection for Real RTSP streams (for faster stream dumps)

FFmpeg/libavcodec:
* Snow bug fixes and speedup on x86, x86-64 and AltiVec
* MPEG-1/2/4 and H.264 decoder speedup
* Indeo2 (RT21) video decoder
* Fraps video decoder (v0 & v1, v2 not yet supported)
* Vorbis audio decoder
* RV20 fixes
* VP3 decoder fixes and speedup
* countless bug fixes all over the place
* vstrict=-1 is default, Snow, ffv1 etc. need vstrict=-2
* skiploopfilter/skipidct/skipframe decoder options for very fast H.264 decoding
* D-Cinema audio demuxer and decoder support
* Duck/On2 TrueMotion2 (TM20) decoder
* FLX and DTA extensions for flic
* QDM2 audio decoder
* cook audio decoder
* TrueSpeech audio decoder
* WMA2 audio decoder fixed, now all files should play correctly
* JPEG-LS decoder (unfinished)
* CamStudio video decoder
* Theora decoder
* improved MOV and QuickTime demuxer
* improved AVI muxer
* multithreaded decoding
* bitexact decoding
* DV50 encoder, decoder, muxer and demuxer
* true audio (TTA) decoder
* AIFF/AIFF-C audio format, encoding and decoding
* Creative VOC demuxing
* Zip Motion-Block Video (ZMBV) decoder
* KMVC decoder
* NuppelVideo/MythTV demuxer and RTJpeg decoder
* MP4 and MOV demuxer greatly improved to support all varieties of currently available files
* AVS demuxer and video decoder
* American Laser Games multimedia (*.mm) playback system
* Smacker demuxer and decoder
* Flash screen Video decoder
* Trellis-optimized ADPCM audio encoder
* Major improvements to Snow quality and encoding

GUI:
* skins now reside in a directory named 'skins', not 'Skin'
* ported to GTK2
* long standing upside down vpotmeter bug fixed
* don't hang on unreadable skin files
* random fixes and improvements

Filters:
* much faster version of spp filter (-vf fspp), and pp7 ("fast spp=6")
* remove_logo filter
* lavcresample now used by default (-af-adv force=0 gives old behavior)
* vf_expand and vf_dsize now support aspect and round parameters
* screenshot filter
* -af pan command line fix, now outputs the right number of channels and accepts values < 0 or > 1. Channel order had to be changed.
* -af sinesuppress to remove a sine at a certain frequency
* negative stride support in swscale
* big-endian and AltiVec fixes and performance improvements for swscaler, color conversions and post-processing
* -srate fixed
* hqdn3d: 2.5x faster temporal-only, 1.6x faster spatial-only
* new proof-of-concept karaoke (voice removal) filter
* motion compensating deinterlacer (-vf mcdeint)
* Yet Another DeInterlacing Filter (-vf yadif)

MEncoder:
* audio encoding modularized
* AAC (FAAC) audio encoding
* border processing adaptive quantization in libavcodec
* encoding zones, DivX profiles support, luminance masking, multi-threaded encoding for XviD
* raw audio muxer
* fixed various bugs in the EDL code
* x264 "turbo mode" to speed up first pass of multi-pass encoding
* x264 custom quantization matrices
* -delay allows real audio delay instead of just a delay in the header
* search for (deprecated!) frameno.avi is now disabled by default (use -frameno-file frameno.avi to enable)
* -o is now mandatory. You can add 'o=test.avi' in ~/.mplayer/mencoder to get the old behavior back.
* In multiple file encoding, either all or no files must have audio. Use -nosound to force.
* support for VBR MP2 encoding in toolame
* twolame support
* libavformat muxers support
* VBR audio in MPEG support
* muxer_mpeg: added an experimental film2pal teleciner and fixed previous bugs that could lead to desync and to wrong TFF/RFF flags being set
* rewritten muxer_mpeg.c: buffering and timing constraints will always be respected, provided that the muxrate is big enough

Ports:
* improved timer function on Mac OS X
* New Mac OS X "macosx" video output driver. Supported on OS X 10.4 and 10.3 with QuickTime 7 (requires QuickTime 7 SDK to build on 10.3)
* Mac OS X 10.4 (Tiger) fixes
* macosx audio output driver fixes
* preliminary support for Intel Macs
* support for playing DVDs copied to harddisk on Cygwin
* DragonFly BSD support
* liba52 ASM optimizations ported to AMD64
* configure check and compiler optimizations for VIA C3, C3-2 and Pentium-M
* configure check and compiler optimizations for AMD-64 extended
* configure can now run with cross compiling, new configure option --enable-cross-compile
* -(no)border option to get a bordered/borderless window on Windows
* Experimental AIX support
* AltiVec support fixes
* POWER5 support
* OpenGL output ported to Windows
* FreeBSD default DVD device added
* MIPS64 support
* Darwin portability fixes
* improved Debian packaging
* improved Win32 multi-monitor support
* Sun's mediaLib disabled by default on Solaris (broken and non-optimal)
* VP6 and WMVA binary codecs should now work also under FreeBSD 6

Others:
* Audio/Video synchronisation fixes
* enabled hinting for TrueType fonts
* support for file:// syntax
* -fb option removed, use the device suboption of -vo fbdev/fbdev2 instead
* full gcc 4 support
* TOOLS/vobshift.py: vobsub time-adjust tool
* TOOLS/psnr-video.sh: computes PSNR between two existing video files
* fixed auto-insertion of lavc encoder (for DXR2/3 and DVB)
* new option: -idle, to make MPlayer wait for input commands when done playing all files
* lots of new slave commands (check DOCS/tech/slave.txt)
* lots of new information provided by the -identify option
* fixed ugly looking OSD with -vo gl2 and MMX
* support for OSD localization
* -rawaudio/-rawvideo requires -demuxer rawaudio/-demuxer rawvideo
* libdvdcss updated to 1.2.9
* ~/.dvdcss is used instead of ~/.mplayer/DVDKeys for cached CSS keys
* libcdio support for CD playback
* new option -msglevel to directly control the verbosity of MPlayer modules
* -verbose option removed, use -v or "-msglevel all" instead
* -edl is now per-file in MPlayer
* new input command prefixes, "pausing_keep" and "pausing_toggle" which alter pausing state immediately after command
* environment variable MPLAYER_VERBOSE controls verbosity before the command line is parsed
* environment variable MPLAYER_HOME controls location where configuration files are searched for
* memleak fixes all over the code
* TOOLS/aconvert: allows MEncoder to encode from an audio-only file
* TOOLS/3*m_convert: D-Cinema audio and video conversion program
* TOOLS/qepdvcd.sh: anything supported to VCD/SVCD PAL/NTSC
* TOOLS/encode2mpeglight: MPEG format encoding tool using only MEncoder
* allow multiple -help clauses on the command line
* console "OSD" for audio-only files
* show total time when playing audio-only files
* support for .wpl playlists
* support for ncurses as termcap library provider
* parallel make fixed
* (improved) support for shared libav* libraries
* playback/encoding profiles support
* new property API
* new -monitorpixelaspect option to determine monitor aspect from screen resolution

There has been a Slackware package for this in LinuxPackages and i used that package and it worked. After installing, i tried to play some movies file and yes, it worked (usually MPlayer asked for many packages to be updated, but luckily for this release, it didn't ask for any other packages). If you like to watch movies in GNU/Linux, you should try this application.