alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
- workaround name conflict with system header <arm/bswap.h> in libavutils
by subst.mk replacement
- explicitly disable armv5te, armv6, and armv6t2 options that are enabled
by autodetect code in configure but cause illegal instruction errors
on StrongARM and XScale machines
Tested on NetBSD/hpcarm (WS011SH) and NetBSD/shark (Funai's DNARD) 5.99.38.
The builtin libavcodec now uses yasm to assemble hand written
h264 code. The older x264 we currently have in pkgsrc is not supported
by mplayer, so I had to do some hand tweaking to make it work.
It may contain bugs because of this, so report any fallouts with h264.
(stack-based buffer overflow in the str_read_packet function in
libavformat/psxstr.c)
-add (a modified version of) the ffmpeg 4xm patch which fixes
possible memory corruption
bump PKGREVISION
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