Commit Graph
2432 Commits
Author SHA1 Message Date
Uoti Urpala ff2df2ac54 Merge svn changes up to r30322 2010-01-25 15:17:50 +02:00
Uoti Urpala 69fe2522f8 Merge svn changes up to r30301 2010-01-25 15:07:30 +02:00
Uoti Urpala 47a04d40f3 Merge svn changes up to r30250 2010-01-25 14:34:56 +02:00
Uoti Urpala ffc3db2239 vd_ffmpeg: fix compilation with neither VDPAU nor XvMC enabled
The get_format() function was defined under
 #if CONFIG_XVMC || CONFIG_VDPAU
but recent commit ca217f4557 added an
unconditional reference to it, causing linking to fail with an
undefined reference if neither feature was enabled. Fix by removing
the #if, there's no reason reason why it would be needed.
2010-01-21 01:09:28 +02:00
Uoti Urpala 1ef8d887d4 vd_ffmpeg: FFmpeg-mt changed has_b_frames API, update 2010-01-20 20:32:00 +02:00
Uoti Urpala d4159a7d88 vd_ffmpeg: move redundant info messages to MSGL_V level
Move two messages printed when using VDPAU/XvMC to MSGL_V level:
"[VD_FFMPEG] XVMC-accelerated MPEG-2.\n"
"[VD_FFMPEG] Trying pixfmt=%d.\n"

The first is redundant because this info is normally visible from the
decoder name, and it was also incorrectly printed in the VDPAU case
too. Add a different MSGL_V message for VDPAU.

Also make all these messages not translatable.
2010-01-20 17:21:39 +02:00
Uoti Urpala ca217f4557 vd_ffmpeg: disable callbacks for threaded decoding
MPlayer's slice and direct rendering related callbacks are not safe to
call from other threads, so disable those features if more than one
decoding thread is specified. This should fix some issues when using
threaded decoding with formats other than h264 (in the h264 case the
callbacks were already disabled for other reasons).

