libpostproc has been removed from Libav and the library now exists as
a separate project. Because it's not essential, separate it from the
Libav library check and allow compiling without it.
Require versions of the Libav libraries corresponding to Libav release
0.7. These are:
libavutil 51.7.0
libavcodec 53.5.0
libavformat 53.2.0
libswscale 2.0.0
libpostproc 52.0.0
Also disable the fallback to simple header check if these libraries
could not be found with pkg-config; now compiling without pkg-config
support for these always requires explicitly setting --enable-libav
and any needed compiler/linker flags. The simple check would have let
compilation proceed even if a version mismatch was detected.
Recent commit 5d5ca22a6d ("options: commandline: accept --foo=xyz
style options") left some bad code under "#ifdef MP_DEBUG" in
playtree.c, which caused a compilation failure if configured with
"--enable-debug". Fix this. Having the "#ifdef MP_DEBUG" there was
completely unnecessary; it only increased the risk for this kind of
problems for no real benefit - executing the asserts under it would
have no noticeable performance or other penalty in default builds
either. Remove several cases of such harmful "#ifdef MP_DEBUG".
Libavutil eval API seems to be enough for vf_qp, so enable the filter
if the API is available. Also clean up some left over lines for other
filters in Makefile.
Many video filters failed to calculate or even just pass through pts
values for their output frames. Fix this, and also make the two
remaining filters that called vf_next_put_image() twice for the same
input frame (vf_softpulldown, vf_telecine) use vf_queue_frame() so
that e.g. framestepping properly sees both frames.
Changed filters: vf_bmovl, vf_detc, vf_divtc, vf_filmdint, vf_ivtc,
vf_lavc, vf_phase, vf_pullup, vf_softpulldown, vf_telecine, vf_tile,
vf_tinterlace.
There were multiple files specific to Zoran support, and they also
depended on internal FFmpeg headers (so it would probably have been
hard to get them to compile now even if you tried). It's obsolete now,
so just drop the whole mess.
Further review very welcome, but it is time (and good enough) to add this.
Patch by Gordon Schmidt [gordon.schmidt s2000.tu-chemnitz de] with
changes by Endre Kollár [taxy443 gmail com].
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32527 b3059339-0415-0410-9bf9-f77b7e298cf2
Enable all of libavcodec, libavformat, libswscale, and libpostproc
together (libavutil is always required).
based on svn commit by diego:
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32226 b3059339-0415-0410-9bf9-f77b7e298cf2
Nothing should depend on libswscale internals any more, so re-enable
everything. vf_palette and vf_halfpack were actually fixed earlier but
were not properly enabled.
Its functionality has been superseeded by sws by quite some time, and
the "swap" functionality is now provided by vf_format.
see http://comments.gmane.org/gmane.comp.video.mplayer.devel/55804 for
a full discussion.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31350 b3059339-0415-0410-9bf9-f77b7e298cf2
Change 'struct vf_instance' pointer arguments to more standard style
as in the subject. Also some other minor formatting fixes.
Patch by Diego Biurrun.
Note that r30455 is wrong, that commit does not in fact change the
default behavior as claimed in the commit message. It only breaks
"-af-adv force=0", which was already pretty much useless though.
Tweak some code parts that used to rely on string literals from
translation macros being concatenated with other adjacent string
literals. Break up the resulting string into independently translated
parts, so that the existing translations for those parts can still be
used.
Enable ASS/SSA rendering through libass in mencoder. This duplicates a
bit of code (to parse font attachments, for example). Additionally, add
a filter "fixpts" that generates PTS, simulating fixed fps. PTS
generated by this filter are then used for subtitle timing.
Original patch by Nicolas George. (nicolas.george normalesup.org)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30849 b3059339-0415-0410-9bf9-f77b7e298cf2
This avoids clashes with fcntl.h under certain circumstances.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30680 b3059339-0415-0410-9bf9-f77b7e298cf2
When using libass with a VO that has direct EOSD support the vf_ass
video filter is unnecessary and is not added automatically, but the
code that adds the filter when it is needed produced misleading output
messages in this case. The following two messages were printed at
MSGL_ERR level, making it look like an error condition:
Couldn't open video filter 'ass'.
ASS: cannot add video filter
Add a version of vf_open_plugin() called vf_open_plugin_noerr() that
does not itself print an error message if opening a vf fails and that
returns the exact status code returned by the vf open() function. Make
vf_ass return a different status code depending on whether there was
an actual error or if it determined a filter would be redundant. Use
the _noerr function in the code adding the filter to avoid the first
message and check the status code to avoid the second.
The code in vf.c and mp_image.c is almost the same, though the one in vf.c
is more up-to-date/has more bug fixes and thus is used as the basis
(which is why the diff is so big).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30154 b3059339-0415-0410-9bf9-f77b7e298cf2
Fixes playback and a memory leak for FFmpeg codecs which use reget_buffer
with paletted data, e.g. cdgraphics.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30116 b3059339-0415-0410-9bf9-f77b7e298cf2
Move vf_uspp from the list of filters depending on internal non-API
FFmpeg code to the list of filters only depending on libavcodec
normally - at least it doesn't need any internal headers, and I don't
see other obvious unsafe non-API usage either.
Change a leftover CONFIG_LIBAVCODEC_A test to the now correct
CONFIG_LIBAVCODEC_INTERNALS to actually allow using the video filters
requiring non-API libavcodec internals when --ffmpeg-source-dir was
specified.
The following are affected: vo_yuv4mpeg, vf_halfpack, vf_palette,
vf_rgb2bgr, vf_yuy2, vo_mga, vo_xmga. In vo_yuv4mpeg, only disable
RGB support (which is probably little used). Others are disabled
completely for now.
vo_mga and vo_xmga are disabled by preventing configure from enabling
them. The rest is placed under LIBSWSCALE_INTERNALS variable which
isn't currently enabled anywhere.
Convert vo_x11_border (used in vo_gl/gl2 though the vo_gl_border
macro) to use a wrapper macro in old-style VOs which do not provide a
VO object argument. Before this function had an explicit global_vo
argument in vo_gl/gl2. New vo_vdpau uses it too so use the same
mechanism as most other functions.