to version 1.0rc2 (as 1.0rc10).
Changes since version 1.0rc1 (known as 1.0rc9 in "pkgsrc"):
- A lot of new audio and video decoders and other improvements
- A large number of bug fixes
- Updated documentation
- Support for Mac OS X Intel
Approved by Thomas Klausner (because it fixes the Darwin-i386 build).
Check wLongsPerEntry before using it.
This fixes a potential crash for some values of it.
As a side effect it works around broken callocs with an integer
overflow vulnerability, but using MPlayer on such systems should
never be assumed to be safe!
This should fix SA26806 (http://secunia.com/advisories/26806/).
bump PKGREVISIONs
to target a pentium pro if mplayer-runtime-cpudetection is enabled
then at least put it under an option so it can be turned off:
mplayer-default-cflags
For example, all of my machines are p3 or better, so I prefer to
use "-march=pentium3 -mfpmath=sse -msse2", but I still want
mplayer-runtime-cpudetection to handle amd64 / Intel core at runtime.
is upstream 1.0rc1, but we already used rc for the previous versions).
With valuable help from drochner, thanks!
ChangeLog:
MPlayer 1.0rc1: "Codename intentionally left blank"
DOCS:
* German documentation translation finished
* Russian documentation translation synced and almost finished
Drivers:
* IVTV hardware MPEG audio/video decoder output
* ALSA audio output: AC3 passthrough now works even when the device name of the digital output port has been set by the user
* bicubic OpenGL scaling works with ATI cards
* md5sum switched to the libavutil MD5 implementation
* support for libcaca 1.0 via compatibility layer
Decoders:
* liba52 updated to 0.7.4 (slightly faster)
* SSE optimizations for mp3lib
* removed support for obsolete and non-free divx4 libraries
Demuxers:
* audio stream switching in MPEG-TS/PS, Matroska and streams supported by libavformat
* audio stream switching between streams with different codecs
* libavformat demuxer now honors -alang
* chapter seeking in Matroska files
* fixed seeking to absolute and percent position for libavformat demuxer
* NUT demuxer using libnut
* Matroska SimpleBlock support
Inputs:
* split of stream layer from libmpdemux to new stream library
* PVR input for hardware MPEG encoder based cards, such as Hauppauge WinTV PVR-150/250/350/500 AKA IVTV but also pvrusb2 and cx88 (requires Linux >= 2.6.18 kernel, featuring native V4L2 MPEG API)
* native RTSP input (handles MPEG-TS over RTP) for generic RTSP servers
* support for seeking to chapters in dvd:// and dvdnav:// streams
* radio support (radio://)
FFmpeg/libavcodec:
* VC-1/WMV3/WMV9 video decoder
* Vorbis decoding speedup, now default Vorbis decoder
* VMware Video decoder
* On2 VP50 and VP62 decoder
* lossless audio decoders: WavPack, TTA, Shorten
* CAVS decoder
* GXF muxer/demuxer
* MXF demuxer
* much improved FLAC encoder
* more H.264 decoding speed improvements, plus support for -lavdopts fast
* Theora decoder fixes
* preliminary Vorbis encoder
* MTV demuxer
GUI:
* Windows version added
* drag-and-drop ignored last file
* save and load cache setting correctly
* working audio stream selection for Ogg and Matroska files
* executable names like gmplayer_old etc. will now start GUI as well
* -gui/-nogui options
* xinerama fixes, now behaves similar to MPlayer without GUI
Filters:
* MMX-optimizations for -vf yadif
* MMX-optimizations for -vf zrmjpeg
MEncoder:
* support of x264 encoding via libavcodec
* rewrite -x264encopts option parser to use the 264 option parser; likely breaks 3rd party tools as the syntax of some options has changed
* removed support for obsolete and non-free divx4 libraries
Ports:
* partial Intel Mac support, --disable-win32 --disable-mp3lib is needed
* OpenGL can now create windows > screen size under Windows
* allow filenames starting with \\ for remote paths on Windows
Others:
* SSA/ASS subtitle renderer
* -endpos option for MPlayer
* -correct-pts option
* UTF-8 used for OSD and subtitles, some bitmap fonts will no longer work correctly and -subcp must be set for all non-UTF-8 subtitles
* more audio-truncation fixes
* libavutil mandatory for MPlayer compilation
* more intuitive -edlout behaviour
* -nortc is now default since -rtc has disadvantages with recent kernels
too many changes to list here, see the ChangeLog
most visible: security patches and DragonFly support were intrgrated
upstream, new gmplayer look&feel (like it or not...)
which we had a patch for
-add another patch from the Mplayer site which fixes CVE-2006-0579
(ASF demuxer overflows)
bump PKGREVISIONS of mplayer, mencoder and gmplayer
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
aalib-x11 and aview-x11.
SDL dependencies change, so bump PKGREVISION (and BUILDLINK_RECOMMENDED)
for affected packages.
Addresses PR 32046 by Leonard Schmidt.
"A vulnerability in FFmpeg libavcodec can be exploited by malicious people
to cause a DoS (Denial of Service) and potentially to compromise a user's
system."
http://secunia.com/advisories/17892/
Fix from ffmpeg CVS repository, libavcodec/utils.c rev. 1.162:
"default_get_buffer() cleanup
fixes probably exploitable heap overflow
heap overflow found by (Simon Kilvington)"
This means that the MPLAYER_ENABLE_RUNTIME_CPU_DETECTION,
MPLAYER_DISABLE_DRIVERS and MPLAYER_USE_MEDIALIB become deprecated
(although still recognized).
Visible changes in the resulting binary packages should be minimum by
default (everything that was enabled before still is, and the same
dependencies are kept). A notable addition, though, is the support for
user-defined menus, closing PR pkg/29784.
Also note that (almost) all dependencies have now a corresponding option
to disable them in case you want to get a minimalist mplayer package.
'make show-options' is your friend ;)
With thanks to wiz@ and dillo@ for their comments and help.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
some relevant changes:
-RTSP/MMST security patches now in main distribution
-documentation improvements
-x86_64 support fixes
-integrated Tremor decoder for Ogg/Vorbis
-expose support for 422P and 444P raw formats
-dropped support of old FAAD2 versions (<= 1.1)
-support for 32 bit float and extended WAV files
-support for multichannel WAV files
-ALAC (QuickTime lossless audio) support via lavc
-vqf demuxer
-support for Real multirate files
-more user-friendly info about audio and subtitle tracks in Ogg files
-streaming improvements
-ffmpeg updates
-MEncoder usability improvements
-many fixes and cleanups
This release updates and enhances documentation and translations, adds full X86-64 support, adds 18
new codecs, updates various codecs, adds special CPU saving options for low end machines, adds
better support for MacOS X and Windows, and adds uncountable fixes and enhancements all over the
place.
Changes since version 1.0pre5:
- buffer overflow in mp3lib fixed
- heap overflow in Real rtsp streaming code fixed
- stack overflow in mmst streaming code fixed
- unnecessary bmp demuxer removed because of buffer overflows
- heap overflow in pnm streaming code fixed
This fixes the vulnerabilities reported by iDEFENSE recently.
DOCS
* small additions, corrections, updates all over the place
* audio output driver section added to the man page
* several bug fixes and improvements in the MEncoder documentation
* DVD ripping guide extended and improved
* AUTHORS file massively extended
* German man page partially updated
* Hungarian XML documentation translation started
Ports
* encrypted DVD playback on Windows fixed (again)
* Cygwin and MinGW now accept the same -dvd-device syntax
* LIVE.COM now works under MinGW
* foundations for MinGW crosscompilation
* disabled SSE on MinGW as it caused crashes
* AC3 passthrough for ao_win32
* improved vo_quartz (YUV, multiple screens support)
* vo_quartz made default on Mac OS X
* ao_macosx fixed and made default again on Mac OS X
* RealVideo binary codecs support on Mac OS X (still buggy)
* bigendian fixes in vf.c, vo_tga
* OpenBSD portability fixes
* OpenBSD/VAX support
* AMD64 support
Drivers
* support for more Radeons (9800 XT among them) in VIDIX
* Radeon related bug fixes in VIDIX
* vo_gl2 now supports GUI, fix for flickering borders in fullscreen
* support 24 and 32 bit PCM files, bigendian fixes
* ao_sdl now converts unsupported formats instead of quitting
* ENCA support
* merged ao_alsa9 and ao_alsa1x drivers into ao_alsa
* NeoMagic TV-out support through VESA
* JACK audio output driver
* vo_sdl fixes (wrong flags and screensaver disabling)
* vo_directx fixes
Decoders
* MSZH/ZLIB, FLI, QTRLE, RoQ video and RoQ audio support moved to FFmpeg
* FFmpeg Cinepak and CYUV decoders preferred
* audio format 0xff support (is AAC)
* "raw" audio in MOV supported
* Indeo audio (iac25) support via binary codec
* upgrade libfaad2 to the FAAD 2.0 release
* MPEG2 chroma422/444 support
* Winnov WINX and WNV1 support via binary codec
Demuxers
* Ogg subtitle handling and other bug fixes
* Matroska improvements
* support seeking in Real files without -idx
* support seeking in Real files without index with -forceidx
Streaming
* ASF, MMST streaming fixes
* URL escaping fixed
* NSA (Nullsoft audio) streaming support
* embedded RAM playlist support
* multibyte URL support
* rtp:// now supported even with LIVE.COM compiled in
* miscellaneous bug fixes
Filters
* vf_softskip: frame skipping filter for MEncoder
* vf_harddup: frame duplication filter for MEncoder
* vf_pullup minor fixes and improvements
* AltiVec-optimized YUV to RGB converter
* vf_spp memory corruption fix on reallocation
FFmpeg/libavcodec
* MPEG2 encoding with 8, 9, 10, 11 bit intra DC precision
* DC clipping fix, intra_dc_precision > 0 support
* Cinepak fixes and palette support
* support skipping of MB rows during decoding
* Vorbis in NUT fixed
* NUT updated to latest specification
* segfault and artifact fixes in SVQ3 decoder
* motion estimation code: overflow and chroma fixes
* change qscale -> lambda for the motion estimation
* noise preserving sum of squares comparison function in ME code
* fixed memory overwrite in truemotion decoder
* clip input motion vectors, better error tolerance on bad vectors
* FLAC decoder cleanup (partial demuxer/decoder separation)
* memalign hack for SSE/SSE2 on that alternative OS :)
* lots of AltiVec optimizations
* qscale + qprd fix
* QTrle4 support
* H.261 decoder
* coefficient saturation fix in H.263
* H.263 MCBPC fix
* per line lowpass filter in MMX and faster C lowpass filter
* SVQ1 encoder
* as usual, lots of bug fixes and optimizations
Others
* fullscreen fixes for many window managers
* fix crash on original Pentiums and older
* dvd://start-end support
* netstream (mpst://) support fixed
* support comments in plaintext playlists
* loader/ dependency removed
* keepaspect option extended to all video output drivers
* WMA to Ogg conversion and simple subtitle editing script added to TOOLS
* support for more lame options
* new set of GUI icons
* memory conserving implementation of GUI potmeters
* X11 code reindented
* further gcc 3.4 support fixes
* mixer API written for changing volume through libaf
* -rtc-device option for specifying the RTC device
* desktop/menu icon added
* miscellaneous bug fixes and cleanups
* multi-threaded encoding with lavc
* fixed a bug with Real files introduced in pre4
* -use-stdin renamed to -noconsolecontrols
distinfo file and that both the gmplayer and mplayer-share distinfo
files must be maintained.
(out of 25 files between them, only 3 were actually shared.. oops)
MPlayer 1.0pre4: "YAML Counter"
Security:
* HTTP parser remote heap overflow vulnerability fixed
[already fixed in package previously]
* Real RTSP remote buffer overflow vulnerability fixed
* buffer overflow in the Matroska demuxer
* potentially exploitable buffer overflow in CDDB TOC code
DOCS:
* new Copyright file covers files from other projects and their licenses
* new DOCS/tech/translations.txt explains how to properly translate MPlayer
* new Japanese console message translation
* Polish translation finished
* Italian man page translation
* DVD ripping guide
* telecine/interlacing guide
* video out driver section added to the man page
* XML build system rewritten - now supports building individual languages
* miscellaneous updates all over the place
Ports:
* better PA-RISC detection
* support for VAX (tested on VAXstation 4000/VLC) -- really, believe me!
* optimizing for specific MIPS CPUs under IRIX
* AMD64 detection under BSDs
* fbdev driver updated for Linux 2.6
* support for ELF only OpenBSD
* optimizing for PPC 970 (aka G5)
* SDL support fixed on MinGW
* VIDIX working under Windows XP/2000 (native dhahelper)
* builds out of the box under GNU Hurd
* SSE optimizations enabled under MinGW
* SSE support under OpenBSD
* AltiVec support under NetBSD
* GCC 3.4 support (due to changed behaviour in ASM code snippets)
Demuxers:
* Matroska containing RealVideo works better
* fixed random segfaults in VIVO
* endianess fixes in CDDA
* UYVY support in tvi/v4l2
* tvi/bsdbt848 now working under FreeBSD 5.2-CURRENT
* tvi/bsdbt848 audio part working under NetBSD
* LIVE.COM demuxer updated to conform with latest libraries
* new, independent, C implementation of the Matroska demuxer
* fix for rare Real files
* more robust Real demuxer (can resync after errors)
* support for AAC inside Real
* MPEG Aspect code 4 fixed
* support for selecting subtitle streams with -slang inside Ogg
* wrapper demuxer for FFMpeg's libavformat (Nut is playable this way)
* much improved seeking in Ogg
* Nullsoft streaming video (NSV) demuxer
* AVI OpenDML read and write support
Streaming:
* smil playlist parser
* support for URL redirection
* support for seeking in HTTP streams
* updated LIVE.COM streaming code
* fallback to live.com RTSP after Real RTSP
* suggests -playlist if normal streaming fails
* many improvements and bug fixes in the streaming code
Decoders:
* compilation failure without zlib in vd/lcl fixed
* removed obsoleted decoders (which were moved to libavcodec), affected: vd/8bps, vd/msrle, vd/msvideo1, vd/rpza, vd/smc
* workaround for buggy codecs in ad/acm (support for Sharp G.726)
* fixed chroma-swapping in Hauppauge Macroblock decoder
* AltiVec optimized resampler in liba52
* support for VP5 and VP6 DLL decoders
* support for Alparysoft lossless video codec (through DLLs)
* support for Lead MCMW wavelet video codec (through DLLs)
* HE-AAC working through libfaad
* removed libmpflac in favor of FFmpeg's FLAC implementation
* liba52 dynamic range compression support
Filters:
* vf_bmovl bugfixes
* vf_filmdint now handles 15fps NTSC input
* huge updates and speedup on vf_pullup
* big updates to vf_ilpack (proper interpolation and MMX optimizations)
* vf_zrmjpeg: fast MJPEG encoder using libavcodec for Zoran
* interlaced scaling support in vf_scale
* vf_kerndeint: adaptive deinterlacer
* vf_rgbtest: rgb test pattern generator for developers
* vf_qp: qp change filter
* vf_noformat: the same as vf_format but with reversed meaning
* AltiVec optimized SWScaler
* vf_phase: phase shift fields
* vf_divtc: duplicate frame removal from deinterlaced telecined video
Drivers:
* ao/esd behaves better over network now
* support for Radeon 9200/9600/9600 Pro/9700 in VIDIX
* -mixer support for alsa9
* fixed OSS audio grabber module with hardware not supporting 44khz
* native ALSA 1.x support (not through 0.9 emulation)
* better multibuffer support in VIDIX nVidia driver
* pan & scan support in VIDIX nVidia driver
* support for more cards in VIDIX nVidia driver
* vo_libcaca: color ASCII art output driver
* vo_quartz: native MacOS X/Quartz video output
* support for VIDIX when ATI FireGLX drivers are used
FFmpeg/libavcodec:
* H.263 AIC and MQ encoding support
* fixed low delay decoding
* fixed H.263+ encoding without UMV
* lots of CBR improvements
* MB type and QP visualization
* lots of code cleanup
* intra & inter dequantization split -> speedup
* fixed stereo IMA ADPCM encoding
* VBV delay setting support (MPEG2 CBR)
* improved RV20 decoder (most known errors eliminated)
* interlaced DCT
* interlaced motion estimation
* interlaced MPEG2 encoding
* 4MV encoding fixes
* initial interlaced MPEG4 encoding
* improved visual quality in SVQ3 decoder
* fixed never-before-tested embedded string decoder in SVQ1
* optimized quantization (including the trellis way)
* Sierra VMD video decoder
* MMX and SSE2 optimized H263 denoiser
* better SVCD compliance (encoder side)
* MMX and MMX2 optimized interlaced DCT decision
* various cleanup, memleak and segfault fixes
* optimized (2x faster) the MPEG layer 3 decoder
* grayscale coded MJPEG decoding support
* avimszh and avizlib decoders
* "packed" XviD decoding
* fixed some bugs in RV20 B-frames decoding
* closed GOP encoding
* SSE2 optimized FDCT
* support for quantizer noise shaping
* support for EA ADPCM and SMJPEG IMA ADPCM
* QT RLE decoder
* OBMC fixes
* FLAC decoder
* better support for DivX5
* MMX and SSE2 optimized VP3/Theora decoding
* support for Theora alpha3
* many H.264 improvements
* more robust MJPEG startcode search mechanism
* better WMV8 decoding
* native Sparc VIS optimizations
* native G.726 codec
Others:
* -codecs-file option for specifying alternative codecs.conf file
* fixed some minor bugs in the GUI
* prevent sig11 when $HOME is not set
* fix some command line handling corruptions
* Swedish and Polish yes/no options in config files
* support binding F11 and F12 keys
* TOOLS/divx2svcd updated
* stricter thread code in Win32 loader (works under NetBSD)
* PJS subtitle support (was: dunnowhat)
* TOOLS/avifix: simple tool to fix chunk sizes in AVI files
* proper extraheader handling when libavcodec is used in MEncoder
* AVI OpenDML read and write support
* AVI VPRP (video property) read and write support
* fixed long standing lame quality option off-by-one bug in MEncoder
* MPL2 subtitle support
* less verbosity in Win32 loader and other places