This commit moves most of the code that sets special avctx parameters
for VDPAU and XvMC. Before that was done after avcodec_open() based on
the selected output image format; now it's done before avcodec_open()
based on the capabilities of the selected decoder. At least the code
selecting the thread count must be before avcodec_open(), and I think
there is no reason to try to keep the previous structure otherwise
either. The image format-based approach was implemented by Reimar
with the intended goal of eventually selecting between software and
VDPAU decoders under one FFmpeg decoder type. I consider that goal to
be questionable, and the approach certainly made the existing code
significantly messier for no functionality benefit.
2010-01-20 16:31:13 +02:00
Uoti Urpala 1f126fc60c Avoid misleading error "ASS: cannot add video filter"
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.
2010-01-16 20:37:13 +02:00
reimar 3abd3dcf57 We only need to disable seeking back in ad_ffmpeg when we actually _use_
a parser, not when just needs_parsing is set.
Fixes playback of e.g. ADPCM in AVI like http://samples.mplayerhq.hu/avi/imaadpcm.avi


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30314 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-15 21:01:31 +00:00
reimar df73622d23 100l, fix typo that caused ad_hwac3 to fail to compile.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30290 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-12 19:03:49 +00:00
reimar 071490a7a5 Attempt a simple hack to fix -ac hwdts
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30288 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-12 18:37:23 +00:00
reimar 11cd52cad4 More changes needed to make ad_hwac3 truly independent from liba52.
Patch by Benoît Amiaux [benoit amiaux gmail com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30286 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 21:06:00 +00:00
reimar b27ec53011 Let the format filter do the AC3 endianness conversion instead of duplicating
the conversion code over and over.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30285 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 20:40:51 +00:00
reimar 33bc71f10d Add support for distinguishing between little- and big-endian SPDIF AC3
and converting between both.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30283 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 20:27:52 +00:00
reimar 92b91439e0 Make ad_hwac3 independent of liba52. Needs a minor amount of code duplication,
though that is already done that way for dts support in hwac3.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30280 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-11 19:43:19 +00:00
reimar 17da96da5b vf crop: do not generate 0-size slices, they are pointless and also confuse
libswscale to assume the wrong slice order.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30245 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-08 19:21:14 +00:00
Uoti Urpala 819b8f08a2 Merge svn changes up to r30236 2010-01-08 02:44:37 +02:00
Uoti Urpala 17eb7f2c4b Merge svn changes up to r30195 2010-01-08 02:06:42 +02:00
Uoti Urpala b390b9b28f Merge svn changes up to r30185 2010-01-08 01:36:05 +02:00
Uoti Urpala 231b33a02f Merge svn changes up to r30165 2010-01-08 01:05:30 +02:00
zuxy 554231067d Avoid the error message "Unsupported PixelFormat -1" for ffh264 decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30233 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-07 04:59:50 +00:00
reimar ef395a2f08 Replace deprecated sws_scale_ordered usages by sws_scale (which does the same).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30192 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 17:12:12 +00:00
reimar 8e778e5019 Add missing avcodec_close to vf_screenshot.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30185 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 15:56:33 +00:00
reimar 0eb6b9aa95 One more fix for -vf scale with alpha.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30159 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-01 01:25:35 +00:00
reimar c0cae7b327 Also pass alpha plane to swscale, avoids crashes when converting between
YUV with alpha and some other format supporting alpha.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30158 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-01 01:06:34 +00:00
reimar 8afc25d710 Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
to use it.
Fixes playback of samples in http://samples.mplayerhq.hu/FLV/flash_with_alpha/


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30157 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:45:07 +00:00
reimar c07dec1a4a Also pass the 4th plane for planar formats on to libavcodec.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30156 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:39:21 +00:00
reimar 0ff930da82 Try to put the list of output formats for vf_scale in a more sensible
order.
While the 16-bit yuv formats should not be preferred over the 8-bit ones,
it seems reasonable to probe them directly after the equivalent 8-bit formats.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30155 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 23:25:21 +00:00
reimar a994808e31 Deduplicate the mp_image planes allocation code.
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
2009-12-31 23:09:35 +00:00
reimar a326622304 Add support for 16-bit per component YUV formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30152 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 22:53:25 +00:00
reimar 22c0b2ed57 Support 440P in scale filter.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30142 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 12:06:09 +00:00
reimar cc46a64a26 Add support for 440p colorspace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30140 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 12:03:17 +00:00
reimar 92f20f876f Add a helper function to get the chroma scale shift and use to simplify mpi setup.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30138 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 11:08:44 +00:00
Uoti Urpala d46b86bc7c Merge svn changes up to r30136
Ignore another broken correct-pts change in 30134.
2009-12-30 00:56:10 +02:00
Uoti Urpala 57ce95b96a audio: Remove fixed decode_audio() return size limit (MAX_OUTBURST)
A couple of months ago MPlayer's ALSA driver started rounding the
amount of input data it was willing to accept in one call down to an
integer multiple of the value it set in ao_data.outburst. In some
configurations it was possible for this value to exceed the 64 KiB
limit on the amount MPlayer was willing to write in a single call to
the AO. As a result ao_alsa accepted 0 bytes in each play() call and
audio playback failed. Fix this by removing the fixed 64 KiB limit on
the amount of audio sent to AO at once; the limit was mostly a remnant
of older code anyway.
2009-12-29 15:51:59 +02:00
Uoti Urpala d7d8babe61 cosmetics: Revert old dec_audio.c code uglification
Revert 3 old code uglification changes that were done with the excuse
of gcc-2.95 support. The last reverted change was a fix to a bug
introduced in the middle change.

Revert "10l, len may change after initialization time"

This reverts commit ae9db277c7.

Revert "fix declaration after statement, take 2"

This reverts commit 4bceedee93.

Revert "fix declaration after statement"

This reverts commit aef0374c1c.
2009-12-28 22:08:46 +02:00
reimar ca2af2d0e7 Add support for parsing audio streams (though should be easy to extend to video)
via libavcodec.
Parsing can be done at the demuxer stage (currently disabled) or at the decoder
(ad_ffmpeg, enabled).
Should allow using the libavcodec AAC, DTS, ... decoders independent of container
format.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30130 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-27 15:28:01 +00:00
reimar afc5a627d8 Support mp_image with allocated palette.
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
2009-12-26 11:51:19 +00:00
reimar bd06a94738 Remove only use if MP_IMGFLAG_RGB_PALETTE to allow giving the flag a slightly
different meaning.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30115 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 11:33:45 +00:00
reimar 929a159f69 Restore the old value of planes[1] in vf_palette at the end to ensure
we do not call free() on the fixed gray_pal array.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30114 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-26 11:11:41 +00:00
reimar 6023874828 Some ugly hacks to make compiling against a newer external version of libass work.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30107 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-24 10:51:24 +00:00
reimar 2908957147 Remove more direct includes of libass/ass.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30105 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-24 10:26:29 +00:00
Uoti Urpala 15f812898f vf: Fix filter enabling logic for vf_uspp and vfs using lavc internals
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.
2009-12-07 01:51:37 +02:00
Uoti Urpala 7044965988 vf_vo: Use vo_seek_reset() instead of vo_control()
Change the vo_control(vo, VOCTRL_RESET, NULL) call done when the vf_vo
filter is uninited to vo_seek_reset(vo). The latter also sets
vo->frame_loaded to false.

Remove the vo->config_ok check from vo_seek_reset(). The reset call
should be doable even if config failed.
2009-12-02 12:50:56 +02:00
Uoti Urpala ed333bb31d Merge svn changes up to r29971 2009-11-29 06:11:02 +02:00
attila ea6fe5dc40 when using -v, print also which lavc codec has been used, not
just that the init was ok


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29970 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-28 18:01:54 +00:00
Uoti Urpala 5995bc175a Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
reimar b01af7a428 Fix initialization values for vf_expand priv struct.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29958 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:26:57 +00:00
reimar 86e0273c14 Remove unused variable.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29957 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:25:07 +00:00
reimar 2959f9e032 Add const to draw_slice argument to match what FFmpeg expects for draw_horiz_band.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29956 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-22 13:18:12 +00:00