openbsd-ports/x11/mplayer
jca feb45f90be Fix ffmpeg API usage, lets this build with clang 15
Maintainer timeout
2023-01-24 17:48:32 +00:00
..
files
patches Fix ffmpeg API usage, lets this build with clang 15 2023-01-24 17:48:32 +00:00
pkg drop RCS Ids 2022-03-11 20:15:18 +00:00
Makefile Fix ffmpeg API usage, lets this build with clang 15 2023-01-24 17:48:32 +00:00
README drop RCS Ids 2022-03-11 20:15:18 +00:00
distinfo update to mplayer-20211106, from Brad, ok sdk@ 2021-12-07 20:03:57 +00:00

README

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>