openbsd-ports/x11/mplayer
2021-12-07 20:03:57 +00:00
..
files
patches
pkg
distinfo
Makefile
README

$OpenBSD: README,v 1.6 2013/09/06 23:14:40 brad Exp $

Porting notes for MPlayer
=========================

In addition to the comments in Makefile, porters should also read these
notes:

FFmpeg Linkage
--------------

We link the shared libraries from the graphics/ffmpeg port. This is what
--disable-ffmpeg_a does, however we still need the FFmpeg sources in the
build dir for this to work, hence we depend upon FFmpeg as a build dependency.

Ensure that FFmpeg was dynamically linked by using ldd on the MPlayer
binary and searching for one of the FFmpeg libs in the listing (eg.
libavcodec).

Selecting Codec Implementations
-------------------------------

As a general rule, we prefer to use FFmpeg implementations, but only if
they are good quality. If this is the case, try not to pull in external
codec libraries for the same codec.

There is an exception to this rule, which is where an external library
provides an encoder and decoder, and there is a decoder for the given
codec in FFmpeg, but no encoder; in such a case, go ahead and link the
external library so that users can encode with Mencoder.

Be aware that some hardware lacks a floating point unit (ARM for
example).  On these architectures, you should select integer decoders
where possible. Eg. Tremor instead of Vorbis.

External FAAC linkage (and graphics/ffmpeg's external FAAC linkage)
was disabled due to conflicting licenses. Only the FFmpeg's
internal "ffaac" encoder remains for use with encoding AAC in Mencoder.
https://bugs.launchpad.net/ubuntu/+source/faac/+bug/374900

Rolling a Distfile
------------------

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer-YYYYMMDD
cd mplayer-YYYYMMDD
./version.sh (this should create a version.h)
find . -name '.svn' | xargs rm -Rf
cd ..
tar cvf - mplayer-YYYYMMDD | xz -c -8e > mplayer-YYYYMMDD.tar.xz

Testing Mencoder
----------------

See here to know what you can contain it what:
http://en.wikipedia.org/wiki/Comparison_of_container_formats

Make a H.264 / MP4 (although lavc containers are somewhat broken in Mencoder):
mencoder -ovc x264 -of lavf -lavfopts format=mp4 -nosound -o out.mp4 <infile>